Fix webgl crash issue.
[framework/web/webkit-efl.git] / Source / WebCore / ChangeLog-2010-01-29
1 2010-01-29  Mark Rowe  <mrowe@apple.com>
2
3         Fix the Mac build.
4
5         Disable ENABLE_INDEXED_DATABASE since it is "completely non-functional".
6
7         As the comment in FeatureDefines.xcconfig notes, the list of feature defines
8         needs to be kept in sync across the various files.  The default values also
9         need to be kept in sync between these files and build-webkit.
10
11         * Configurations/FeatureDefines.xcconfig:
12
13 2010-01-29  Steve Falkenburg  <sfalken@apple.com>
14
15         Reviewed by Darin Adler.
16
17         Timeout for client-based Geolocation shouldn't start until user gives consent
18         https://bugs.webkit.org/show_bug.cgi?id=34352
19
20         * page/Geolocation.cpp:
21         (WebCore::Geolocation::startRequest): Don't start timer if we're blocked on user consent.
22         (WebCore::Geolocation::setIsAllowed): Start timer after user gives consent.
23
24 2010-01-29  Jakob Petsovits  <jpetsovits@rim.com>
25
26         Reviewed by Nikolas Zimmermann.
27
28         [OpenVG] Implement more graphics primitives
29         https://bugs.webkit.org/show_bug.cgi?id=34339
30
31         Adds lines, arcs, ellipses, polygons and rounded
32         rectangles to PainterOpenVG and GraphicsContext.
33
34         Rounded rects support by Eli Fidler <efidler@rim.com>.
35
36         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
37         (WebCore::GraphicsContext::drawLine):
38         (WebCore::GraphicsContext::drawEllipse):
39         (WebCore::GraphicsContext::strokeArc):
40         (WebCore::GraphicsContext::drawConvexPolygon):
41         (WebCore::GraphicsContext::fillRect):
42         (WebCore::GraphicsContext::fillRoundedRect):
43         (WebCore::GraphicsContext::drawFocusRing):
44         (WebCore::GraphicsContext::drawLineForText):
45         (WebCore::GraphicsContext::clearRect):
46         (WebCore::GraphicsContext::strokeRect):
47         * platform/graphics/openvg/PainterOpenVG.cpp:
48         (WebCore::PainterOpenVG::drawRect):
49         (WebCore::PainterOpenVG::drawRoundedRect):
50         (WebCore::PainterOpenVG::drawLine):
51         (WebCore::PainterOpenVG::drawArc):
52         (WebCore::PainterOpenVG::drawEllipse):
53         (WebCore::PainterOpenVG::drawPolygon):
54         * platform/graphics/openvg/PainterOpenVG.h:
55
56 2010-01-29  Jeremy Orlow  <jorlow@chromium.org>
57
58         Reviewed by Dimitri Glazkov.
59
60         A first step towards the Indexed Database API
61         https://bugs.webkit.org/show_bug.cgi?id=34342
62
63         Flesh out the first part of Indexed Database API.
64         Currently only compiles with v8 + chromium for now.
65         Completely non-functional, but it seems best to do
66         this in chunks.
67
68         No tests because nothing works yet.
69
70         * Configurations/FeatureDefines.xcconfig:
71         * WebCore.gypi:
72         * bindings/scripts/CodeGeneratorV8.pm:
73         * bindings/v8/DOMObjectsInclude.h:
74         * bindings/v8/DerivedSourcesAllInOne.cpp:
75         * bindings/v8/RuntimeEnabledFeatures.cpp:
76         * bindings/v8/RuntimeEnabledFeatures.h:
77         (WebCore::RuntimeEnabledFeatures::setIndexedDatabaseEnabled):
78         (WebCore::RuntimeEnabledFeatures::indexedDatabaseEnabled):
79         * bindings/v8/V8Index.cpp:
80         * bindings/v8/V8Index.h:
81         * bindings/v8/custom/V8DOMWindowCustom.cpp:
82         (WebCore::V8DOMWindow::IndexedDBEnabled):
83         * bindings/v8/custom/V8IDBRequestCustom.cpp: Added.
84         (WebCore::V8IDBRequest::resultAccessorGetter):
85         * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp: Added.
86         (WebCore::V8IndexedDatabaseRequest::openCallback):
87         * dom/EventNames.h:
88         * page/DOMWindow.cpp:
89         (WebCore::DOMWindow::indexedDB):
90         * page/DOMWindow.h:
91         * page/DOMWindow.idl:
92         * storage/IDBDatabaseError.h: Added.
93         (WebCore::IDBDatabaseError::create):
94         (WebCore::IDBDatabaseError::~IDBDatabaseError):
95         (WebCore::IDBDatabaseError::code):
96         (WebCore::IDBDatabaseError::setCode):
97         (WebCore::IDBDatabaseError::message):
98         (WebCore::IDBDatabaseError::setMessage):
99         (WebCore::IDBDatabaseError::IDBDatabaseError):
100         * storage/IDBDatabaseError.idl: Added.
101         * storage/IDBDatabaseException.h: Added.
102         (WebCore::IDBDatabaseException::create):
103         (WebCore::IDBDatabaseException::~IDBDatabaseException):
104         (WebCore::IDBDatabaseException::code):
105         (WebCore::IDBDatabaseException::setCode):
106         (WebCore::IDBDatabaseException::message):
107         (WebCore::IDBDatabaseException::setMessage):
108         (WebCore::IDBDatabaseException::IDBDatabaseException):
109         * storage/IDBDatabaseException.idl: Added.
110         * storage/IDBRequest.cpp: Added.
111         (WebCore::IDBRequest::IDBRequest):
112         (WebCore::IDBRequest::~IDBRequest):
113         (WebCore::IDBRequest::abort):
114         (WebCore::IDBRequest::eventTargetData):
115         (WebCore::IDBRequest::ensureEventTargetData):
116         * storage/IDBRequest.h: Added.
117         (WebCore::IDBRequest::create):
118         (WebCore::IDBRequest::readyState):
119         (WebCore::IDBRequest::error):
120         (WebCore::IDBRequest::result):
121         (WebCore::IDBRequest::scriptExecutionContext):
122         (WebCore::IDBRequest::toIDBRequest):
123         (WebCore::IDBRequest::refEventTarget):
124         (WebCore::IDBRequest::derefEventTarget):
125         * storage/IDBRequest.idl: Added.
126         * storage/IndexedDatabaseRequest.cpp: Added.
127         (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
128         (WebCore::IndexedDatabaseRequest::~IndexedDatabaseRequest):
129         (WebCore::IndexedDatabaseRequest::open):
130         * storage/IndexedDatabaseRequest.h: Added.
131         (WebCore::IndexedDatabaseRequest::create):
132         (WebCore::IndexedDatabaseRequest::request):
133         * storage/IndexedDatabaseRequest.idl: Added.
134
135 2010-01-29  Brian Weinstein  <bweinstein@apple.com>
136
137         Reviewed by Adam Roben.
138
139         Drag and Drop: Windows uses "stop" sign as cursor when dragging
140         https://bugs.webkit.org/show_bug.cgi?id=34305
141         <rdar://problem/7589672>
142
143         Add a FIXME for the code that needs to be changed to support full
144         custom cursors.
145
146         * page/EventHandler.cpp:
147         (WebCore::EventHandler::handleDrag):
148
149 2010-01-29  Victor Wang  <victorw@chromium.org>
150
151         Reviewed by darin@apple.com.
152
153         Fix the issue that both main frome and iframe are
154         focused if window.onblur calls window.focus.
155         https://bugs.webkit.org/show_bug.cgi?id=31692
156
157         The problem is caused by the focused frame in FocusController
158         is messed up if window.onblur calls window.focus:
159         When user clicks iframe to switch focus from main frame to iframe,
160         FocusController::setFocusedFrame fires onblur event, which calls
161         window.focus and then calls setFocusedFrame again to switch back.
162         This messes up the old focused frame and new focused frame and
163         leaves the FocusController confused. As a result, controlls
164         in both main frame and iframe look like get focused.
165
166         To fix it, add a flag to FocusController and do no switch the focused
167         frame when FocusController is in the middle of changing the focused frame. 
168
169         Test: fast/events/change-frame-focus.html
170
171         * page/FocusController.cpp:
172         (WebCore::FocusController::FocusController):
173         (WebCore::FocusController::setFocusedFrame):
174         * page/FocusController.h:
175         (WebCore::FocusController::focusedFrame):
176         (WebCore::FocusController::isActive):
177         (WebCore::FocusController::isFocused):
178
179 2010-01-29  Alexey Proskuryakov  <ap@apple.com>
180
181         Reviewed by Dan Bernstein.
182
183         <rdar://problem/7441982> REGRESSION (TOT): Adobe CS4: Installer alerts are displayed as
184         blank windows
185
186         We probably shouldn't be deferring loads below modal dialogs and alerts, because that's not
187         what being modal means. But making such a change for general Web content would require fixes
188         in other parts of code, which I'm not ready to implement right now, so making it application
189         specific.
190
191         * page/Page.cpp: (WebCore::Page::setDefersLoading): Do nothing if load deferring is not
192         enabled in page settings.
193
194         * WebCore.base.exp:
195         * page/Settings.cpp:
196         (WebCore::Settings::Settings):
197         (WebCore::Settings::setLoadDeferringEnabled):
198         * page/Settings.h: (WebCore::Settings::loadDeferringEnabled):
199         Add the ability for client to disable page deferring (still enabled by default).
200
201         * platform/mac/RuntimeApplicationChecks.h:
202         * platform/mac/RuntimeApplicationChecks.mm: (WebCore::applicationIsAdobeInstaller):
203         Added a bundle ID test for Adobe installer.
204
205 2010-01-29  Steve Falkenburg  <sfalken@apple.com>
206
207         Build fix.
208
209         * page/Geolocation.cpp:
210         (WebCore::Geolocation::startUpdating):
211
212 2010-01-29  Steve Falkenburg  <sfalken@apple.com>
213
214         Reviewed by Darin Adler.
215
216         Client-based Geolocation starts updating before getting consent from the user
217         https://bugs.webkit.org/show_bug.cgi?id=34343
218
219         * page/Geolocation.cpp:
220         (WebCore::Geolocation::startRequest): Pass notifier instead of options to startUpdating.
221         (WebCore::Geolocation::setIsAllowed): Add the observer or notify of error for deferred startUpdating.
222         (WebCore::Geolocation::startUpdating): Pass notifier instead of options, since we may need to call it if we fail to get user consent.
223         Defer adding the observer if we don't yet have user consent, since this could kick off
224         server-based wifi Geolocation requests.
225         * page/Geolocation.h:
226
227 2010-01-28  Jon Honeycutt  <jhoneycutt@apple.com>
228
229         MSAA: Crash when posting a notification for a detached object
230
231         https://bugs.webkit.org/show_bug.cgi?id=34309
232         <rdar://problem/7409759>
233
234         Reviewed by Darin Adler.
235
236         Test: platform/win/accessibility/detached-object-notification-crash.html
237
238         * accessibility/AccessibilityRenderObject.cpp:
239         (AccessibilityRenderObject::document):
240         Null check m_renderer. This is the bug fix; the other changes in the
241         patch are for the test.
242
243         * accessibility/win/AXObjectCacheWin.cpp:
244         (WebCore::AXObjectCache::postPlatformNotification):
245         Map AXValueChanged to EVENT_OBJECT_VALUECHANGED, so we'll post a
246         notification when AXValueChanged is posted. Receiving an event of this
247         type tells us that the test passed.
248
249 2010-01-29  Darin Fisher  <darin@chromium.org>
250
251         Okayed by Oliver Hunt.
252
253         Rollout r53949, r53951 and r54013 due to a Chromium regression that it
254         causes.  Somehow this code change is triggering an endless repaint loop.
255
256         https://bugs.webkit.org/show_bug.cgi?id=33808
257
258         * platform/graphics/GraphicsContext.cpp:
259         (WebCore::GraphicsContext::drawTiledImage):
260         * platform/graphics/GraphicsContext.h:
261         * platform/graphics/transforms/TransformationMatrix.h:
262         (WebCore::TransformationMatrix::isIdentityOrTranslation):
263         * rendering/RenderBoxModelObject.cpp:
264         (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
265         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
266         * rendering/RenderBoxModelObject.h:
267
268 2010-01-29  Tony Chang  <tony@chromium.org>
269
270         Reviewed by Darin Adler.
271
272         Add gdb helper methods for Ranges like we have for VisibleSelections.
273         https://bugs.webkit.org/show_bug.cgi?id=34308
274
275         No new tests, these are only for debugging.
276
277         * dom/Position.cpp:
278         (WebCore::Position::showTreeForThis):
279         * dom/Range.cpp:
280         (showTree):
281         * dom/Range.h:
282
283 2010-01-29  Drew Wilson  <atwilson@chromium.org>
284
285         Reviewed by Adam Barth.
286
287         V8 implementation of MessageEvent.initMessageEvent() does not set source correctly.
288         https://bugs.webkit.org/show_bug.cgi?id=34292
289
290         Test: fast/events/init-events.html will pass in Chrome now.
291
292         * bindings/v8/custom/V8MessageEventCustom.cpp:
293         (WebCore::V8MessageEvent::initMessageEventCallback):
294         Now properly extracts the reference to the DOMWindow object from the passed-in window parameter.
295
296 2010-01-29  Ben Murdoch  <benm@google.com>
297
298         Reviewed by Dimitri Glazkov.
299
300         [Android] Android needs functionality in the ChromeClient to be informed when touch events are and are not needed by the webpage.
301         https://bugs.webkit.org/show_bug.cgi?id=34215
302
303         Add a function on the ChromeClient that WebCore can use to inform the platform when it needs touch events. This way the platform can optimise by not forwarding the events if they are not required.
304
305         No new tests as the only implementation is specific to Android.
306
307         * dom/Document.cpp:
308         (WebCore::Document::detach): Check if this is the top level document and if so, stop forwarding touch events.
309         (WebCore::Document::addListenerTypeIfNeeded): Inform the ChromeClient it should start forwarding touch events and guard touch event code properly.
310         * history/CachedFrame.cpp:
311         (WebCore::CachedFrameBase::restore): If the document uses touch events, inform the ChromeClient to start forwarding them.
312         (WebCore::CachedFrame::CachedFrame): If the document uses touch events, inform the ChromeClient to stop forwarding them, as the document is being put into the page cache.
313         * loader/EmptyClients.h:
314         (WebCore::EmptyChromeClient::needTouchEvents): Add an empty implementation.
315         * page/ChromeClient.h: Add the needTouchEvents() function.
316
317 2010-01-29  Alexander Pavlov  <apavlov@chromium.org>
318
319         Reviewed by Pavel Feldman.
320
321         Fix toolbar gradient to match the window's titlebar on Snow Leopard
322         https://bugs.webkit.org/show_bug.cgi?id=34320
323
324         * inspector/front-end/inspector.css:
325
326 2010-01-29  Alexander Pavlov  <apavlov@chromium.org>
327
328         Reviewed by Pavel Feldman.
329
330         Fix MacOS X version detection
331
332         MacOS X version can have 2 or 3 segments.
333         https://bugs.webkit.org/show_bug.cgi?id=34322
334
335         * inspector/front-end/inspector.js:
336         (WebInspector._detectPlatform):
337
338 2010-01-29  Jakob Petsovits  <jpetsovits@rim.com>
339
340         Reviewed by Nikolas Zimmermann.
341
342         [OpenVG] Implement a basic GraphicsContext on top of a new PainterOpenVG class
343         https://bugs.webkit.org/show_bug.cgi?id=33405
344
345         PainterOpenVG provides painter state management that works
346         on a single (EGL) context, and apart from painter state
347         implements a single drawing operation (for now), drawRect().
348
349         It is a generic painter class that cooperates with
350         SurfaceOpenVG to enable robust surface/context switching
351         (given that EGL doesn't notify us if somebody switches
352         the surface/context behind our backs), and provides
353         painting operations close to OpenVG's way of working
354         that GraphicsContext, Path, Image, Font and other WebKit
355         platform classes can use to draw on.
356
357         Initial code for state management and OpenVG scissoring by
358         Eli Fidler <efidler@rim.com>. VGRect/VGMatrix and the bulk
359         of the transformations code by Adam Treat <atreat@rim.com>.
360         Preliminary drawFocusRing() implementation by Yong Li <yoli@rim.com>.
361
362         * platform/graphics/FloatRect.h:
363         * platform/graphics/GraphicsContext.cpp:
364         * platform/graphics/GraphicsContext.h:
365         * platform/graphics/openvg/GraphicsContextOpenVG.cpp: Added.
366         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
367         (WebCore::GraphicsContext::GraphicsContext):
368         (WebCore::GraphicsContext::~GraphicsContext):
369         (WebCore::GraphicsContext::platformContext):
370         (WebCore::GraphicsContext::getCTM):
371         (WebCore::GraphicsContext::savePlatformState):
372         (WebCore::GraphicsContext::restorePlatformState):
373         (WebCore::GraphicsContext::drawRect):
374         (WebCore::GraphicsContext::drawLine):
375         (WebCore::GraphicsContext::drawEllipse):
376         (WebCore::GraphicsContext::strokeArc):
377         (WebCore::GraphicsContext::drawConvexPolygon):
378         (WebCore::GraphicsContext::fillPath):
379         (WebCore::GraphicsContext::strokePath):
380         (WebCore::GraphicsContext::fillRect):
381         (WebCore::GraphicsContext::fillRoundedRect):
382         (WebCore::GraphicsContext::beginPath):
383         (WebCore::GraphicsContext::addPath):
384         (WebCore::GraphicsContext::clip):
385         (WebCore::GraphicsContext::clipPath):
386         (WebCore::GraphicsContext::drawFocusRing):
387         (WebCore::GraphicsContext::drawLineForText):
388         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
389         (WebCore::GraphicsContext::roundToDevicePixels):
390         (WebCore::GraphicsContext::setPlatformShadow):
391         (WebCore::GraphicsContext::clearPlatformShadow):
392         (WebCore::GraphicsContext::beginTransparencyLayer):
393         (WebCore::GraphicsContext::endTransparencyLayer):
394         (WebCore::GraphicsContext::clearRect):
395         (WebCore::GraphicsContext::strokeRect):
396         (WebCore::GraphicsContext::setLineCap):
397         (WebCore::GraphicsContext::setLineDash):
398         (WebCore::GraphicsContext::setLineJoin):
399         (WebCore::GraphicsContext::setMiterLimit):
400         (WebCore::GraphicsContext::setAlpha):
401         (WebCore::GraphicsContext::setCompositeOperation):
402         (WebCore::GraphicsContext::canvasClip):
403         (WebCore::GraphicsContext::clipOut):
404         (WebCore::GraphicsContext::scale):
405         (WebCore::GraphicsContext::rotate):
406         (WebCore::GraphicsContext::translate):
407         (WebCore::GraphicsContext::origin):
408         (WebCore::GraphicsContext::clipOutEllipseInRect):
409         (WebCore::GraphicsContext::clipToImageBuffer):
410         (WebCore::GraphicsContext::addInnerRoundedRectClip):
411         (WebCore::GraphicsContext::concatCTM):
412         (WebCore::GraphicsContext::setURLForRect):
413         (WebCore::GraphicsContext::setPlatformStrokeColor):
414         (WebCore::GraphicsContext::setPlatformStrokeStyle):
415         (WebCore::GraphicsContext::setPlatformStrokeThickness):
416         (WebCore::GraphicsContext::setPlatformFillColor):
417         (WebCore::GraphicsContext::setPlatformShouldAntialias):
418         (WebCore::GraphicsContext::setImageInterpolationQuality):
419         (WebCore::GraphicsContext::imageInterpolationQuality):
420         * platform/graphics/openvg/PainterOpenVG.cpp: Added.
421         (WebCore::isNonRotatedAffineTransformation):
422         (WebCore::toVGCapStyle):
423         (WebCore::toVGJoinStyle):
424         (WebCore::toVGFillRule):
425         (WebCore::colorToVGColor):
426         (WebCore::setVGSolidColor):
427         (WebCore::PlatformPainterState::PlatformPainterState):
428         (WebCore::PlatformPainterState::copyPaintState):
429         (WebCore::PlatformPainterState::applyState):
430         (WebCore::PlatformPainterState::applyBlending):
431         (WebCore::PlatformPainterState::applyTransformationMatrix):
432         (WebCore::PlatformPainterState::applyScissorRect):
433         (WebCore::PlatformPainterState::applyStrokeStyle):
434         (WebCore::PlatformPainterState::strokeDisabled):
435         (WebCore::PlatformPainterState::fillDisabled):
436         (WebCore::PainterOpenVG::PainterOpenVG):
437         (WebCore::PainterOpenVG::~PainterOpenVG):
438         (WebCore::PainterOpenVG::begin):
439         (WebCore::PainterOpenVG::end):
440         (WebCore::PainterOpenVG::destroyPainterStates):
441         (WebCore::PainterOpenVG::applyState):
442         (WebCore::PainterOpenVG::blitToSurface):
443         (WebCore::PainterOpenVG::transformationMatrix):
444         (WebCore::PainterOpenVG::concatTransformationMatrix):
445         (WebCore::PainterOpenVG::setTransformationMatrix):
446         (WebCore::PainterOpenVG::compositeOperation):
447         (WebCore::PainterOpenVG::setCompositeOperation):
448         (WebCore::PainterOpenVG::opacity):
449         (WebCore::PainterOpenVG::setOpacity):
450         (WebCore::PainterOpenVG::strokeThickness):
451         (WebCore::PainterOpenVG::setStrokeThickness):
452         (WebCore::PainterOpenVG::strokeStyle):
453         (WebCore::PainterOpenVG::setStrokeStyle):
454         (WebCore::PainterOpenVG::setLineDash):
455         (WebCore::PainterOpenVG::setLineCap):
456         (WebCore::PainterOpenVG::setLineJoin):
457         (WebCore::PainterOpenVG::setMiterLimit):
458         (WebCore::PainterOpenVG::strokeColor):
459         (WebCore::PainterOpenVG::setStrokeColor):
460         (WebCore::PainterOpenVG::fillColor):
461         (WebCore::PainterOpenVG::setFillColor):
462         (WebCore::PainterOpenVG::antialiasingEnabled):
463         (WebCore::PainterOpenVG::setAntialiasingEnabled):
464         (WebCore::PainterOpenVG::scale):
465         (WebCore::PainterOpenVG::rotate):
466         (WebCore::PainterOpenVG::translate):
467         (WebCore::PainterOpenVG::intersectScissorRect):
468         (WebCore::PainterOpenVG::intersectClipRect):
469         (WebCore::PainterOpenVG::drawRect):
470         (WebCore::PainterOpenVG::save):
471         (WebCore::PainterOpenVG::restore):
472         * platform/graphics/openvg/PainterOpenVG.h: Added.
473         (WebCore::PainterOpenVG::):
474         (WebCore::PainterOpenVG::surface):
475         * platform/graphics/openvg/SurfaceOpenVG.cpp:
476         (WebCore::SurfaceOpenVG::SurfaceOpenVG):
477         (WebCore::SurfaceOpenVG::~SurfaceOpenVG):
478         (WebCore::SurfaceOpenVG::makeCurrent):
479         (WebCore::SurfaceOpenVG::makeCompatibleCurrent):
480         (WebCore::SurfaceOpenVG::setActivePainter):
481         (WebCore::SurfaceOpenVG::activePainter):
482         * platform/graphics/openvg/SurfaceOpenVG.h:
483         (WebCore::SurfaceOpenVG::):
484         * platform/graphics/openvg/VGUtils.cpp: Added.
485         (WebCore::VGMatrix::VGMatrix):
486         (WebCore::VGMatrix::operator TransformationMatrix):
487         (WebCore::TransformationMatrix::operator VGMatrix):
488         (WebCore::VGRect::VGRect):
489         (WebCore::VGRect::operator FloatRect):
490         (WebCore::FloatRect::operator VGRect):
491         * platform/graphics/openvg/VGUtils.h:
492         (WebCore::VGMatrix::toVGfloat):
493         (WebCore::VGRect::toVGfloat):
494         * platform/graphics/transforms/TransformationMatrix.h:
495
496 2010-01-29  Philippe Normand  <pnormand@igalia.com>
497
498         Reviewed by Gustavo Noronha Silva.
499
500         [Gtk] Vimeo HTML5 player doesn't work
501         https://bugs.webkit.org/show_bug.cgi?id=34327
502
503         Send Referer when requesting media over HTTP.
504
505         Test: http/tests/media/video-referer.html
506
507         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
508         (WebCore::mediaPlayerPrivateSourceChangedCallback):
509
510 2010-01-29  Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
511
512         Reviewed by Simon Hausmann.
513
514         [Qt] Speed up the WebCore::String -> QString conversion
515
516         Use QString(const QChar *, int len) constructor instead of QString::fromUtf16 to
517         avoid BOM checks and byteswapping.
518
519         * bridge/qt/qt_class.cpp:
520         (JSC::Bindings::QtClass::fieldNamed):
521         * bridge/qt/qt_runtime.cpp:
522         (JSC::Bindings::convertValueToQVariant):
523
524 2010-01-29  Alexander Pavlov  <apavlov@chromium.org>
525
526         Reviewed by Timothy Hatcher.
527
528         Web Inspector: Source view displays text using wrong fonts
529         https://bugs.webkit.org/show_bug.cgi?id=34269
530
531         * inspector/front-end/TextEditor.js:
532         (WebInspector.TextEditor):
533         (WebInspector.TextEditor.prototype._initFont):
534         * inspector/front-end/inspector.js:
535
536 2010-01-29  Philippe Normand  <pnormand@igalia.com>
537
538         Reviewed by Gustavo Noronha Silva.
539
540         [Gtk] Apple trailers don't play anymore
541         https://bugs.webkit.org/show_bug.cgi?id=34316
542
543         Fake QuickTime when accessing movie trailers.
544
545         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
546         (WebCore::mediaPlayerPrivateSourceChangedCallback):
547
548 2010-01-29  Pavel Feldman  <pfeldman@chromium.org>
549
550         Reviewed by Timothy Hatcher.
551
552         Web Inspector: migrate to tokenizer-based highlighting in the Elements panel.
553
554         https://bugs.webkit.org/show_bug.cgi?id=34273
555
556         * WebCore.gypi:
557         * WebCore.vcproj/WebCore.vcproj:
558         * inspector/front-end/CSSSourceSyntaxHighlighter.js: Removed.
559         * inspector/front-end/DOMSyntaxHighlighter.js: Added.
560         (WebInspector.DOMSyntaxHighlighter):
561         (WebInspector.DOMSyntaxHighlighter.prototype.createSpan):
562         (WebInspector.DOMSyntaxHighlighter.prototype.syntaxHighlightNode):
563         * inspector/front-end/ElementsTreeOutline.js:
564         * inspector/front-end/JavaScriptSourceSyntaxHighlighter.js: Removed.
565         * inspector/front-end/SourceCSSTokenizer.js:
566         (WebInspector.SourceCSSTokenizer):
567         (WebInspector.SourceCSSTokenizer.prototype.nextToken):
568         * inspector/front-end/SourceCSSTokenizer.re2js:
569         * inspector/front-end/SourceHTMLTokenizer.js:
570         (WebInspector.SourceHTMLTokenizer):
571         (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
572         * inspector/front-end/SourceHTMLTokenizer.re2js:
573         * inspector/front-end/SourceJavaScriptTokenizer.js:
574         (WebInspector.SourceJavaScriptTokenizer):
575         (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
576         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
577         * inspector/front-end/SourceSyntaxHighlighter.js: Removed.
578         * inspector/front-end/SourceTokenizer.js: Added.
579         (WebInspector.SourceTokenizer):
580         (WebInspector.SourceTokenizer.prototype.set line):
581         (WebInspector.SourceTokenizer.prototype.set condition):
582         (WebInspector.SourceTokenizer.prototype.get condition):
583         (WebInspector.SourceTokenizer.prototype.hasCondition):
584         (WebInspector.SourceTokenizer.prototype.getLexCondition):
585         (WebInspector.SourceTokenizer.prototype.setLexCondition):
586         (WebInspector.SourceTokenizer.prototype._charAt):
587         (WebInspector.SourceTokenizer.Registry):
588         (WebInspector.SourceTokenizer.Registry.getInstance):
589         (WebInspector.SourceTokenizer.Registry.prototype.getTokenizer):
590         * inspector/front-end/TextEditorHighlighter.js:
591         (WebInspector.TextEditorHighlighter):
592         (WebInspector.TextEditorHighlighter.prototype.set mimeType):
593         * inspector/front-end/WebKit.qrc:
594         * inspector/front-end/inspector.html:
595
596 2010-01-29  Pavel Feldman  <pfeldman@chromium.org>
597
598         Reviewed by Timothy Hatcher.
599
600         Web Inspector: No need to render background sources
601         when performing search.
602
603         https://bugs.webkit.org/show_bug.cgi?id=34263
604
605         * inspector/front-end/ScriptView.js:
606         (WebInspector.ScriptView):
607         (WebInspector.ScriptView.prototype.show):
608         * inspector/front-end/SourceFrame.js:
609         (WebInspector.SourceFrame):
610         (WebInspector.SourceFrame.prototype.set visible):
611         (WebInspector.SourceFrame.prototype.set executionLine):
612         (WebInspector.SourceFrame.prototype.revealLine):
613         (WebInspector.SourceFrame.prototype.clearMessages):
614         (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
615         (WebInspector.SourceFrame.prototype.setContent):
616         (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
617         (WebInspector.SourceFrame.prototype.setSelection):
618         (WebInspector.SourceFrame.prototype.clearSelection):
619         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
620         (WebInspector.SourceFrame.prototype._contextMenu):
621         (WebInspector.SourceFrame.prototype._toggleBreakpoint):
622         (WebInspector.SourceFrame.prototype.resize):
623         (WebInspector.BreakpointLineNumberDecorator):
624         * inspector/front-end/SourceView.js:
625         (WebInspector.SourceView):
626         (WebInspector.SourceView.prototype.show):
627         (WebInspector.SourceView.prototype.hide):
628         (WebInspector.SourceView.prototype.resize):
629         * inspector/front-end/TextEditor.js:
630         (WebInspector.TextEditor):
631         * inspector/front-end/TextEditorHighlighter.js:
632         (WebInspector.TextEditorHighlighter):
633         * inspector/front-end/TextEditorModel.js:
634         (WebInspector.TextEditorModel):
635         (WebInspector.TextEditorModel.prototype.set changeListener):
636         (WebInspector.TextEditorModel.prototype.setText):
637
638 2010-01-29  Yury Semikhatsky  <yurys@chromium.org>
639
640         Reviewed by Adam Barth.
641
642         Remove ScriptState::frame which is only used for reporting exceptions
643         in some cases in a way that diverges from the regular exception reporting in
644         v8 bindings.
645
646         Cache ScriptState directly on v8::Context instead of providing
647         implementations specific for isolated worlds and ScriptController.
648
649         https://bugs.webkit.org/show_bug.cgi?id=34266
650
651         * bindings/js/ScriptController.cpp:
652         * bindings/js/ScriptController.h:
653         * bindings/js/ScriptState.cpp:
654         (WebCore::mainWorldScriptState):
655         * bindings/js/ScriptState.h:
656         * bindings/v8/ScriptCallStack.cpp:
657         (WebCore::ScriptCallStack::ScriptCallStack):
658         * bindings/v8/ScriptController.cpp:
659         (WebCore::ScriptController::evaluate):
660         (WebCore::ScriptController::clearWindowShell):
661         * bindings/v8/ScriptController.h:
662         * bindings/v8/ScriptScope.cpp:
663         (WebCore::ScriptScope::ScriptScope):
664         (WebCore::ScriptScope::success):
665         * bindings/v8/ScriptScope.h:
666         * bindings/v8/ScriptState.cpp:
667         (WebCore::ScriptState::ScriptState):
668         (WebCore::ScriptState::forContext):
669         (WebCore::ScriptState::current):
670         (WebCore::ScriptState::weakReferenceCallback):
671         (WebCore::mainWorldScriptState):
672         (WebCore::scriptStateFromPage):
673         * bindings/v8/ScriptState.h:
674         (WebCore::ScriptState::ScriptState):
675         (WebCore::EmptyScriptState::EmptyScriptState):
676         (WebCore::EmptyScriptState::~EmptyScriptState):
677         * bindings/v8/V8HiddenPropertyName.h:
678         * bindings/v8/V8IsolatedContext.cpp:
679         * bindings/v8/V8IsolatedContext.h:
680         * bindings/v8/V8Utilities.cpp:
681         (WebCore::getScriptExecutionContext):
682         (WebCore::reportException):
683         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
684         (WebCore::V8NodeIterator::nextNodeCallback):
685         (WebCore::V8NodeIterator::previousNodeCallback):
686         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
687         (WebCore::V8TreeWalker::parentNodeCallback):
688         (WebCore::V8TreeWalker::firstChildCallback):
689         (WebCore::V8TreeWalker::lastChildCallback):
690         (WebCore::V8TreeWalker::nextNodeCallback):
691         (WebCore::V8TreeWalker::previousNodeCallback):
692         (WebCore::V8TreeWalker::nextSiblingCallback):
693         (WebCore::V8TreeWalker::previousSiblingCallback):
694         * inspector/InspectorController.cpp:
695         (WebCore::InspectorController::injectedScriptForNodeId):
696
697 2010-01-29  Darin Fisher  <darin@chromium.org>
698
699         Reviewed by Adam Barth.
700
701         Add FrameLoaderClient::allowImages method to allow the client to
702         overrule image loading policy on a per frame basis.
703
704         https://bugs.webkit.org/show_bug.cgi?id=34225
705
706         For completeness, this patch also adds Settings::areImagesEnabled.
707         This is different from loadsImagesAutomatically as is explained in
708         Settings.h.
709
710         * loader/DocLoader.cpp:
711         (WebCore::DocLoader::requestImage):
712         * loader/FrameLoaderClient.h:
713         (WebCore::FrameLoaderClient::allowImages):
714         * loader/ImageDocument.cpp:
715         (WebCore::ImageTokenizer::writeRawData):
716         * page/Settings.cpp:
717         (WebCore::Settings::Settings):
718         (WebCore::Settings::setImagesEnabled):
719         * page/Settings.h:
720         (WebCore::Settings::areImagesEnabled):
721
722 2010-01-28  Nicholas Young  <nicholas.young@nokia.com>
723
724         Reviewed by Eric Carlson.
725
726         Prefer provided video element width/height properties to hard coded
727         defaults for intrinsic size when natural video size is unavailable.
728         https://bugs.webkit.org/show_bug.cgi?id=34302
729
730         No new tests needed.
731
732         * rendering/RenderVideo.cpp: Attempt to use width/height properties
733         (WebCore::RenderVideo::RenderVideo):
734         * rendering/RenderVideo.h: More appropriate constructor signature
735
736 2010-01-28  Oliver Hunt  <oliver@apple.com>
737
738         Reviewed by Gavin Barraclough.
739
740         MessageEvent.data should not be repeated deserialised
741         https://bugs.webkit.org/show_bug.cgi?id=34311
742
743         Cache the result of deserialising the event data
744
745         * bindings/scripts/CodeGeneratorJS.pm:
746         * dom/MessageEvent.idl:
747
748 2010-01-28  Hayato Ito  <hayato@chromium.org>
749
750         Reviewed by Darin Adler.
751
752         Change CSS 'page-break-inside' property from inherited one to non-inherited one because CSS specification defines so.
753
754         Note: Currently, the 'page-break-inside' property is used only when parsing the CSS. That property is not used when rendering.
755
756         https://bugs.webkit.org/show_bug.cgi?id=34195
757
758         * rendering/style/RenderStyle.h:
759         (WebCore::InheritedFlags::NonInheritedFlags::operator==):
760         (WebCore::InheritedFlags::setBitDefaults):
761         (WebCore::InheritedFlags::pageBreakInside):
762         (WebCore::InheritedFlags::setPageBreakInside):
763         * rendering/style/StyleInheritedData.cpp:
764         (WebCore::StyleInheritedData::StyleInheritedData):
765         (WebCore::StyleInheritedData::operator==):
766         * rendering/style/StyleInheritedData.h:
767
768 2010-01-28  Michael Nordman  <michaeln@google.com>
769
770         Reviewed by Alexey Proskuryakov.
771
772         ApplicationCache events should be deferred until after Document onload has fired.
773         https://bugs.webkit.org/show_bug.cgi?id=29690
774
775         Test: http/tests/appcache/deferred-events.html
776
777         * loader/FrameLoader.cpp:
778         (WebCore::FrameLoader::handledOnloadEvents):  Tells the ApplicationCacheHost to stop deferring events.
779         * loader/appcache/ApplicationCacheHost.cpp:
780         (WebCore::ApplicationCacheHost::ApplicationCacheHost): Initialize m_isDeferringEvents to true.
781         (WebCore::ApplicationCacheHost::notifyDOMApplicationCache): Depending, defer or raise the event.
782         (WebCore::ApplicationCacheHost::stopDeferringEvents): Raise any deferred events and reset the flag.
783         * loader/appcache/ApplicationCacheHost.h: Declare new data members and method.
784
785 2010-01-28  Kavita Kanetkar  <kkanetkar@chromium.org>
786
787         Reviewed by Dimitri Glazkov.
788
789         [V8] Generate header declaration for custom constructor callbacks
790         https://bugs.webkit.org/show_bug.cgi?id=33680
791
792         Added handling of 'CanBeConstructed' and 'OmitConstructor' and a new extended attribute
793         CustomConstructor'.
794
795         Deleted implementation .cpp files for corresponding 'CanBeConstructed'
796         extended attributes. These are now generated via CodeGeneratorV8.pm
797         Treating 'OmitConstructor' and 'CustomConstructor' to be the same in
798         CodeGeneratorJS.pm
799         Cleaned idls that had 'CustomConstructor' and 'OmitConstructor' together, and
800         same with CustomConstructor and CanBeConstructed.
801
802         * Android.v8bindings.mk:
803         * WebCore.gypi: Removed deps for classes being generated.
804         * bindings/scripts/CodeGeneratorJS.pm: OmitConstructor and CustomConstructor have the same behavior in generator.
805         * bindings/scripts/CodeGeneratorV8.pm: Generating the callbacks for constructors.
806         * bindings/v8/V8DOMWrapper.cpp: Removed manual calls to SetCallHandler() for constructor callbacks.
807         (WebCore::V8DOMWrapper::getTemplate):
808         * bindings/v8/custom/V8CustomBinding.h: Removed manual declarations of constructor callbacks.
809         * bindings/v8/custom/V8DOMParserConstructor.cpp:
810         * bindings/v8/custom/V8EventSourceConstructor.cpp:
811         (WebCore::V8EventSource::constructorCallback):
812         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
813         (WebCore::V8MessageChannel::constructorCallback):
814         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
815         (WebCore::V8SharedWorker::constructorCallback):
816         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
817         (WebCore::V8WebGLArrayBuffer::constructorCallback):
818         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
819         (WebCore::V8WebGLByteArray::constructorCallback):
820         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
821         (WebCore::V8WebGLFloatArray::constructorCallback):
822         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
823         (WebCore::V8WebGLIntArray::constructorCallback):
824         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
825         (WebCore::V8WebGLShortArray::constructorCallback):
826         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
827         (WebCore::V8WebGLUnsignedByteArray::constructorCallback):
828         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
829         (WebCore::V8WebGLUnsignedIntArray::constructorCallback):
830         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
831         (WebCore::V8WebGLUnsignedShortArray::constructorCallback):
832         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
833         (WebCore::V8WebKitCSSMatrix::constructorCallback):
834         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
835         (WebCore::V8WebKitPoint::constructorCallback):
836         * bindings/v8/custom/V8WebSocketCustom.cpp:
837         (WebCore::V8WebSocket::constructorCallback):
838         * bindings/v8/custom/V8WorkerCustom.cpp:
839         (WebCore::V8Worker::constructorCallback):
840         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
841         (WebCore::V8XMLHttpRequest::constructorCallback):
842         * bindings/v8/custom/V8XMLSerializerConstructor.cpp:
843         * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: Deleted the file. Implementation now being generated.
844         * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Deleted the file. Implementation now being generated.
845         (WebCore::V8XSLTProcessor::constructorCallback): Deleted the file. Implementation now being generated.
846         * css/WebKitCSSMatrix.idl: Added CustomConstructor attribute.
847         * dom/MessageChannel.idl: Added CustomConstructor attribute.
848         * html/canvas/WebGLArrayBuffer.idl: Added CustomConstructor attribute.
849         * html/canvas/WebGLByteArray.idl: Added CustomConstructor attribute.
850         * html/canvas/WebGLFloatArray.idl: Added CustomConstructor attribute.
851         * html/canvas/WebGLIntArray.idl: Added CustomConstructor attribute.
852         * html/canvas/WebGLShortArray.idl: Added CustomConstructor attribute.
853         * html/canvas/WebGLUnsignedByteArray.idl: Added CustomConstructor attribute.
854         * html/canvas/WebGLUnsignedIntArray.idl: Added CustomConstructor attribute.
855
856 2010-01-28  Steve Block  <steveblock@google.com>
857
858         Reviewed by David Levin.
859
860         Add stub for AXObjectCache::contentChanged when HAVE(ACCESSIBILITY) is not defined
861         https://bugs.webkit.org/show_bug.cgi?id=34271
862
863         No new tests, build fix only.
864
865         * accessibility/AXObjectCache.cpp: Modified. Added HAVE(ACCESSIBILITY) guards around contentChanged
866         * accessibility/AXObjectCache.h: Modified.
867         (WebCore::AXObjectCache::contentChanged): Added stub
868
869 2010-01-28  Steve Block  <steveblock@google.com>
870
871         Reviewed by David Levin.
872
873         Use long long rather than int64 in V8Binding.h
874         https://bugs.webkit.org/show_bug.cgi?id=34270
875
876         No new tests, build fix only.
877
878         * bindings/v8/V8Binding.h: Modified.
879         (WebCore::toInt64): Returns long long
880
881 2010-01-28  Avi Drissman  <avi@chromium.org>
882
883         Reviewed by David Levin.
884
885         Unused variable in ThemeMac (followup to change 49103).
886         https://bugs.webkit.org/show_bug.cgi?id=34274
887
888         Covered by existing tests.
889
890         * platform/mac/ThemeMac.mm:
891         (WebCore::setupButtonCell):
892
893 2010-01-28  Enrica Casucci  <enrica@apple.com>
894
895         Reviewed by Maciej Stachowiak.
896
897         Huge plain text pastes are slow
898         <rdar://problem/5195056>
899         https://bugs.webkit.org/show_bug.cgi?id=34237
900
901         No new tests. It is a performance improvement.
902
903         The performance of the plain text paste is now linear.
904         We treat as a special case, a fragment that has been
905         created from plain text. Finding VisiblePositions and
906         applying style is greatly simplified, given the nature of
907         the fragment.
908
909         * editing/ReplaceSelectionCommand.cpp:
910         (WebCore::ReplaceSelectionCommand::doApply):
911         * editing/markup.cpp:
912         (WebCore::isPlainTextMarkup):
913         * editing/markup.h:
914
915 2010-01-28  Jeremy Orlow  <jorlow@chromium.org>
916
917         Reviewed by Adam Barth.
918
919         Initialize DOM Storage's quota's current length parameter when we clone it.
920         https://bugs.webkit.org/show_bug.cgi?id=34294
921
922         * storage/StorageMap.cpp:
923         (WebCore::StorageMap::copy):
924
925 2010-01-28  Brent Fulgham  <bfulgham@webkit.org>
926
927         Unreviewed build fix after r53411 on WinCairo.
928
929         * platform/image-decoders/gif/GIFImageDecoder.cpp:
930         (WebCore::GIFImageDecoder::frameCount):
931
932 2010-01-28  Nayan Kumar K  <nayankk@gmail.com>
933
934         Reviewed by Laszlo Gombos.
935
936         Fix for compilation error in WML enabled build introduced because of the changeset 53514.
937
938         https://bugs.webkit.org/show_bug.cgi?id=34254
939
940         * wml/WMLDocument.cpp:
941         (WebCore::WMLDocument::WMLDocument):
942
943 2010-01-28  Alex Milowski  <alex@milowski.com>
944
945         Reviewed by Eric Seidel.
946
947         Update to CSS to remove unnecessary line-height settings
948
949         * css/mathml.css:
950
951 2010-01-28  Steve Block  <steveblock@google.com>
952
953         Reviewed by David Levin.
954
955         Add missing includes for HashMap/HashSet
956         https://bugs.webkit.org/show_bug.cgi?id=34276
957
958         No new tests, build fix only.
959
960         * platform/KURL.cpp: Modified. Include HashMap.h
961         * platform/network/CredentialStorage.cpp: Modified. Include HashMap.h and HashSet.h
962         * platform/network/ProtectionSpaceHash.h: Modified. Include HashTraits.h
963
964 2010-01-28  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
965
966         Reviewed by Gustavo Noronha.
967
968         Pass cookies to the GStreamer HTTP source
969         https://bugs.webkit.org/show_bug.cgi?id=34003
970
971         Test: http/tests/media/video-cookie.html
972
973         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
974         (WebCore::mediaPlayerPrivateSourceChangedCallback):
975         When using an appropiate GStreamer HTTP source element, pass
976         the cookies for the media URI to it. This fixes playback of
977         the YouTube HTML5 videos.
978
979 2010-01-28  Csaba Osztrogonác  <ossy@webkit.org>
980
981         [Qt] Unreviewed buildfix after r54022.
982
983         * bridge/qt/qt_instance.cpp:
984         (JSC::Bindings::QtRuntimeObjectImp::createStructure):
985         * bridge/qt/qt_pixmapruntime.cpp:
986         (JSC::Bindings::QtPixmapRuntimeObjectImp::createStructure):
987         * bridge/qt/qt_runtime.h:
988         (JSC::Bindings::QtRuntimeMethod::createStructure):
989
990 2010-01-28  Adam Roben  <aroben@apple.com>
991
992         Fix an assertion beneath SerializedScriptValue::deserialize on 32-bit
993         builds (e.g., on Windows)
994
995         Passing a JSValue to toRef on 32-bit builds can perform an allocation,
996         so we need to make sure we hold a JSLock when that occurs.
997
998         Reviewed by Oliver Hunt.
999
1000         * bindings/js/SerializedScriptValue.cpp:
1001         (WebCore::SerializedScriptValueData::serialize):
1002         (WebCore::SerializedScriptValueData::deserialize):
1003         Moved JSLocks from here...
1004
1005         (WebCore::SerializedScriptValue::create):
1006         (WebCore::SerializedScriptValue::deserialize):
1007         ...to this higher level, from which toRef can be called.
1008
1009 2010-01-28  Oliver Hunt  <oliver@apple.com>
1010
1011         Reviewed by Gavin Barraclough.
1012
1013         DOM Objects shouldn't all require custom mark functions
1014         https://bugs.webkit.org/show_bug.cgi?id=34291
1015
1016         Make DOMObjectWithGlobalPointer use an anonymous slot to store the global object
1017         reference.
1018
1019         * bindings/js/JSDOMBinding.h:
1020         (WebCore::DOMObjectWithGlobalPointer::globalObject):
1021         (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
1022         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
1023
1024 2010-01-28  Oliver Hunt  <oliver@apple.com>
1025
1026         Reviewed by Gavin Barraclough.
1027
1028         Simplify anonymous slot implementation
1029         https://bugs.webkit.org/show_bug.cgi?id=34282
1030
1031         Update the WebCore JS DOM bindings to correctly pass and
1032         propagate the anonymous slot count information.
1033
1034         * bindings/js/JSDOMBinding.h:
1035         (WebCore::DOMObjectWithGlobalPointer::createStructure):
1036         (WebCore::DOMConstructorObject::createStructure):
1037         * bindings/js/JSDOMWindowShell.h:
1038         (WebCore::JSDOMWindowShell::createStructure):
1039         * bindings/scripts/CodeGeneratorJS.pm:
1040         * bridge/objc/objc_runtime.h:
1041         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
1042         * bridge/runtime_array.h:
1043         (JSC::RuntimeArray::createStructure):
1044         * bridge/runtime_method.h:
1045         (JSC::RuntimeMethod::createStructure):
1046         * bridge/runtime_object.h:
1047         (JSC::RuntimeObjectImp::createStructure):
1048
1049 2010-01-27  Evan Martin  <evan@chromium.org>
1050
1051         Reviewed by David Levin.
1052
1053         [chromium] hebrew vowel marks incorrectly positioned
1054         https://bugs.webkit.org/show_bug.cgi?id=34234
1055
1056         Fix glyph metrics computation such that the glyph offsets
1057         are correct, so we can now make use of them.
1058
1059         Test: fast/text/international/hebrew-vowels.html
1060
1061         * platform/graphics/chromium/FontLinux.cpp:
1062         (WebCore::TextRunWalker::createGlyphArrays): initialize per-glyph
1063         offset table.
1064         (WebCore::TextRunWalker::setGlyphXPositions): use per-glyph
1065         offsets.
1066         * platform/graphics/chromium/HarfbuzzSkia.cpp:
1067         (WebCore::getGlyphMetrics): fix metrics computation such that
1068         per-glyph offsets are computed correctly.
1069
1070 2010-01-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1071
1072         Unreviewed build fix.
1073
1074         [Qt] Build fix if websockets support is turned off after r53947.
1075
1076         * WebCore.pro:
1077
1078 2010-01-28  Dimitri Glazkov  <dglazkov@chromium.org>
1079
1080         No review, rolling out r54012.
1081         http://trac.webkit.org/changeset/54012
1082         https://bugs.webkit.org/show_bug.cgi?id=34266
1083
1084         Introduced 33 crashes in V8 traversal/ tests.
1085
1086         * bindings/js/ScriptController.cpp:
1087         (WebCore::ScriptController::mainWorldScriptState):
1088         * bindings/js/ScriptController.h:
1089         * bindings/js/ScriptState.cpp:
1090         * bindings/js/ScriptState.h:
1091         * bindings/v8/ScriptCallStack.cpp:
1092         (WebCore::ScriptCallStack::ScriptCallStack):
1093         * bindings/v8/ScriptController.cpp:
1094         (WebCore::ScriptController::mainWorldScriptState):
1095         (WebCore::ScriptController::currentScriptState):
1096         (WebCore::ScriptController::clearWindowShell):
1097         * bindings/v8/ScriptController.h:
1098         * bindings/v8/ScriptScope.cpp:
1099         (WebCore::ScriptScope::ScriptScope):
1100         (WebCore::ScriptScope::success):
1101         * bindings/v8/ScriptScope.h:
1102         * bindings/v8/ScriptState.cpp:
1103         (WebCore::ScriptState::ScriptState):
1104         (WebCore::scriptStateFromPage):
1105         * bindings/v8/ScriptState.h:
1106         (WebCore::ScriptState::ScriptState):
1107         (WebCore::ScriptState::frame):
1108         * bindings/v8/V8HiddenPropertyName.h:
1109         * bindings/v8/V8IsolatedContext.cpp:
1110         (WebCore::V8IsolatedContext::scriptState):
1111         * bindings/v8/V8IsolatedContext.h:
1112         * bindings/v8/V8Utilities.cpp:
1113         (WebCore::getScriptExecutionContext):
1114         (WebCore::reportException):
1115         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
1116         (WebCore::V8NodeIterator::nextNodeCallback):
1117         (WebCore::V8NodeIterator::previousNodeCallback):
1118         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
1119         (WebCore::V8TreeWalker::parentNodeCallback):
1120         (WebCore::V8TreeWalker::firstChildCallback):
1121         (WebCore::V8TreeWalker::lastChildCallback):
1122         (WebCore::V8TreeWalker::nextNodeCallback):
1123         (WebCore::V8TreeWalker::previousNodeCallback):
1124         (WebCore::V8TreeWalker::nextSiblingCallback):
1125         (WebCore::V8TreeWalker::previousSiblingCallback):
1126         * inspector/InspectorController.cpp:
1127         (WebCore::InspectorController::injectedScriptForNodeId):
1128
1129 2010-01-28  Steve Block  <steveblock@google.com>
1130
1131         Reviewed by Adam Barth.
1132
1133         Fix missing forward-declarations and includes in V8 bindings
1134         https://bugs.webkit.org/show_bug.cgi?id=34272
1135
1136         No new tests, build fix only.
1137
1138         * bindings/v8/ScriptController.h: Modified. Forward-declare NPObject
1139         * bindings/v8/V8DOMWindowShell.cpp: Modified. Include CString.h and PlatformBridge.h
1140         * bindings/v8/V8DOMWrapper.h: Modified. Forward-declare V8Proxy
1141
1142 2010-01-28  Yury Semikhatsky  <yurys@chromium.org>
1143
1144         Reviewed by Adam Barth.
1145
1146         Remove ScriptState::frame which is only used for reporting exceptions
1147         in some cases in a way that diverges from the regular exception reporting in
1148         v8 bindings.
1149         
1150         Cache ScriptState directly on v8::Context instead of providing
1151         implementations specific for isolated worlds and ScriptController.
1152
1153         https://bugs.webkit.org/show_bug.cgi?id=34266
1154
1155         * bindings/js/ScriptController.cpp:
1156         * bindings/js/ScriptController.h:
1157         * bindings/js/ScriptState.cpp:
1158         (WebCore::mainWorldScriptState):
1159         * bindings/js/ScriptState.h:
1160         * bindings/v8/ScriptCallStack.cpp:
1161         (WebCore::ScriptCallStack::ScriptCallStack):
1162         * bindings/v8/ScriptController.cpp:
1163         (WebCore::ScriptController::clearWindowShell):
1164         * bindings/v8/ScriptController.h:
1165         * bindings/v8/ScriptScope.cpp:
1166         (WebCore::ScriptScope::ScriptScope):
1167         (WebCore::ScriptScope::success):
1168         * bindings/v8/ScriptScope.h:
1169         * bindings/v8/ScriptState.cpp:
1170         (WebCore::ScriptState::ScriptState):
1171         (WebCore::ScriptState::forContext):
1172         (WebCore::ScriptState::current):
1173         (WebCore::ScriptState::empty):
1174         (WebCore::ScriptState::weakReferenceCallback):
1175         (WebCore::mainWorldScriptState):
1176         (WebCore::scriptStateFromPage):
1177         * bindings/v8/ScriptState.h:
1178         * bindings/v8/V8HiddenPropertyName.h:
1179         * bindings/v8/V8IsolatedContext.cpp:
1180         * bindings/v8/V8IsolatedContext.h:
1181         * bindings/v8/V8Utilities.cpp:
1182         (WebCore::getScriptExecutionContext):
1183         (WebCore::reportException):
1184         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
1185         (WebCore::V8NodeIterator::nextNodeCallback):
1186         (WebCore::V8NodeIterator::previousNodeCallback):
1187         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
1188         (WebCore::V8TreeWalker::parentNodeCallback):
1189         (WebCore::V8TreeWalker::firstChildCallback):
1190         (WebCore::V8TreeWalker::lastChildCallback):
1191         (WebCore::V8TreeWalker::nextNodeCallback):
1192         (WebCore::V8TreeWalker::previousNodeCallback):
1193         (WebCore::V8TreeWalker::nextSiblingCallback):
1194         (WebCore::V8TreeWalker::previousSiblingCallback):
1195         * inspector/InspectorController.cpp:
1196         (WebCore::InspectorController::injectedScriptForNodeId):
1197
1198 2010-01-28  Adam Barth  <abarth@webkit.org>
1199
1200         Reviewed by David Levin.
1201
1202         Remove XSSAuditor false positive for Google Translate
1203         https://bugs.webkit.org/show_bug.cgi?id=34242
1204
1205         Google translate takes a base URL as a parameter, causing a false
1206         positive in the XSS filter.  This patch removes the false positive by
1207         allowing direct injections into the href property of the base tag.
1208
1209         Test: http/tests/security/xssAuditor/base-href-direct.html
1210
1211         * page/XSSAuditor.cpp:
1212         (WebCore::XSSAuditor::canSetBaseElementURL):
1213
1214 2010-01-28  Nikolas Zimmermann  <nzimmermann@rim.com>
1215
1216         Reviewed by Dirk Schulze.
1217
1218         Save additional memory in SVG*Element classes, by introducing SVGElementRareData
1219         https://bugs.webkit.org/show_bug.cgi?id=34268
1220
1221         Introduce SVGElementRareData, to remove the need to store any members in SVGElement/SVGStyledElement.
1222         This saves some additional MB for the svg-node-count-vs-scroll.xhtml testcase.
1223
1224         SVGElementRareData works just like NodeRareData. Unlike ElementRareData, we're not inheriting from
1225         NodeRareData in SVG, as we don't need all the rare data stored there, unlike Element.
1226
1227         * GNUmakefile.am: Add SVGElementRareData.h to build.
1228         * WebCore.gypi: Ditto.
1229         * WebCore.pro: Ditto.
1230         * WebCore.vcproj/WebCore.vcproj: Ditto.
1231         * WebCore.xcodeproj/project.pbxproj: Ditto.
1232         * dom/Node.cpp: Use Nodes bitfield to keep track wheter a SVGElement has a SVGElementRareData object associated.
1233         (WebCore::Node::Node):
1234         * dom/Node.h: Add m_hasRareSVGData flag, merged with the existing bitfield, 10 bits remaining now.
1235         (WebCore::Node::hasRareSVGData):
1236         * svg/SVGAnimateMotionElement.cpp: SVGElement::instancesForElement() now returns a const-reference to the HashMap instead of copying.
1237         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
1238         * svg/SVGAnimateTransformElement.cpp: Ditto.
1239         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
1240         * svg/SVGAnimationElement.cpp: Ditto.
1241         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
1242         * svg/SVGElement.cpp: Move the element instances HashSet and two cursor-related pointers into SVGElementRareData.
1243         (WebCore::SVGElement::SVGElement):
1244         (WebCore::SVGElement::~SVGElement):
1245         (WebCore::SVGElement::rareSVGData): Modelled just like Node::rareData().
1246         (WebCore::SVGElement::ensureRareSVGData): Dito.
1247         (WebCore::SVGElement::accessDocumentSVGExtensions):
1248         (WebCore::SVGElement::mapInstanceToElement): Route call through SVGElementRareData.
1249         (WebCore::SVGElement::removeInstanceMapping): Ditto.
1250         (WebCore::SVGElement::instancesForElement): Ditto.
1251         (WebCore::SVGElement::setCursorElement): Ditto.
1252         (WebCore::SVGElement::setCursorImageValue): Ditto.
1253         * svg/SVGElement.h:
1254         * svg/SVGElementInstance.cpp: Ditto.
1255         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
1256         * svg/SVGElementRareData.h: Added. Based on NodeRareData - works exactly the same.
1257         (WebCore::SVGElementRareData::SVGElementRareData):
1258         (WebCore::SVGElementRareData::rareDataMap):
1259         (WebCore::SVGElementRareData::rareDataFromMap):
1260         (WebCore::SVGElementRareData::elementInstances):
1261         (WebCore::SVGElementRareData::instanceUpdatesBlocked):
1262         (WebCore::SVGElementRareData::setInstanceUpdatesBlocked):
1263         (WebCore::SVGElementRareData::cursorElement):
1264         (WebCore::SVGElementRareData::setCursorElement):
1265         (WebCore::SVGElementRareData::cursorImageValue):
1266         (WebCore::SVGElementRareData::setCursorImageValue):
1267         * svg/SVGStyledElement.cpp: Move m_instancesUpdatesBlocked into SVGElementRareData.
1268         (WebCore::SVGStyledElement::SVGStyledElement):
1269         (WebCore::SVGStyledElement::instanceUpdatesBlocked):
1270         (WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
1271         * svg/SVGStyledElement.h:
1272         * svg/SVGUseElement.cpp: Adapt to element instances changes, now passed as const-reference.
1273         (WebCore::dumpInstanceTree):
1274
1275 2010-01-28  Aaron Boodman  <aa@chromium.org>
1276
1277         Reviewed by Darin Adler.
1278
1279         Expand the NotificationPresenter::checkPermission() interface to send the full
1280         URL of the requesting context, as well as a pointer to the document if that
1281         context was a document.
1282
1283         https://bugs.webkit.org/show_bug.cgi?id=34238
1284
1285         * notifications/Notification.cpp:
1286         (WebCore::Notification::Notification):
1287         * notifications/NotificationCenter.cpp:
1288         (WebCore::NotificationCenter::NotificationCenter):
1289         (WebCore::NotificationCenter::checkPermission):
1290         Pass the full URL and document from the requesting context when calling
1291         NotificationPresenter::checkPermission().
1292         
1293         * notifications/NotificationPresenter.h:
1294         (WebCore::NotificationPresenter::):
1295         Expand interface.
1296
1297 2010-01-28  Simon Fraser  <simon.fraser@apple.com>
1298
1299         Reviewed by Dan Bernstein.
1300
1301         Video can overlap position:fixed element when scrolling
1302         https://bugs.webkit.org/show_bug.cgi?id=32180
1303         
1304         When the scroll position changes, and we're using overlap to decide what gets composited,
1305         then we need to re-evaluate what gets compositing when scrolling in case fixed postion elements
1306         overlap composited elements (e.g. video).
1307
1308         Test: compositing/geometry/video-fixed-scrolling.html
1309
1310         * page/FrameView.cpp:
1311         (WebCore::FrameView::updateCompositingLayers):
1312         (WebCore::FrameView::scrollPositionChanged): Annotate the calls to updateCompositingLayers()
1313         with the type of change that occurred.
1314
1315         * rendering/RenderLayer.cpp:
1316         (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded): Ditto.
1317         
1318         * rendering/RenderLayerCompositor.h:
1319         * rendering/RenderLayerCompositor.cpp:
1320         (WebCore::RenderLayerCompositor::updateCompositingLayers): For scroll changes, check
1321         for hierarchy update if m_compositingConsultsOverlap is true, and do
1322         a geometry update. For other changes, always check for hierarchy updates.
1323
1324 2010-01-27  Dave Hyatt  <hyatt@apple.com>
1325
1326         Reviewed by Darin Adler.
1327
1328         Fix for user stylesheet bugs where they get parsed using the wrong compatibility mode.  This was a regression
1329         caused from Safari 3 -> 4 by the Acid3 fixes to create a real DOCTYPE in the DOM.
1330
1331         This patch makes style selector creation lazy, so that the selector isn't built unless someone asks for it.
1332
1333         In order to avoid creating the style selector before the compatibility mode has been determined, document
1334         style is now created without having a dependence on an instantiated style selector.  The creation of the style
1335         is now done as a static method on CSSStyleSelector called styleForDocument, and a couple of font-related
1336         functions have been made static as well so that they can be used by this method.
1337
1338         m_styleSelector on Document is now an OwnPtr.
1339
1340         Added userscripts/mixed-case-stylesheet.html
1341
1342         * css/CSSStyleSelector.cpp:
1343         (WebCore::CSSStyleSelector::styleForDocument):
1344         (WebCore::CSSStyleSelector::applyProperty):
1345         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
1346         (WebCore::CSSStyleSelector::setFontSize):
1347         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
1348         (WebCore::CSSStyleSelector::fontSizeForKeyword):
1349         * css/CSSStyleSelector.h:
1350         * dom/Document.cpp:
1351         (WebCore::Document::Document):
1352         (WebCore::Document::~Document):
1353         (WebCore::Document::recalcStyle):
1354         (WebCore::Document::createStyleSelector):
1355         (WebCore::Document::attach):
1356         (WebCore::Document::setVisuallyOrdered):
1357         (WebCore::Document::recalcStyleSelector):
1358         * dom/Document.h:
1359         (WebCore::Document::styleSelector):
1360         (WebCore::Document::visuallyOrdered):
1361         * html/HTMLDocument.cpp:
1362         (WebCore::HTMLDocument::determineParseMode):
1363         * loader/PlaceholderDocument.cpp:
1364         (WebCore::PlaceholderDocument::attach):
1365
1366 2010-01-28  Kent Tamura  <tkent@chromium.org>
1367
1368         Reviewed by Darin Adler.
1369
1370         Rename ISODateTime.{cpp,h} to DateComponents.{cpp,h}
1371         https://bugs.webkit.org/show_bug.cgi?id=34245
1372
1373         No functional changes.
1374
1375         * GNUmakefile.am:
1376         * WebCore.gypi:
1377         * WebCore.pro:
1378         * WebCore.vcproj/WebCore.vcproj:
1379         * WebCore.xcodeproj/project.pbxproj:
1380         * html/DateComponents.cpp: Copied from WebCore/html/ISODateTime.cpp.
1381         (WebCore::DateComponents::maxWeekNumberInYear):
1382         (WebCore::DateComponents::parseYear):
1383         (WebCore::DateComponents::addDay):
1384         (WebCore::DateComponents::addMinute):
1385         (WebCore::DateComponents::parseTimeZone):
1386         (WebCore::DateComponents::parseMonth):
1387         (WebCore::DateComponents::parseDate):
1388         (WebCore::DateComponents::parseWeek):
1389         (WebCore::DateComponents::parseTime):
1390         (WebCore::DateComponents::parseDateTimeLocal):
1391         (WebCore::DateComponents::parseDateTime):
1392         (WebCore::DateComponents::setMillisecondsSinceMidnightInternal):
1393         (WebCore::DateComponents::setMillisecondsSinceEpochForDateInternal):
1394         (WebCore::DateComponents::setMillisecondsSinceEpochForDate):
1395         (WebCore::DateComponents::setMillisecondsSinceEpochForDateTime):
1396         (WebCore::DateComponents::setMillisecondsSinceEpochForDateTimeLocal):
1397         (WebCore::DateComponents::setMillisecondsSinceEpochForMonth):
1398         (WebCore::DateComponents::setMillisecondsSinceMidnight):
1399         (WebCore::DateComponents::setMillisecondsSinceEpochForWeek):
1400         (WebCore::DateComponents::millisecondsSinceEpochForTime):
1401         (WebCore::DateComponents::millisecondsSinceEpoch):
1402         (WebCore::DateComponents::toStringForTime):
1403         (WebCore::DateComponents::toString):
1404         * html/DateComponents.h: Copied from WebCore/html/ISODateTime.h.
1405         (WebCore::DateComponents::DateComponents):
1406         * html/HTMLInputElement.cpp:
1407         (WebCore::HTMLInputElement::parseToDouble):
1408         (WebCore::HTMLInputElement::valueAsDate):
1409         (WebCore::HTMLInputElement::setValueAsDate):
1410         (WebCore::HTMLInputElement::setValueAsNumber):
1411         (WebCore::HTMLInputElement::formStringToDateComponents):
1412         * html/HTMLInputElement.h:
1413         * html/ISODateTime.cpp: Removed.
1414         * html/ISODateTime.h: Removed.
1415         * html/ValidityState.cpp:
1416         (WebCore::ValidityState::typeMismatch):
1417
1418 2010-01-28  Alexander Pavlov  <apavlov@chromium.org>
1419
1420         Reviewed by Pavel Feldman.
1421
1422         Use platform-specific monospace fonts in the Web Inspector
1423
1424         Move the OS version detection code into the frontend,
1425         add custom CSS monospace styles for known platforms.
1426         https://bugs.webkit.org/show_bug.cgi?id=34040
1427
1428         * inspector/InspectorFrontendHost.cpp:
1429         (WebCore::InspectorFrontendHost::platform):
1430         * inspector/front-end/BreakpointsSidebarPane.js:
1431         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
1432         * inspector/front-end/DatabaseQueryView.js:
1433         (WebInspector.DatabaseQueryView):
1434         * inspector/front-end/InspectorBackendStub.js:
1435         (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup):
1436         (.WebInspector.InspectorBackendStub.prototype.setInjectedScriptSource):
1437         * inspector/front-end/SourceFrame.js:
1438         (WebInspector.SourceFrame.prototype._createConditionElement):
1439         * inspector/front-end/inspector.css:
1440         * inspector/front-end/inspector.html:
1441         * inspector/front-end/inspector.js:
1442         (WebInspector.URLRegExp.i.get platform):
1443         (WebInspector._detectPlatform):
1444
1445 2010-01-28  Mikhail Naganov  <mnaganov@chromium.org>
1446
1447         Reviewed by Timothy Hatcher.
1448
1449         Simplify views logic in Profiler panel, and fix the problem described in the issue.
1450         Remove image from Welcome view.
1451         Preserve border on status bar-like buttons in Welcome view on window deactivation.
1452
1453         https://bugs.webkit.org/show_bug.cgi?id=34201
1454
1455         * inspector/front-end/ProfilesPanel.js:
1456         (WebInspector.ProfilesPanel.prototype.show):
1457         (WebInspector.ProfilesPanel.prototype.reset):
1458         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
1459         (WebInspector.ProfilesPanel.prototype.showView):
1460         (WebInspector.ProfilesPanel.prototype._updateInterface):
1461         * inspector/front-end/WelcomeView.js:
1462         (WebInspector.WelcomeView):
1463         * inspector/front-end/inspector.css:
1464
1465 2010-01-18  Holger Hans Peter Freyther  <zecke@selfish.org>
1466
1467         Reviewed by Eric Seidel.
1468
1469         [Qt] Speed up KURL to QUrl conversion
1470         https://bugs.webkit.org/show_bug.cgi?id=33873
1471
1472         The WebCore::String::utf8 method will use the generic WebCore::TextCodec
1473         and then call the encode method on it. In QtWebKit this class is implemented
1474         around the QTextCodec class. Instead of going the generic codec way we treat
1475         the WebCore::String as a QString (no copying) and then use the built-in
1476         QString::toUtf8 to do the conversion.
1477
1478         * platform/qt/KURLQt.cpp:
1479         (WebCore::KURL::operator QUrl):
1480
1481 2010-01-28  Ben Murdoch  <benm@google.com>
1482
1483         Reviewed by Simon Hausmann.
1484
1485         [Android] [Qt] Touch event page co-ordinates are incorrect when touch is received in an iframe.
1486         https://bugs.webkit.org/show_bug.cgi?id=34162
1487
1488         The pageX/pageY co-ordinates of a touch event should be relative to the containing frame, not the main frame. This change implements that and also updates the existing touch-inside-iframe test to also examine the page co-ordinates.
1489
1490         * dom/Touch.cpp:
1491         (WebCore::Touch::Touch): Remove dead code.
1492         * dom/Touch.h: Remove dead code.
1493         * page/EventHandler.cpp:
1494         (WebCore::EventHandler::handleTouchEvent): Rename framePoint to pagePoint, as it seems a clearer name. Also adjust the pagePoint to be relative to the touch target element's containing frame rather than the main frame.
1495         * platform/PlatformTouchEvent.h: Rename Android specific constructor parameter to better reflect it's contents.
1496         * platform/PlatformTouchPoint.h: Ditto.
1497         * platform/android/PlatformTouchEventAndroid.cpp: Ditto.
1498         * platform/android/PlatformTouchPointAndroid.cpp: Ditto.
1499
1500 2010-01-28  Yury Semikhatsky  <yurys@chromium.org>
1501
1502         Reviewed by Pavel Feldman.
1503
1504         Simplify isActivation method.
1505
1506         https://bugs.webkit.org/show_bug.cgi?id=34161
1507
1508         Test: WebCore/manual-tests/inspector/debugger-scopes-inspection.html
1509
1510         * bindings/js/JSInjectedScriptHostCustom.cpp:
1511         (WebCore::JSInjectedScriptHost::isActivation):
1512
1513 2010-01-27  Kent Tamura  <tkent@chromium.org>
1514
1515         Reviewed by Darin Adler.
1516
1517         rangeOverflow/rangeUnderflow support for type=date
1518         https://bugs.webkit.org/show_bug.cgi?id=34209
1519
1520         Add DATE type support to rangeUnderflow(), rangeOverflow(),
1521         minimum(), and maximum() of HTMLInputElement.
1522         In order to unify parsing code for value, min, and max strings,
1523         introduce parseToDouble() function and it is called by
1524         valueAsDate() and valueAsNumber() too.
1525
1526         Tests: fast/forms/ValidityState-rangeOverflow-date.html
1527                fast/forms/ValidityState-rangeUnderflow-date.html
1528
1529         * html/HTMLInputElement.cpp:
1530         (WebCore::HTMLInputElement::rangeUnderflow): Support DATE type, and use parseToDouble().
1531         (WebCore::HTMLInputElement::rangeOverflow): ditto.
1532         (WebCore::HTMLInputElement::minimum): ditto.
1533         (WebCore::HTMLInputElement::maximum): ditto.
1534         (WebCore::HTMLInputElement::doubleValueFor): Added.
1535         (WebCore::HTMLInputElement::valueAsDate): Use parseToDouble().
1536         (WebCore::HTMLInputElement::valueAsNumber): Use parseToDouble().
1537         * html/HTMLInputElement.h: Declare parseToDouble().
1538
1539 2010-01-27  Darin Fisher  <darin@chromium.org>
1540
1541         Fix chromium build bustage (take 2).
1542
1543         * bindings/scripts/CodeGeneratorV8.pm: Really treat V8CustomGetter like CustomGetter in all cases.
1544
1545 2010-01-27  Darin Fisher  <darin@chromium.org>
1546
1547         Fix chromium build bustage.
1548
1549         * bindings/scripts/CodeGeneratorV8.pm: Treat V8CustomGetter like CustomGetter in all cases.
1550
1551 2010-01-27  Oliver Hunt  <oliver@apple.com>
1552
1553         Reviewed by Maciej Stachowiak.
1554
1555         MessageEvent.data should deserialize in the context of the MessageEvent's global object
1556         https://bugs.webkit.org/show_bug.cgi?id=34227
1557
1558         Make ScriptValue deserialisation support the provision of a specific global
1559         object to use when creating new objects.  This then allows us to make
1560         MessageEvent.data and PopStateEvent.state deserialize in the correct
1561         context.
1562
1563         Test: fast/dom/Window/window-postmessage-clone-frames.html
1564
1565         * bindings/js/JSPopStateEventCustom.cpp:
1566           Remove custom implementation of state getter
1567         * bindings/js/SerializedScriptValue.cpp:
1568         (WebCore::DeserializingTreeWalker::DeserializingTreeWalker):
1569         (WebCore::DeserializingTreeWalker::createOutputArray):
1570         (WebCore::DeserializingTreeWalker::createOutputObject):
1571         (WebCore::DeserializingTreeWalker::convertIfTerminal):
1572         (WebCore::SerializedScriptValueData::deserialize):
1573         (WebCore::SerializedScriptValue::deserialize):
1574         * bindings/js/SerializedScriptValue.h:
1575         (WebCore::SerializedScriptValue::deserialize):
1576         * bindings/scripts/CodeGeneratorJS.pm:
1577           Update bindings generation to pass the correct global object, and to
1578           treat "any" as synonymous with SerializedValue.
1579         * dom/PopStateEvent.idl:
1580
1581 2010-01-27  Nicholas Young  <nicholas.young@nokia.com>
1582
1583         Reviewed by Eric Carlson.
1584
1585         Make media controls fade in/out transition duration configurable on a theme level.
1586         https://bugs.webkit.org/show_bug.cgi?id=34196
1587
1588         No new tests needed (I hope).
1589
1590         * rendering/RenderMedia.cpp:
1591         (WebCore::RenderMedia::RenderMedia): Removed constant from contructor - the initial value is meaningless.
1592         (WebCore::RenderMedia::updateControlVisibility): Get fade in/out duration from theme.
1593         * rendering/RenderTheme.h:
1594         (WebCore::RenderTheme::mediaControlsFadeInDuration): New virtual method.
1595         (WebCore::RenderTheme::mediaControlsFadeOutDuration): New virtual method.
1596
1597 2010-01-27  John Abd-El-Malek  <jam@chromium.org>
1598
1599         Reviewed by Dimitri Glazkov.
1600
1601         Tests that when a page removes an iframe that sleeps in its unload handler and
1602         terminates its JS execution, the outer page's JS continues running.
1603         
1604         https://bugs.webkit.org/show_bug.cgi?id=34226
1605
1606         Tests: fast/dom/Window/slow-unload-handler-only-frame-is-stopped.html
1607                fast/dom/Window/slow-unload-handler.html
1608
1609         * bindings/v8/DateExtension.cpp:
1610         (WebCore::DateExtension::OnSleepDetected):
1611
1612 2010-01-27  Kent Tamura  <tkent@chromium.org>
1613
1614         Reviewed by Darin Adler.
1615
1616         Add valueAsNumber support for type=datetime-local.
1617         https://bugs.webkit.org/show_bug.cgi?id=34200
1618
1619         Implement necessary methods of ISODateTime, and call them from
1620         HTMLInputElement.
1621
1622         Test: fast/forms/input-valueasnumber-datetimelocal.html
1623
1624         * html/HTMLInputElement.cpp:
1625         (WebCore::HTMLInputElement::valueAsNumber):
1626         (WebCore::HTMLInputElement::setValueAsNumber):
1627         * html/ISODateTime.cpp:
1628         (WebCore::ISODateTime::setMillisecondsSinceEpochForDateTimeLocal):
1629           Implemented.  Just call setMillisecondsSinceEpochForDateTime().
1630         (WebCore::ISODateTime::millisecondsSinceEpochForTime):
1631           Accept to be called for m_type=DateTimeLocal.
1632         (WebCore::ISODateTime::toString): Add DateTimeLocal support.
1633         * html/ISODateTime.h: Declare new methods.
1634
1635 2010-01-27  Steve Falkenburg  <sfalken@apple.com>
1636
1637         Windows Debug_All build fix.
1638
1639         * platform/graphics/win/WKCACFLayer.cpp:
1640         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1641
1642 2010-01-27  Evan Martin  <evan@chromium.org>
1643
1644         Reviewed by David Levin.
1645
1646         [chromium] complex text draws newlines as bells
1647         https://bugs.webkit.org/show_bug.cgi?id=34186
1648
1649         Revert r45496 -- once we've got a glyph array, it is too late to normalize
1650         because we could have had multiple codepoints combine into one glyph.  The
1651         Uniscribe code it mentions it's duplicating uses the log cluster map to fix
1652         this.
1653
1654         Instead, we just normalize the input text if it contains any non-ascii-space
1655         whitespace.
1656
1657         This fixes fast/text/international/hindi-whitespace, which currently has an
1658         incorrect baseline containing a square box glyph.
1659
1660         * platform/graphics/chromium/FontLinux.cpp:
1661         (WebCore::TextRunWalker::getTextRun):
1662         (WebCore::TextRunWalker::getNormalizedTextRun):
1663         * platform/graphics/chromium/HarfbuzzSkia.cpp:
1664         (WebCore::stringToGlyphs):
1665
1666 2010-01-27  Alexey Proskuryakov  <ap@apple.com>
1667
1668         Reviewed by Darin Adler.
1669
1670         https://bugs.webkit.org/show_bug.cgi?id=34150
1671         WebKit needs a mechanism to catch stale HashMap entries
1672
1673         * css/CSSStyleSelector.cpp:
1674         (WebCore::CSSRuleSet::getIDRules):
1675         (WebCore::CSSRuleSet::getClassRules):
1676         (WebCore::CSSRuleSet::getTagRules):
1677         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
1678         * dom/CheckedRadioButtons.cpp:
1679         (WebCore::CheckedRadioButtons::checkedButtonForGroup):
1680         (WebCore::CheckedRadioButtons::removeButton):
1681         * editing/markup.cpp:
1682         (WebCore::shouldAddNamespaceAttr):
1683         (WebCore::appendNamespace):
1684         (WebCore::appendStartMarkup):
1685         * html/HTMLCollection.cpp:
1686         (WebCore::HTMLCollection::namedItems):
1687         (WebCore::HTMLCollection::nextNamedItem):
1688         * html/HTMLFormCollection.cpp:
1689         (WebCore::HTMLFormCollection::formCollectionInfo):
1690         * html/HTMLSelectElement.h:
1691         (WebCore::HTMLSelectElement::collectionInfo):
1692         * loader/loader.cpp:
1693         (WebCore::Loader::load):
1694         (WebCore::Loader::servePendingRequests):
1695         (WebCore::Loader::nonCacheRequestInFlight):
1696         (WebCore::Loader::nonCacheRequestComplete):
1697         (WebCore::Loader::cancelRequests):
1698         * page/animation/CompositeAnimation.cpp:
1699         (WebCore::CompositeAnimation::clearRenderer):
1700         (WebCore::CompositeAnimation::updateKeyframeAnimations):
1701         (WebCore::CompositeAnimation::animate):
1702         (WebCore::CompositeAnimation::getAnimatedStyle):
1703         (WebCore::CompositeAnimation::setAnimating):
1704         (WebCore::CompositeAnimation::timeToNextService):
1705         (WebCore::CompositeAnimation::getAnimationForProperty):
1706         (WebCore::CompositeAnimation::suspendAnimations):
1707         (WebCore::CompositeAnimation::resumeAnimations):
1708         (WebCore::CompositeAnimation::isAnimatingProperty):
1709         (WebCore::CompositeAnimation::pauseAnimationAtTime):
1710         (WebCore::CompositeAnimation::numberOfActiveAnimations):
1711         Added checkConsistency checks before lookups in HashMaps with AtomicStringImpl* keys.
1712
1713         * dom/Document.cpp:
1714         (WebCore::Document::removedLastRef): Clear m_elementsById map, because removeAllChildren()
1715         doesn't always update it correctly when called during docuemnt destruction.
1716         (WebCore::Document::getElementById): Added checkConsistency().
1717         (WebCore::Document::removeElementById): Ditto.
1718         (WebCore::Document::removeImageMap): Ditto.
1719         (WebCore::Document::getImageMap): Ditto.
1720         (WebCore::Document::nameCollectionInfo): Ditto.
1721         * dom/Document.h:
1722         (WebCore::Document::collectionInfo): Ditto.
1723
1724         * html/CollectionCache.cpp:
1725         (WebCore::CollectionCache::checkConsistency):
1726         * html/CollectionCache.h:
1727         Added a checkConsistency() method that checks both HashMaps in the cache.
1728
1729         * platform/TreeShared.h:
1730         (WebCore::TreeShared::~TreeShared): Assert that m_refCount is null. Since Nodes can be
1731         destroyed with operator delete (as done in ContainerNodeAlgorithms), this is important to check.
1732         (WebCore::TreeShared::deref): Assert that m_refCount isn't already negative.
1733
1734 2010-01-27  Brian Tarricone  <brian@kakai.com>
1735
1736         Reviewed by Gustavo Noronha Silva.
1737
1738         [gtk] Add support for windowless NPAPI plugins
1739
1740         Much of this is a translation of how the Qt backend does this,
1741         modified for Gtk.
1742
1743         https://bugs.webkit.org/show_bug.cgi?id=18831
1744
1745         No new tests; there is already a windowless test in the tree.
1746
1747         * plugins/PluginView.cpp:
1748         (WebCore::PluginView::handleEvent):
1749         (WebCore::PluginView::PluginView):
1750         * plugins/PluginView.h:
1751         * plugins/gtk/PluginViewGtk.cpp:
1752         (WebCore::getRootWindow):
1753         (WebCore::PluginView::updatePluginWidget):
1754         (WebCore::PluginView::paint):
1755         (WebCore::PluginView::handleKeyboardEvent):
1756         (WebCore::inputEventState):
1757         (WebCore::PluginView::initXEvent):
1758         (WebCore::setXButtonEventSpecificFields):
1759         (WebCore::setXMotionEventSpecificFields):
1760         (WebCore::setXCrossingEventSpecificFields):
1761         (WebCore::PluginView::handleMouseEvent):
1762         (WebCore::PluginView::handleFocusInEvent):
1763         (WebCore::PluginView::handleFocusOutEvent):
1764         (WebCore::PluginView::setNPWindowRect):
1765         (WebCore::PluginView::setNPWindowIfNeeded):
1766         (WebCore::PluginView::getValueStatic):
1767         (WebCore::PluginView::invalidateRect):
1768         (WebCore::getPluginDisplay):
1769         (WebCore::plug_removed_cb):
1770         (WebCore::getVisualAndColormap):
1771         (WebCore::PluginView::platformStart):
1772         (WebCore::PluginView::platformDestroy):
1773
1774 2010-01-27  Anton Muhin  <antonm@chromium.org>
1775
1776         Reviewed by David Levin.
1777
1778         [v8] minor cosmetic fix in V8 bindings codegenerator
1779         https://bugs.webkit.org/show_bug.cgi?id=34224
1780
1781         * bindings/scripts/CodeGeneratorV8.pm:
1782
1783 2010-01-27  Darin Fisher  <darin@chromium.org>
1784
1785         Fix Chromium build bustage.
1786
1787         * rendering/RenderBoxModelObject.cpp: Add wtf/CurrentTime.h include.
1788
1789 2010-01-26  Darin Fisher  <darin@chromium.org>
1790
1791         Reviewed by Brady Eidson and David Levin.
1792
1793         Chains of history items representing same-document navigation need to
1794         always remember that association
1795
1796         https://bugs.webkit.org/show_bug.cgi?id=33224
1797
1798         Replace HistoryItem's Document pointer with a DocumentSequenceNumber.
1799         During session history traversal, if the current HistoryItem and the
1800         target HistoryItem have the same DocumentSequenceNumber, then it means
1801         that the current Document should remain.
1802
1803         NOTE: To support Chromium's serialization of HistoryItems, I generate
1804         DocumentSequenceNumbers that are unique across application launches.
1805         DocumentSequenceNumbers are generated using a counter initialized with
1806         the time of day.
1807
1808         Test: fast/loader/stateobjects/document-destroyed-navigate-back.html
1809
1810         * dom/Document.cpp:
1811         (WebCore::Document::detach):
1812         * dom/Document.h:
1813         * history/BackForwardList.cpp:
1814         (WebCore::BackForwardList::pushStateItem):
1815         * history/BackForwardListChromium.cpp:
1816         (WebCore::BackForwardList::pushStateItem):
1817         * history/HistoryItem.cpp:
1818         (WebCore::generateDocumentSequenceNumber):
1819         (WebCore::HistoryItem::HistoryItem):
1820         (WebCore::HistoryItem::~HistoryItem):
1821         (WebCore::HistoryItem::setStateObject):
1822         * history/HistoryItem.h:
1823         (WebCore::HistoryItem::setDocumentSequenceNumber):
1824         (WebCore::HistoryItem::documentSequenceNumber):
1825         * loader/FrameLoader.cpp:
1826         (WebCore::FrameLoader::navigateWithinDocument):
1827         (WebCore::FrameLoader::loadItem):
1828         * loader/HistoryController.cpp:
1829         (WebCore::HistoryController::updateBackForwardListForFragmentScroll):
1830         (WebCore::HistoryController::pushState):
1831         (WebCore::HistoryController::replaceState):
1832         * loader/RedirectScheduler.cpp:
1833         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
1834         * page/History.cpp:
1835         (WebCore::History::stateObjectAdded):
1836         * page/Page.cpp:
1837         (WebCore::Page::goToItem):
1838
1839 2010-01-27  Oliver Hunt  <oliver@apple.com>
1840
1841         Reviewed by Simon Fraser.
1842
1843         Animated scaling of background-image is too slow
1844         https://bugs.webkit.org/show_bug.cgi?id=33808
1845
1846         Implement a version of the RenderImage animated scaling optimisation
1847         for background images.  Due to the possibility of arbitrary transforms
1848         being applied to containing elements we explicitly check the current
1849         CTM of the context for scaling or rotation.
1850
1851         * platform/graphics/GraphicsContext.cpp:
1852         (WebCore::GraphicsContext::drawTiledImage):
1853         * platform/graphics/GraphicsContext.h:
1854         * platform/graphics/transforms/TransformationMatrix.h:
1855         (WebCore::TransformationMatrix::isIdentityOrTranslation):
1856         * rendering/RenderBoxModelObject.cpp:
1857         (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData):
1858         (WebCore::RenderBoxModelScaleData::~RenderBoxModelScaleData):
1859         (WebCore::RenderBoxModelScaleData::size):
1860         (WebCore::RenderBoxModelScaleData::time):
1861         (WebCore::RenderBoxModelScaleData::useLowQualityScale):
1862         (WebCore::RenderBoxModelScaleData::hiqhQualityRepaintTimer):
1863         (WebCore::RenderBoxModelScaleData::setSize):
1864         (WebCore::RenderBoxModelScaleData::setTime):
1865         (WebCore::RenderBoxModelScaleData::setUseLowQualityScale):
1866         (WebCore::RenderBoxModelScaleObserver::boxModelObjectDestroyed):
1867         (WebCore::RenderBoxModelScaleObserver::highQualityRepaintTimerFired):
1868         (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
1869         (WebCore::RenderBoxModelObject::highQualityRepaintTimerFired):
1870         (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
1871         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1872         * rendering/RenderBoxModelObject.h:
1873
1874 2010-01-27  Yael Aharon  <yael.aharon@nokia.com>
1875
1876         Reviewed by Laszlo Gombos.
1877
1878         [Qt] Enable websockets support in QtWebKit
1879         https://bugs.webkit.org/show_bug.cgi?id=34180
1880
1881         Connected between SocketStreamHandle and QTcpSocket/QSslSocket
1882         to enable support for websockets.
1883         Proxy authentication is not yet supported.
1884         SSL certificate errors are ignored while this is under development.
1885
1886         * WebCore.pro:
1887         * platform/network/qt/SocketStreamHandle.h:
1888         * platform/network/qt/SocketStreamHandlePrivate.h: Added.
1889         * platform/network/qt/SocketStreamHandleQt.cpp:
1890         (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
1891         (WebCore::SocketStreamHandlePrivate::~SocketStreamHandlePrivate):
1892         (WebCore::SocketStreamHandlePrivate::socketConnected):
1893         (WebCore::SocketStreamHandlePrivate::socketReadyRead):
1894         (WebCore::SocketStreamHandlePrivate::send):
1895         (WebCore::SocketStreamHandlePrivate::close):
1896         (WebCore::SocketStreamHandlePrivate::socketSentdata):
1897         (WebCore::SocketStreamHandlePrivate::socketClosed):
1898         (WebCore::SocketStreamHandlePrivate::socketError):
1899         (WebCore::SocketStreamHandlePrivate::socketClosedCallback):
1900         (WebCore::SocketStreamHandlePrivate::socketErrorCallback):
1901         (WebCore::SocketStreamHandlePrivate::socketSslErrors):
1902         (WebCore::SocketStreamHandle::SocketStreamHandle):
1903         (WebCore::SocketStreamHandle::~SocketStreamHandle):
1904         (WebCore::SocketStreamHandle::platformSend):
1905         (WebCore::SocketStreamHandle::platformClose):
1906
1907 2010-01-27  Mads Ager  <ager@chromium.org>
1908
1909         Reviewed by Dimitri Glazkov.
1910
1911         [V8] Support getting integer-named properties using indexing notation on document object
1912         https://bugs.webkit.org/show_bug.cgi?id=34211
1913
1914         Add indexed property getter to HTMLDocument to support getting
1915         elements with integer names using indexing notation on document.
1916
1917         Test: fast/dom/HTMLDocument/get-iframe-with-integer-name.html
1918
1919         * bindings/scripts/CodeGeneratorV8.pm:
1920         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1921         (WebCore::V8HTMLDocument::indexedPropertyGetter):
1922
1923 2010-01-27  Yury Semikhatsky  <yurys@chromium.org>
1924
1925         Reviewed by Oliver Hunt.
1926
1927         Instead of relying on Object.prototype.toString result use JSObject::isActivationObject
1928         to check if a scope node is a JSActivation. Object.prototype.toString for JSActivation
1929         will call JSActivation::toThisObject whose result depends on the current call stack.
1930
1931         https://bugs.webkit.org/show_bug.cgi?id=34161
1932
1933         Test: WebCore/manual-tests/inspector/debugger-scopes-inspection.html
1934
1935         * bindings/js/JSInjectedScriptHostCustom.cpp:
1936         (WebCore::JSInjectedScriptHost::isActivation):
1937         * inspector/InjectedScriptHost.idl:
1938         * inspector/front-end/InjectedScript.js:
1939         (injectedScriptConstructor.):
1940         * manual-tests/inspector/debugger-scopes-inspection.html: Added.
1941
1942 2010-01-27 Anton Muhin <antonm@google.com>
1943         Review by Adam Barth.
1944
1945         Implement Node map in intrusive way for better speed.
1946         https://bugs.webkit.org/show_bug.cgi?id=33957
1947
1948         * bindings/v8/DOMData.h:
1949         (WebCore::DOMData::removeObjectsFromWrapperMap):
1950         * bindings/v8/DOMDataStore.cpp:
1951         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::get):
1952         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::set):
1953         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent):
1954         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::contains):
1955         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::visit):
1956         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clear):
1957         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::allocateTableEntry):
1958         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::freeTableEntry):
1959         * bindings/v8/DOMDataStore.h:
1960         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
1961         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clearEntry):
1962         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clearEntries):
1963         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::visitEntries):
1964         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::TableChunk::TableChunk):
1965         (WebCore::DOMDataStore::domNodeMap):
1966         * bindings/v8/StaticDOMDataStore.cpp:
1967         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
1968         * bindings/v8/StaticDOMDataStore.h:
1969         * bindings/v8/V8DOMMap.cpp:
1970         (WebCore::getDOMNodeMap):
1971         * bindings/v8/V8DOMMap.h:
1972         (WebCore::AbstractWeakReferenceMap::AbstractWeakReferenceMap):
1973         (WebCore::AbstractWeakReferenceMap::weakReferenceCallback):
1974         (WebCore::WeakReferenceMap::WeakReferenceMap):
1975         (WebCore::WeakReferenceMap::set):
1976         (WebCore::WeakReferenceMap::visit):
1977         * bindings/v8/V8DOMWrapper.cpp:
1978         (WebCore::V8DOMWrapper::convertDocumentToV8Object):
1979         (WebCore::getWrapper):
1980         (WebCore::V8DOMWrapper::convertNodeToV8Object):
1981         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
1982         * bindings/v8/V8DOMWrapper.h:
1983
1984 2010-01-27  Kinuko Yasuda  <kinuko@chromium.org>
1985
1986         Reviewed by Eric Seidel.
1987
1988         Add key event mappings for numpad keys for Gtk and Chromium/Gtk.
1989         http://bugs.webkit.org/show_bug.cgi?id=28247
1990
1991         Test: fast/events/keydown-numpad-keys.html
1992
1993         * platform/chromium/KeyCodeConversionGtk.cpp:
1994         (WebCore::windowsKeyCodeForKeyEvent):
1995         * platform/gtk/KeyEventGtk.cpp:
1996         (WebCore::windowsKeyCodeForKeyEvent):
1997
1998 2010-01-27  Pavel Feldman  <pfeldman@chromium.org>
1999
2000         Reviewed by Timothy Hatcher.
2001
2002         Web Inspector: migrate from SourceFrame to SourceFrame2.
2003
2004         https://bugs.webkit.org/show_bug.cgi?id=34171
2005
2006         * WebCore.gypi:
2007         * WebCore.vcproj/WebCore.vcproj:
2008         * bindings/js/JSInspectorFrontendHostCustom.cpp:
2009         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
2010         * inspector/InspectorFrontendHost.cpp:
2011         * inspector/InspectorFrontendHost.h:
2012         * inspector/InspectorFrontendHost.idl:
2013         * inspector/front-end/InspectorBackendStub.js:
2014         * inspector/front-end/InspectorFrontendHostStub.js:
2015         * inspector/front-end/ResourceView.js:
2016         (WebInspector.ResourceView.prototype._innerSelectContentTab):
2017         * inspector/front-end/ResourcesPanel.js:
2018         (WebInspector.getResourceContent):
2019         * inspector/front-end/ScriptView.js:
2020         (WebInspector.ScriptView):
2021         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
2022         * inspector/front-end/ScriptsPanel.js:
2023         (WebInspector.ScriptsPanel.prototype._sidebarResizeDrag):
2024         * inspector/front-end/SourceFrame.js:
2025         (WebInspector.SourceFrame):
2026         (WebInspector.SourceFrame.prototype.set executionLine):
2027         (WebInspector.SourceFrame.prototype.revealLine):
2028         (WebInspector.SourceFrame.prototype.addBreakpoint):
2029         (WebInspector.SourceFrame.prototype.removeBreakpoint):
2030         (WebInspector.SourceFrame.prototype.addMessage):
2031         (WebInspector.SourceFrame.prototype.clearMessages):
2032         (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
2033         (WebInspector.SourceFrame.prototype.setContent):
2034         (WebInspector.SourceFrame.prototype.findSearchMatches):
2035         (WebInspector.SourceFrame.prototype._collectRegexMatches):
2036         (WebInspector.SourceFrame.prototype.setSelection):
2037         (WebInspector.SourceFrame.prototype._incrementMessageRepeatCount):
2038         (WebInspector.SourceFrame.prototype._addExistingMessagesToSource):
2039         (WebInspector.SourceFrame.prototype._addMessageToSource):
2040         (WebInspector.SourceFrame.prototype._addExistingBreakpointsToSource):
2041         (WebInspector.SourceFrame.prototype._addBreakpointToSource):
2042         (WebInspector.SourceFrame.prototype._removeBreakpointFromSource):
2043         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
2044         (WebInspector.SourceFrame.prototype._contextMenu):
2045         (WebInspector.SourceFrame.prototype._toggleBreakpoint):
2046         (WebInspector.SourceFrame.prototype._editBreakpointCondition.committed):
2047         (WebInspector.SourceFrame.prototype._editBreakpointCondition.dismissed):
2048         (WebInspector.SourceFrame.prototype._editBreakpointCondition):
2049         (WebInspector.SourceFrame.prototype._showBreakpointConditionPopup):
2050         (WebInspector.SourceFrame.prototype._createConditionElement):
2051         (WebInspector.SourceFrame.prototype._keyDown):
2052         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
2053         (WebInspector.SourceFrame.prototype._breakpointChanged):
2054         (WebInspector.SourceFrame.prototype.resize):
2055         (WebInspector.BreakpointLineNumberDecorator):
2056         (WebInspector.BreakpointLineNumberDecorator.prototype.decorate):
2057         (WebInspector.BreakpointLineNumberDecorator.prototype._paintBreakpoint):
2058         (WebInspector.BreakpointLineNumberDecorator.prototype._paintProgramCounter):
2059         (WebInspector.BreakpointLineNumberDecorator.prototype.mouseDown):
2060         (WebInspector.BreakpointLineNumberDecorator.prototype.contextMenu):
2061         (WebInspector.ExecutionLineDecorator):
2062         (WebInspector.ExecutionLineDecorator.prototype.decorate):
2063         * inspector/front-end/SourceFrame2.js: Removed.
2064         * inspector/front-end/SourceView.js:
2065         (WebInspector.SourceView):
2066         (WebInspector.SourceView.prototype.show):
2067         (WebInspector.SourceView.prototype.resize):
2068         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
2069         (WebInspector.SourceView.prototype._contentLoaded):
2070         (WebInspector.SourceView.prototype.performSearch.findSearchMatches):
2071         (WebInspector.SourceView.prototype.performSearch):
2072         (WebInspector.SourceView.prototype._jumpToSearchResult):
2073         (WebInspector.SourceView.prototype._sourceFrameSetupFinished):
2074         * inspector/front-end/TextEditor.js:
2075         (WebInspector.TextEditor.prototype._mouseDown):
2076         (WebInspector.TextEditor.prototype._copy.delayCopy):
2077         (WebInspector.TextEditor.prototype._copy):
2078         (WebInspector.TextEditor.prototype._cut):
2079         * inspector/front-end/WebKit.qrc:
2080         * inspector/front-end/inspector.html:
2081
2082 2010-01-27  Dominik Röttsches  <dominik.roettsches@access-company.com>
2083
2084         Reviewed by Xan Lopez.
2085
2086         [Gtk] For removing ICU, implement IDN support by means of libidn
2087         https://bugs.webkit.org/show_bug.cgi?id=31470
2088
2089         In order to avoid a new dependency, 
2090         IDN support now based on GLib for the GLib unicode backend.
2091
2092         * platform/KURL.cpp:
2093         (WebCore::appendEncodedHostname):
2094
2095 2010-01-27  Simon Hausmann  <simon.hausmann@nokia.com>
2096
2097         Reviewed by Kenneth Rohde Christiansen.
2098
2099         [Qt] For package builds use the .def files on Symbian
2100
2101         * WebCore.pro:
2102
2103 2010-01-27  Alexander Pavlov  <apavlov@chromium.org>
2104
2105         Reviewed by Timothy Hatcher.
2106
2107         Avoid watch expressions duplication
2108         https://bugs.webkit.org/show_bug.cgi?id=33996
2109
2110         * inspector/front-end/WatchExpressionsSidebarPane.js:
2111         (WebInspector.WatchExpressionsSidebarPane.prototype._settingsLoaded):
2112
2113 2010-01-27  Marcus Bulach  <bulach@chromium.org>
2114
2115         Reviewed by Dimitri Glazkov.
2116
2117         Adds EventSource bindings for V8
2118         https://bugs.webkit.org/show_bug.cgi?id=33695
2119
2120         No new tests (existing layout tests for EventSource should pass).
2121
2122         * Android.v8bindings.mk:
2123         * WebCore.gypi:
2124         * bindings/scripts/CodeGeneratorV8.pm:
2125         * bindings/v8/DOMObjectsInclude.h:
2126         * bindings/v8/DerivedSourcesAllInOne.cpp:
2127         * bindings/v8/V8DOMWrapper.cpp:
2128         * bindings/v8/V8DOMWrapper.h:
2129         * bindings/v8/V8Index.cpp:
2130         * bindings/v8/V8Index.h:
2131         * bindings/v8/WorkerContextExecutionProxy.cpp:
2132         * bindings/v8/custom/V8CustomBinding.h:
2133         * bindings/v8/custom/V8EventSourceConstructor.cpp: Added.
2134         * bindings/v8/custom/V8EventSourceCustom.cpp: Added.
2135
2136 2010-01-27  Kent Hansen  <kent.hansen@nokia.com>
2137
2138         Reviewed by Simon Hausmann.
2139
2140         [Qt] Meta-methods can't be introspected using ES5 API
2141         https://bugs.webkit.org/show_bug.cgi?id=34087
2142
2143         Add getOwnPropertyDescriptor() and getOwnPropertyNames() reimplementations.
2144
2145         Tests are in WebKit/qt/tests/qwebframe
2146
2147         * bridge/qt/qt_runtime.cpp:
2148         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
2149         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyNames):
2150         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
2151         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyNames):
2152         * bridge/qt/qt_runtime.h:
2153
2154 2010-01-27  Tony Chang  <tony@chromium.org>
2155
2156         Reviewed by Eric Seidel.
2157
2158         Fix a crash when trying to indent a block element that was contained
2159         in a list.  This was happening because enclosingBlock() in
2160         htmlediting.cpp can return the current the same Node when a block
2161         element (like an <hr> or a <table>) is passed in.  This causes
2162         the indent command to think that it is not in a list item.
2163
2164         Work around this by checking to see if enclosingBlock returned the
2165         same Node.
2166
2167         https://bugs.webkit.org/show_bug.cgi?id=32390
2168
2169         Test: editing/execCommand/indent-block-in-list.html
2170
2171         * editing/IndentOutdentCommand.cpp:
2172         (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
2173
2174 2010-01-27  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2175
2176         Reviewed by Tor Arne Vestbø.
2177
2178         [Qt] Add the "d" suffix to QtWebKit's dll on Windows.
2179
2180         * WebCore.pro:
2181
2182 2010-01-27  Matt Perry  <mpcomplete@chromium.org>
2183
2184         Reviewed by Eric Seidel.
2185
2186         Fix a bug where dispatchDocumentElementAvailable was fired for fragment parsing on XML documents.
2187         https://bugs.webkit.org/show_bug.cgi?id=33920
2188
2189         Tests: userscripts/script-not-run-for-fragments.html
2190                userscripts/script-run-at-start.html
2191
2192         * dom/XMLTokenizerLibxml2.cpp:
2193         (WebCore::XMLTokenizer::startElementNs):
2194
2195 2010-01-27  Pavel Feldman  <pfeldman@chromium.org>
2196
2197         Reviewed by Timothy Hatcher.
2198
2199         Web Inspector: Improve SourceHTMLTokenizer so that it treats script tag well.
2200
2201         https://bugs.webkit.org/show_bug.cgi?id=34177
2202
2203         * inspector/front-end/SourceHTMLTokenizer.js:
2204         (WebInspector.SourceHTMLTokenizer):
2205         (WebInspector.SourceHTMLTokenizer.prototype._isAttribute):
2206         (WebInspector.SourceHTMLTokenizer.prototype._isAttributeValue):
2207         (WebInspector.SourceHTMLTokenizer.prototype._setAttributeValue):
2208         (WebInspector.SourceHTMLTokenizer.prototype._setAttribute):
2209         (WebInspector.SourceHTMLTokenizer.prototype._stringToken):
2210         (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
2211         * inspector/front-end/SourceHTMLTokenizer.re2js:
2212
2213 2010-01-26  Pavel Feldman  <pfeldman@chromium.org>
2214
2215         Reviewed by Timothy Hatcher.
2216
2217         Web Inspector: nuke quarantine wrappers.
2218
2219         https://bugs.webkit.org/show_bug.cgi?id=34203
2220
2221         * Android.jscbindings.mk:
2222         * GNUmakefile.am:
2223         * WebCore.gypi:
2224         * WebCore.pro:
2225         * WebCore.vcproj/WebCore.vcproj:
2226         * bindings/js/JSBindingsAllInOne.cpp:
2227         * bindings/js/JSInspectedObjectWrapper.cpp: Removed.
2228         * bindings/js/JSInspectedObjectWrapper.h: Removed.
2229         * bindings/js/JSInspectorCallbackWrapper.cpp: Removed.
2230         * bindings/js/JSInspectorCallbackWrapper.h: Removed.
2231         * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed.
2232         * bindings/js/JSQuarantinedObjectWrapper.h: Removed.
2233
2234 2010-01-27  Alexey Proskuryakov  <ap@apple.com>
2235
2236         Revert r53899 (HashMap<AtomicStringImpl*, Value> key checks) and subsequent build fixes,
2237         because they make SVG tests crash in release builds.
2238
2239         * css/CSSStyleSelector.cpp:
2240         (WebCore::CSSRuleSet::getIDRules):
2241         (WebCore::CSSRuleSet::getClassRules):
2242         (WebCore::CSSRuleSet::getTagRules):
2243         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
2244         * dom/CheckedRadioButtons.cpp:
2245         (WebCore::CheckedRadioButtons::checkedButtonForGroup):
2246         (WebCore::CheckedRadioButtons::removeButton):
2247         * dom/ContainerNodeAlgorithms.h:
2248         (WebCore::removeAllChildrenInContainer):
2249         * dom/Document.cpp:
2250         (WebCore::Document::getElementById):
2251         (WebCore::Document::removeElementById):
2252         (WebCore::Document::removeImageMap):
2253         (WebCore::Document::getImageMap):
2254         (WebCore::Document::nameCollectionInfo):
2255         * dom/Document.h:
2256         (WebCore::Document::collectionInfo):
2257         * editing/markup.cpp:
2258         (WebCore::shouldAddNamespaceAttr):
2259         (WebCore::appendNamespace):
2260         (WebCore::appendStartMarkup):
2261         * html/CollectionCache.cpp:
2262         * html/CollectionCache.h:
2263         * html/HTMLCollection.cpp:
2264         (WebCore::HTMLCollection::namedItems):
2265         (WebCore::HTMLCollection::nextNamedItem):
2266         * html/HTMLFormCollection.cpp:
2267         (WebCore::HTMLFormCollection::formCollectionInfo):
2268         * html/HTMLSelectElement.h:
2269         (WebCore::HTMLSelectElement::collectionInfo):
2270         * loader/loader.cpp:
2271         (WebCore::Loader::load):
2272         (WebCore::Loader::servePendingRequests):
2273         (WebCore::Loader::nonCacheRequestInFlight):
2274         (WebCore::Loader::nonCacheRequestComplete):
2275         (WebCore::Loader::cancelRequests):
2276         * page/animation/CompositeAnimation.cpp:
2277         (WebCore::CompositeAnimation::clearRenderer):
2278         (WebCore::CompositeAnimation::updateKeyframeAnimations):
2279         (WebCore::CompositeAnimation::animate):
2280         (WebCore::CompositeAnimation::getAnimatedStyle):
2281         (WebCore::CompositeAnimation::setAnimating):
2282         (WebCore::CompositeAnimation::timeToNextService):
2283         (WebCore::CompositeAnimation::getAnimationForProperty):
2284         (WebCore::CompositeAnimation::suspendAnimations):
2285         (WebCore::CompositeAnimation::resumeAnimations):
2286         (WebCore::CompositeAnimation::isAnimatingProperty):
2287         (WebCore::CompositeAnimation::pauseAnimationAtTime):
2288         (WebCore::CompositeAnimation::numberOfActiveAnimations):
2289         * platform/TreeShared.h:
2290         (WebCore::TreeShared::~TreeShared):
2291         (WebCore::TreeShared::deref):
2292
2293 2010-01-25  Philippe Normand  <pnormand@igalia.com>
2294
2295         Reviewed by Eric Seidel.
2296
2297         autobuffer value not forwarded media element to MediaPlayer
2298         https://bugs.webkit.org/show_bug.cgi?id=33889
2299
2300         * html/HTMLMediaElement.cpp:
2301         (WebCore::HTMLMediaElement::loadResource): Forward autobuffer
2302         value to MediaPlayer instance.
2303         * platform/graphics/MediaPlayer.cpp:
2304         (WebCore::MediaPlayer::load): Forward autobuffer and
2305         preservesPitch values to newly created platform media player instance.
2306
2307 2010-01-25  Philippe Normand  <pnormand@igalia.com>
2308
2309         Reviewed by Eric Seidel.
2310
2311         [Gtk] media/video-reverse-play-duration.html fails on and off on Gtk buildbots
2312         https://bugs.webkit.org/show_bug.cgi?id=34086
2313
2314         Cache media duration and fix didEnd() in case of reverse
2315         playback. When EOS was reached but in case of reverse playback the
2316         position is not always 0. So to not confuse the HTMLMediaElement
2317         we synchronize position and duration values.
2318
2319         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2320         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2321         (WebCore::MediaPlayerPrivate::duration):
2322         (WebCore::MediaPlayerPrivate::updateStates):
2323         (WebCore::MediaPlayerPrivate::didEnd):
2324         (WebCore::MediaPlayerPrivate::durationChanged):
2325         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
2326
2327 2010-01-27  Alexey Proskuryakov  <ap@apple.com>
2328
2329         * WebCore.xcodeproj/project.pbxproj: Actually land the change to add ContainerNodeAlgorithms.h
2330         (it's "svn resolved", not "svn revert"!).
2331
2332 2010-01-26  Alexey Proskuryakov  <ap@apple.com>
2333
2334         Reviewed by Darin Adler.
2335
2336         https://bugs.webkit.org/show_bug.cgi?id=34150
2337         WebKit needs a mechanism to catch stale HashMap entries
2338
2339         * WebCore.xcodeproj/project.pbxproj: Added ContainerNodeAlgorithms.h to the project to make
2340         it easier to search for.
2341
2342         * css/CSSStyleSelector.cpp:
2343         (WebCore::CSSRuleSet::getIDRules):
2344         (WebCore::CSSRuleSet::getClassRules):
2345         (WebCore::CSSRuleSet::getTagRules):
2346         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
2347         * dom/CheckedRadioButtons.cpp:
2348         (WebCore::CheckedRadioButtons::checkedButtonForGroup):
2349         (WebCore::CheckedRadioButtons::removeButton):
2350         * dom/Document.cpp:
2351         (WebCore::Document::getElementById):
2352         (WebCore::Document::removeElementById):
2353         (WebCore::Document::removeImageMap):
2354         (WebCore::Document::getImageMap):
2355         (WebCore::Document::nameCollectionInfo):
2356         * dom/Document.h:
2357         (WebCore::Document::collectionInfo):
2358         * editing/markup.cpp:
2359         (WebCore::shouldAddNamespaceAttr):
2360         (WebCore::appendNamespace):
2361         (WebCore::appendStartMarkup):
2362         * html/HTMLCollection.cpp:
2363         (WebCore::HTMLCollection::namedItems):
2364         (WebCore::HTMLCollection::nextNamedItem):
2365         * html/HTMLFormCollection.cpp:
2366         (WebCore::HTMLFormCollection::formCollectionInfo):
2367         * html/HTMLSelectElement.h:
2368         (WebCore::HTMLSelectElement::collectionInfo):
2369         * loader/loader.cpp:
2370         (WebCore::Loader::load):
2371         (WebCore::Loader::servePendingRequests):
2372         (WebCore::Loader::nonCacheRequestInFlight):
2373         (WebCore::Loader::nonCacheRequestComplete):
2374         (WebCore::Loader::cancelRequests):
2375         * page/animation/CompositeAnimation.cpp:
2376         (WebCore::CompositeAnimation::clearRenderer):
2377         (WebCore::CompositeAnimation::updateKeyframeAnimations):
2378         (WebCore::CompositeAnimation::animate):
2379         (WebCore::CompositeAnimation::getAnimatedStyle):
2380         (WebCore::CompositeAnimation::setAnimating):
2381         (WebCore::CompositeAnimation::timeToNextService):
2382         (WebCore::CompositeAnimation::getAnimationForProperty):
2383         (WebCore::CompositeAnimation::suspendAnimations):
2384         (WebCore::CompositeAnimation::resumeAnimations):
2385         (WebCore::CompositeAnimation::isAnimatingProperty):
2386         (WebCore::CompositeAnimation::pauseAnimationAtTime):
2387         (WebCore::CompositeAnimation::numberOfActiveAnimations):
2388         Added checkConsistency checks before lookups in HashMaps with AtomicStringImpl* keys.
2389
2390         * dom/ContainerNodeAlgorithms.h: (WebCore::removeAllChildrenInContainer): Be sure to notify
2391         about removed child nodes that can be deleted immediately.
2392
2393         * html/CollectionCache.cpp:
2394         (WebCore::CollectionCache::checkConsistency):
2395         * html/CollectionCache.h:
2396         Added a checkConsistency() method that checks both HashMaps in the cache.
2397
2398         * platform/TreeShared.h:
2399         (WebCore::TreeShared::~TreeShared): Assert that m_refCount is null. Since Nodes can be
2400         destroyed with operator delete (as done in ContainerNodeAlgorithms), this is important to check.
2401         (WebCore::TreeShared::deref): Assert that m_refCount isn't already negative.
2402
2403 2010-01-26  Daniel Bates  <dbates@webkit.org>
2404
2405         Reviewed by Tor Arne Vestbø.
2406
2407         https://bugs.webkit.org/show_bug.cgi?id=29564
2408
2409         [Qt] Fixes an issue where the height of <button>- and
2410         <input type="button">- elements are fixed to the height of the
2411         button label font plus padding. That is, the CSS height property
2412         is being ignored.
2413
2414         Instead, we should honor the user-specified height, if appropriate
2415         for the platform and context. Notice, the Mac ports do not honor the
2416         height for <input type="button"> elements unless a border and/or
2417         background is also specified.
2418
2419         Test: fast/css/button-height.html
2420
2421         * platform/qt/RenderThemeQt.cpp:
2422         (WebCore::RenderThemeQt::adjustButtonStyle):
2423
2424 2010-01-26  Alexander Pavlov  <apavlov@chromium.org>
2425
2426         Reviewed by Timothy Hatcher.
2427
2428         Enable the Audits panel via a shortcut (Cmd/Ctrl+Alt+A)
2429         https://bugs.webkit.org/show_bug.cgi?id=34158
2430
2431         * inspector/front-end/inspector.js:
2432         (WebInspector.documentKeyDown):
2433
2434 2010-01-26  Kent Tamura  <tkent@chromium.org>
2435
2436         Reviewed by Darin Adler.
2437
2438         HTMLInputElement::valueAsNumber support except type=datetime-local.
2439         https://bugs.webkit.org/show_bug.cgi?id=32696
2440
2441         Tests: fast/forms/input-valueasnumber-date.html
2442                fast/forms/input-valueasnumber-datetime.html
2443                fast/forms/input-valueasnumber-month.html
2444                fast/forms/input-valueasnumber-number.html
2445                fast/forms/input-valueasnumber-range.html
2446                fast/forms/input-valueasnumber-time.html
2447                fast/forms/input-valueasnumber-unsupported.html
2448                fast/forms/input-valueasnumber-week.html
2449
2450         * html/HTMLInputElement.cpp:
2451         (WebCore::HTMLInputElement::valueAsNumber):
2452           According to the specification, we should return NaN for invalid values.
2453         (WebCore::HTMLInputElement::setValueAsNumber):
2454           According to the specification, throws NOT_SUPPORTED_ERR for Infinitiy or NaN,
2455           and throws INVALID_STATE_ERR for unsupported types.
2456         (WebCore::HTMLInputElement::formStringToDouble):
2457           According to the step 14 of Real Number in the specification, we
2458           should round -0 to 0.
2459         * html/HTMLInputElement.h: Declare valueAsNumber() and setValueAsNumber().
2460         * html/HTMLInputElement.idl: Add valueAsNumber.
2461
2462 2010-01-26  Dave Hyatt  <hyatt@apple.com>
2463
2464         Reviewed by Oliver Hunt.
2465
2466         Make sure there is a lock on serialize in SerializedScriptValueData, since type errors can be created when
2467         exceptions are thrown.
2468
2469         * bindings/js/SerializedScriptValue.cpp:
2470         (WebCore::SerializedScriptValueData::serialize):
2471
2472 2010-01-26  Kent Tamura  <tkent@chromium.org>
2473
2474         Reviewed by Eric Seidel.
2475
2476         Add Date type support for Objective-C binding.
2477         https://bugs.webkit.org/show_bug.cgi?id=32810
2478
2479         The Date type in IDLs is mapped to NSTimeInterval in Objective-C.
2480
2481         * bindings/objc/DOMInternal.h: Add kit() and core() for NSTimeInterval.
2482         * bindings/scripts/CodeGenerator.pm: Make Date a primitive type.
2483         * bindings/scripts/CodeGeneratorJS.pm: Move some code for the CodeGeenrator.pm change.
2484         * bindings/scripts/CodeGeneratorObjC.pm:
2485         * bindings/scripts/CodeGeneratorV8.pm: Move some code for the CodeGeenrator.pm change.
2486         * html/HTMLInputElement.idl: Remove Objective-C exclusion for valueAsDate.
2487
2488 2010-01-26  Dmitry Titov  <dimich@chromium.org>
2489
2490         Not reviewed, attempt to fix Tiger build.
2491
2492         * rendering/RenderTreeAsText.cpp:
2493         (WebCore::write): Use UNUSED_PARAM macros to prevent compiler warning on targets without accelerated compositing.
2494
2495 2010-01-26  Roland Steiner  <rolandsteiner@chromium.org>
2496
2497         Reviewed by Darin Adler.
2498
2499         Incorrect boolean expression in isMailBlockquote() (WebCore/htmlediting.cpp)
2500         https://bugs.webkit.org/show_bug.cgi?id=34156
2501
2502         No new tests (minor code change).
2503
2504         * editing/htmlediting.cpp:
2505         (WebCore::isMailBlockquote):
2506
2507 2010-01-26  Peter Kasting  <pkasting@google.com>
2508
2509         Reviewed by David Levin.
2510
2511         Handle broken images more correctly in the open-source image decoders.
2512         https://bugs.webkit.org/show_bug.cgi?id=33747
2513
2514         No tests since Safari doesn't use these decoders and there's already a
2515         broken-image test in the tree.
2516
2517         * platform/graphics/ImageSource.cpp:
2518         (WebCore::ImageSource::createFrameAtIndex): No need to check isSizeAvailable() since size() is now always safe.
2519         * platform/image-decoders/ImageDecoder.h:
2520         (WebCore::ImageDecoder::size): Don't assert that the bitmap is valid; we don't need a complete successful decode to be able to give info about the size.
2521         * platform/image-decoders/qt/RGBA32BufferQt.cpp:
2522         (WebCore::RGBA32Buffer::setSize): Don't set the frame to complete on failure, since it's not complete, but empty, and callers can better handle empty frames.
2523         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
2524         (WebCore::RGBA32Buffer::setSize): Don't set the frame to complete on failure, since it's not complete, but empty, and callers can better handle empty frames.
2525
2526 2010-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
2527
2528         Not reviewed. Synchronize Qt/Gtk build systems with Mac/Win, should fix Qt compilation. Gtk results still pending.
2529
2530         * GNUmakefile.am:
2531         * WebCore.pro:
2532
2533 2010-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
2534
2535         Not reviewed. Attempt to fix V8 - change SetterMethod function signatures, just like it has been done for JSSVGPODTypeWrapper.
2536
2537         * bindings/v8/V8SVGPODTypeWrapper.h:
2538
2539 2010-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
2540
2541         Not reviewed. Revert Base.xcconfig changes, was not meant to be committed.
2542
2543         * Configurations/Base.xcconfig:
2544
2545 2010-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
2546
2547         Reviewed by Oliver Hunt.
2548
2549         SVG consumes way too much memory to store animated properties in the DOM
2550         https://bugs.webkit.org/show_bug.cgi?id=34188
2551
2552         Shrink WebCore library size to 75% (measured in debug builds) and reduce SVG memory usage to <25%.
2553         Adding Oliver testcase as manual-tests/svg-node-count-vs-scroll.xhtml, which creates an arbitary number of
2554         rects (50.000 <rect> elements added to the DOM by default) - memory usage down to 111M from 503M (RPRVT).
2555         The SVG DOM side is almost fine, still some optimizations possible, that will be implemented soon - next
2556         target is the SVG render tree, there are plenty of possibilities to reduce memory usage there.
2557
2558         Redesign the way we store animated properties in the individual SVG*Element files. Short story: In order
2559         to support SVG DOM through the bindings (e.g. JS) we need to associate SVGAnimatedProperty objects with
2560         the SVGElement object that created it - we used to store this pointer directly in the SVGAnimatedProperty.
2561         This means, every SVGAnimatedProperty stored in a SVGRectElement, stored a pointer to the SVGRectElement, resulting
2562         in excessive memory usage. This is now properly implemented, without wasting tons of memory. Unfortunately this
2563         requires touching all SVG*Element files.
2564
2565         Detailed list of changes:
2566         - Remove template bloat by not specializing class templates for each attributeName/tagName combination. Instead
2567           SVGAnimatedProperty is a non-specialized template class now, only depending on the AnimatedType (ie. SVGLength for SVGAnimatedLength)
2568           -> This heavily reduces the generated code, thus shrinking WebCore size. I hope we can build windows again without SVGAllInOne.cpp
2569
2570         - Remove "exportStrings" / "exportString" handling from make_names.pl - SVG defined string literals for each QualifiedName,
2571           in order to use template specialization based on "const char*" parameters. All that bloat is gone, so there's no need for it anymore.
2572
2573         - Redesign SVGAnimatedProperty so it does not need any back-pointers to the SVGElement that created it
2574
2575         - Don't actually store the XML DOM attribute name associated with a SVG DOM property in SVGAnimatedProperty, move the associatedAttributeName()
2576           function inside the macro declaration and just return the passed macro parameter DOMAttribute there, storing is inefficient and useless.
2577
2578         - Remove SynchronizablePropertyController, which was living in SVGElement as member variable, keeping a HashMap<AttributeName, SVGAnimatedProperty>.
2579           It was needed before to lookup a SVGAnimatedProperty for a XML DOM attribute, in order to synchronize SVG <-> XML dom properties/attributes.
2580           Instead just add a "synchronizeProperty(const QualifiedName&)" method to all SVG*Element classes. As each SVG*Element class knows about its
2581           animated properties it can just ask them to synchronize themselves - no need for any dynamic lookups anymore.
2582
2583         - Remove SynchronizableTypeWrapper which added more complexity for the sake of SVG <-> XML DOM synchronization, all replaced by synchronizeProperty.
2584
2585         - Pass around any POD objects as const references, instead of copying them for no reason.
2586
2587         - Clean up SVGAnimatedProperty, splitting up into SVGAnimatedProperty/PropertySynchronizer/PropertyTraits.
2588
2589         - Remove baseValue/setBaseValue code from SVGDocumentExtensions, not needed anymore.
2590
2591         ... and tons of changes to all SVG*Element classes, adapting to the new way of handling animated properties.
2592
2593         * GNUmakefile.am: Remove Synchronizable* from build, add new SVGAnimatedPropertySynchronizer/Traits files
2594         * WebCore.gypi: Ditto.
2595         * WebCore.vcproj/WebCore.vcproj: Ditto.
2596         * WebCore.xcodeproj/project.pbxproj: Ditto.
2597         * bindings/js/JSSVGPODTypeWrapper.h: Change synchronization callback signatures, as we pass around const-references now.
2598         * dom/Element.cpp: Let updateAnimatedSVGAttribute take a QualifiedName instead of pure Strings.
2599         (WebCore::Element::getAttribute):
2600         (WebCore::Element::hasAttributes):
2601         * dom/Element.h:
2602         (WebCore::Element::updateAnimatedSVGAttribute):
2603         (WebCore::Element::attributes):
2604         * dom/make_names.pl: Remove SVG specific "exportString" / "exportStrings" functionality, see above.
2605         * html/HTMLAttributeNames.in: Remove "exportString" tag from "className" attribute.
2606         * manual-tests/svg-node-count-vs-scroll.xhtml: Added. Can be used to verify memory consumption with a lot of DOM objects.
2607         * mathml/mathattrs.in: MathML doesn't need "exportStrings" - remove it.
2608         * mathml/mathtags.in: Ditto.
2609         * svg/SVGAElement.cpp:
2610         (WebCore::SVGAElement::SVGAElement):
2611         (WebCore::SVGAElement::synchronizeProperty):
2612         * svg/SVGAElement.h:
2613         * svg/SVGAllInOne.cpp: Remove SynchronizablePropertyController.cpp
2614         * svg/SVGAltGlyphElement.cpp:
2615         (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
2616         (WebCore::SVGAltGlyphElement::synchronizeProperty):
2617         * svg/SVGAltGlyphElement.h:
2618         * svg/SVGAnimateTransformElement.cpp:
2619         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
2620         * svg/SVGAnimatedProperty.h: Rewritten, see above for details.
2621         (WebCore::SVGAnimatedPropertyTearOff::create):
2622         (WebCore::SVGAnimatedPropertyTearOff::setBaseVal):
2623         (WebCore::SVGAnimatedPropertyTearOff::setAnimVal):
2624         (WebCore::SVGAnimatedPropertyTearOff::baseVal):
2625         (WebCore::SVGAnimatedPropertyTearOff::animVal):
2626         (WebCore::SVGAnimatedPropertyTearOff::associatedAttributeName):
2627         (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff):
2628         (WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff):
2629         (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
2630         (WebCore::SVGAnimatedProperty::SVGAnimatedProperty):
2631         (WebCore::SVGAnimatedProperty::value):
2632         (WebCore::SVGAnimatedProperty::baseValue):
2633         (WebCore::SVGAnimatedProperty::setValue):
2634         (WebCore::SVGAnimatedProperty::setBaseValue):
2635         (WebCore::SVGAnimatedProperty::shouldSynchronize):
2636         (WebCore::SVGAnimatedProperty::setShouldSynchronize):
2637         * svg/SVGAnimatedPropertySynchronizer.h: Added.
2638         (WebCore::):
2639         * svg/SVGAnimatedPropertyTraits.h: Added.
2640         (WebCore::):
2641         * svg/SVGAnimatedTemplate.h: Move SVGAnimatedPropertyTraits into its own file.
2642         (WebCore::SVGAnimatedTemplate::forgetWrapper):
2643         (WebCore::lookupOrCreateWrapper):
2644         * svg/SVGAnimationElement.cpp:
2645         (WebCore::SVGAnimationElement::SVGAnimationElement):
2646         (WebCore::SVGAnimationElement::synchronizeProperty):
2647         * svg/SVGAnimationElement.h:
2648         * svg/SVGCircleElement.cpp:
2649         (WebCore::SVGCircleElement::SVGCircleElement):
2650         (WebCore::SVGCircleElement::synchronizeProperty):
2651         * svg/SVGCircleElement.h:
2652         * svg/SVGClipPathElement.cpp:
2653         (WebCore::SVGClipPathElement::SVGClipPathElement):
2654         (WebCore::SVGClipPathElement::synchronizeProperty):
2655         * svg/SVGClipPathElement.h:
2656         * svg/SVGComponentTransferFunctionElement.cpp:
2657         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
2658         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
2659         (WebCore::SVGComponentTransferFunctionElement::synchronizeProperty):
2660         * svg/SVGComponentTransferFunctionElement.h:
2661         * svg/SVGCursorElement.cpp:
2662         (WebCore::SVGCursorElement::SVGCursorElement):
2663         (WebCore::SVGCursorElement::synchronizeProperty):
2664         * svg/SVGCursorElement.h:
2665         * svg/SVGDefsElement.cpp:
2666         (WebCore::SVGDefsElement::SVGDefsElement):
2667         (WebCore::SVGDefsElement::synchronizeProperty):
2668         * svg/SVGDefsElement.h:
2669         * svg/SVGDocumentExtensions.h:
2670         * svg/SVGElement.cpp: Adapt to synchronization changes: use synchronizeProperty() call, instead of SynchronizablePropertyController.
2671         (WebCore::SVGElement::updateAnimatedSVGAttribute):
2672         * svg/SVGElement.h: Don't store SynchronizablePropertyController anymore, it's gone.
2673         (WebCore::SVGElement::synchronizeProperty):
2674         (WebCore::SVGElement::setSynchronizedSVGAttributes):
2675         * svg/SVGEllipseElement.cpp:
2676         (WebCore::SVGEllipseElement::SVGEllipseElement):
2677         (WebCore::SVGEllipseElement::synchronizeProperty):
2678         * svg/SVGEllipseElement.h:
2679         * svg/SVGExternalResourcesRequired.cpp:
2680         * svg/SVGExternalResourcesRequired.h:
2681         * svg/SVGFEBlendElement.cpp:
2682         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
2683         (WebCore::SVGFEBlendElement::synchronizeProperty):
2684         * svg/SVGFEBlendElement.h:
2685         * svg/SVGFEColorMatrixElement.cpp:
2686         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
2687         (WebCore::SVGFEColorMatrixElement::synchronizeProperty):
2688         * svg/SVGFEColorMatrixElement.h:
2689         * svg/SVGFEComponentTransferElement.cpp:
2690         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
2691         (WebCore::SVGFEComponentTransferElement::synchronizeProperty):
2692         * svg/SVGFEComponentTransferElement.h:
2693         * svg/SVGFECompositeElement.cpp:
2694         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
2695         (WebCore::SVGFECompositeElement::parseMappedAttribute):
2696         (WebCore::SVGFECompositeElement::synchronizeProperty):
2697         * svg/SVGFECompositeElement.h:
2698         * svg/SVGFEDiffuseLightingElement.cpp:
2699         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
2700         (WebCore::SVGFEDiffuseLightingElement::synchronizeProperty):
2701         * svg/SVGFEDiffuseLightingElement.h:
2702         * svg/SVGFEDisplacementMapElement.cpp:
2703         (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
2704         (WebCore::SVGFEDisplacementMapElement::synchronizeProperty):
2705         * svg/SVGFEDisplacementMapElement.h:
2706         * svg/SVGFEGaussianBlurElement.cpp:
2707         (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
2708         (WebCore::SVGFEGaussianBlurElement::synchronizeProperty):
2709         * svg/SVGFEGaussianBlurElement.h:
2710         * svg/SVGFEImageElement.cpp:
2711         (WebCore::SVGFEImageElement::SVGFEImageElement):
2712         (WebCore::SVGFEImageElement::synchronizeProperty):
2713         * svg/SVGFEImageElement.h:
2714         * svg/SVGFELightElement.cpp:
2715         (WebCore::SVGFELightElement::SVGFELightElement):
2716         (WebCore::SVGFELightElement::synchronizeProperty):
2717         * svg/SVGFELightElement.h:
2718         * svg/SVGFEMergeNodeElement.cpp:
2719         (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
2720         (WebCore::SVGFEMergeNodeElement::synchronizeProperty):
2721         * svg/SVGFEMergeNodeElement.h:
2722         * svg/SVGFEMorphologyElement.cpp:
2723         (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
2724         (WebCore::SVGFEMorphologyElement::synchronizeProperty):
2725         * svg/SVGFEMorphologyElement.h:
2726         * svg/SVGFEOffsetElement.cpp:
2727         (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
2728         (WebCore::SVGFEOffsetElement::synchronizeProperty):
2729         * svg/SVGFEOffsetElement.h:
2730         * svg/SVGFESpecularLightingElement.cpp:
2731         (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
2732         (WebCore::SVGFESpecularLightingElement::synchronizeProperty):
2733         * svg/SVGFESpecularLightingElement.h:
2734         * svg/SVGFETileElement.cpp:
2735         (WebCore::SVGFETileElement::SVGFETileElement):
2736         (WebCore::SVGFETileElement::synchronizeProperty):
2737         * svg/SVGFETileElement.h:
2738         * svg/SVGFETurbulenceElement.cpp:
2739         (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
2740         (WebCore::SVGFETurbulenceElement::synchronizeProperty):
2741         * svg/SVGFETurbulenceElement.h:
2742         * svg/SVGFilterElement.cpp:
2743         (WebCore::SVGFilterElement::SVGFilterElement):
2744         (WebCore::SVGFilterElement::synchronizeProperty):
2745         * svg/SVGFilterElement.h:
2746         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2747         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
2748         (WebCore::SVGFilterPrimitiveStandardAttributes::synchronizeProperty):
2749         * svg/SVGFilterPrimitiveStandardAttributes.h:
2750         * svg/SVGFitToViewBox.cpp:
2751         * svg/SVGFitToViewBox.h:
2752         * svg/SVGFontElement.cpp:
2753         (WebCore::SVGFontElement::SVGFontElement):
2754         (WebCore::SVGFontElement::synchronizeProperty):
2755         * svg/SVGFontElement.h:
2756         * svg/SVGForeignObjectElement.cpp:
2757         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
2758         (WebCore::SVGForeignObjectElement::synchronizeProperty):
2759         * svg/SVGForeignObjectElement.h:
2760         * svg/SVGGElement.cpp:
2761         (WebCore::SVGGElement::SVGGElement):
2762         (WebCore::SVGGElement::synchronizeProperty):
2763         * svg/SVGGElement.h:
2764         * svg/SVGGradientElement.cpp:
2765         (WebCore::SVGGradientElement::SVGGradientElement):
2766         (WebCore::SVGGradientElement::synchronizeProperty):
2767         * svg/SVGGradientElement.h:
2768         * svg/SVGImageElement.cpp:
2769         (WebCore::SVGImageElement::SVGImageElement):
2770         (WebCore::SVGImageElement::synchronizeProperty):
2771         * svg/SVGImageElement.h:
2772         * svg/SVGLineElement.cpp:
2773         (WebCore::SVGLineElement::SVGLineElement):
2774         (WebCore::SVGLineElement::synchronizeProperty):
2775         * svg/SVGLineElement.h:
2776         * svg/SVGLinearGradientElement.cpp:
2777         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
2778         (WebCore::SVGLinearGradientElement::synchronizeProperty):
2779         * svg/SVGLinearGradientElement.h:
2780         * svg/SVGList.h: Adapt to const-reference changes.
2781         (WebCore::SVGPODListItem::setValue):
2782         * svg/SVGMPathElement.cpp:
2783         (WebCore::SVGMPathElement::SVGMPathElement):
2784         (WebCore::SVGMPathElement::synchronizeProperty):
2785         * svg/SVGMPathElement.h:
2786         * svg/SVGMarkerElement.cpp:
2787         (WebCore::SVGMarkerElement::SVGMarkerElement):
2788         (WebCore::SVGMarkerElement::synchronizeProperty):
2789         * svg/SVGMarkerElement.h:
2790         * svg/SVGMaskElement.cpp:
2791         (WebCore::SVGMaskElement::SVGMaskElement):
2792         (WebCore::SVGMaskElement::synchronizeProperty):
2793         * svg/SVGMaskElement.h:
2794         * svg/SVGPathElement.cpp:
2795         (WebCore::SVGPathElement::SVGPathElement):
2796         (WebCore::SVGPathElement::synchronizeProperty):
2797         * svg/SVGPathElement.h:
2798         * svg/SVGPatternElement.cpp:
2799         (WebCore::SVGPatternElement::SVGPatternElement):
2800         (WebCore::SVGPatternElement::synchronizeProperty):
2801         * svg/SVGPatternElement.h:
2802         * svg/SVGPolyElement.cpp:
2803         (WebCore::SVGPolyElement::SVGPolyElement):
2804         (WebCore::SVGPolyElement::svgAttributeChanged):
2805         (WebCore::SVGPolyElement::synchronizeProperty):
2806         * svg/SVGPolyElement.h:
2807         * svg/SVGRadialGradientElement.cpp:
2808         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
2809         (WebCore::SVGRadialGradientElement::synchronizeProperty):
2810         * svg/SVGRadialGradientElement.h:
2811         * svg/SVGRectElement.cpp:
2812         (WebCore::SVGRectElement::SVGRectElement):
2813         (WebCore::SVGRectElement::synchronizeProperty):
2814         * svg/SVGRectElement.h:
2815         * svg/SVGSVGElement.cpp:
2816         (WebCore::SVGSVGElement::SVGSVGElement):
2817         (WebCore::SVGSVGElement::synchronizeProperty):
2818         * svg/SVGSVGElement.h:
2819         * svg/SVGScriptElement.cpp:
2820         (WebCore::SVGScriptElement::SVGScriptElement):
2821         (WebCore::SVGScriptElement::synchronizeProperty):
2822         * svg/SVGScriptElement.h:
2823         * svg/SVGStopElement.cpp:
2824         (WebCore::SVGStopElement::SVGStopElement):
2825         (WebCore::SVGStopElement::synchronizeProperty):
2826         * svg/SVGStopElement.h:
2827         * svg/SVGStyledElement.cpp:
2828         (WebCore::SVGStyledElement::SVGStyledElement):
2829         (WebCore::SVGStyledElement::parseMappedAttribute):
2830         (WebCore::SVGStyledElement::synchronizeProperty):
2831         * svg/SVGStyledElement.h:
2832         * svg/SVGStyledTransformableElement.cpp:
2833         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
2834         (WebCore::SVGStyledTransformableElement::synchronizeProperty):
2835         * svg/SVGStyledTransformableElement.h:
2836         * svg/SVGSwitchElement.cpp:
2837         (WebCore::SVGSwitchElement::SVGSwitchElement):
2838         (WebCore::SVGSwitchElement::synchronizeProperty):
2839         * svg/SVGSwitchElement.h:
2840         * svg/SVGSymbolElement.cpp:
2841         (WebCore::SVGSymbolElement::SVGSymbolElement):
2842         (WebCore::SVGSymbolElement::synchronizeProperty):
2843         * svg/SVGSymbolElement.h:
2844         * svg/SVGTRefElement.cpp:
2845         (WebCore::SVGTRefElement::SVGTRefElement):
2846         (WebCore::SVGTRefElement::synchronizeProperty):
2847         * svg/SVGTRefElement.h:
2848         * svg/SVGTextContentElement.cpp:
2849         (WebCore::SVGTextContentElement::SVGTextContentElement):
2850         (WebCore::SVGTextContentElement::synchronizeProperty):
2851         * svg/SVGTextContentElement.h:
2852         * svg/SVGTextElement.cpp:
2853         (WebCore::SVGTextElement::SVGTextElement):
2854         (WebCore::SVGTextElement::synchronizeProperty):
2855         * svg/SVGTextElement.h:
2856         * svg/SVGTextPathElement.cpp:
2857         (WebCore::SVGTextPathElement::SVGTextPathElement):
2858         (WebCore::SVGTextPathElement::synchronizeProperty):
2859         * svg/SVGTextPathElement.h:
2860         * svg/SVGTextPositioningElement.cpp:
2861         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
2862         (WebCore::SVGTextPositioningElement::synchronizeProperty):
2863         * svg/SVGTextPositioningElement.h:
2864         * svg/SVGURIReference.cpp:
2865         * svg/SVGURIReference.h:
2866         * svg/SVGUseElement.cpp:
2867         (WebCore::SVGUseElement::SVGUseElement):
2868         (WebCore::SVGUseElement::synchronizeProperty):
2869         * svg/SVGUseElement.h:
2870         * svg/SVGViewElement.cpp:
2871         (WebCore::SVGViewElement::SVGViewElement):
2872         (WebCore::SVGViewElement::synchronizeProperty):
2873         * svg/SVGViewElement.h:
2874         * svg/SVGViewSpec.cpp:
2875         (WebCore::SVGViewSpec::SVGViewSpec):
2876         * svg/SVGViewSpec.h:
2877         (WebCore::SVGViewSpec::contextElement):
2878         * svg/SynchronizablePropertyController.cpp: Removed.
2879         * svg/SynchronizablePropertyController.h: Removed.
2880         * svg/SynchronizableTypeWrapper.h: Removed.
2881         * svg/svgattrs.in: Remove "exportStrings" tag.
2882         * svg/svgtags.in: Ditto.
2883         * svg/xlinkattrs.in:
2884
2885 2010-01-26  Adele Peterson  <adele@apple.com>
2886
2887         Reviewed by Darin Adler.
2888
2889         Fix for <rdar://problem/7169464> REGRESSION (r47444): PLT is 1% slower due to implementation of :valid and :invalid CSS selectors
2890         https://bugs.webkit.org/show_bug.cgi?id=34029
2891
2892         If we never hit the valid or invalid selectors for a particular document, 
2893         then we'll skip the validity checks when deciding about style sharing.
2894
2895         * css/CSSStyleSelector.cpp:
2896         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2897         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2898         
2899         * dom/Document.cpp: (WebCore::Document::Document):
2900         * dom/Document.h:
2901         (WebCore::Document::considerValidity):
2902         (WebCore::Document::setConsiderValidity):
2903
2904 2010-01-26  Jeremy Orlow  <jorlow@chromium.org>
2905
2906         Reviewed by Simon Fraser.
2907
2908         Revert 53797 as it seems to be causing crashes.
2909         https://bugs.webkit.org/show_bug.cgi?id=34153
2910
2911         * page/FrameView.cpp:
2912         (WebCore::FrameView::useSlowRepaints):
2913         (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
2914         * page/FrameView.h:
2915         * platform/ScrollView.cpp:
2916         (WebCore::ScrollView::scrollContents):
2917         * platform/ScrollView.h:
2918         * rendering/RenderObject.cpp:
2919         (WebCore::RenderObject::styleWillChange):
2920         (WebCore::RenderObject::destroy):
2921
2922 2010-01-26  Dmitry Titov  <dimich@chromium.org>
2923
2924         Reviewed by Steve Falkenburg.
2925
2926         DumpRenderTree silently crashes at the end of the run because geolocationControllerClient pointer is 0.
2927         https://bugs.webkit.org/show_bug.cgi?id=34191
2928
2929         * page/GeolocationController.cpp:
2930         (WebCore::GeolocationController::~GeolocationController): Add check for m_client being 0.
2931         (WebCore::GeolocationController::addObserver): Ditto.
2932         (WebCore::GeolocationController::removeObserver): Ditto.
2933         (WebCore::GeolocationController::lastPosition): Ditto.
2934
2935 2010-01-26  Simon Fraser  <simon.fraser@apple.com>
2936
2937         Reviewed by Adele Peterson.
2938
2939         Enhance externalRepresentation() to make it more useful for layer debugging
2940         https://bugs.webkit.org/show_bug.cgi?id=34143
2941
2942         Enhance externalRepresentation() to output additional information about layers when certain flags are passed.
2943         The new flags allow you to show all layers (not just those that would paint), to the structure of the z-order
2944         and normal flow lists, and to show which layers are composited.
2945
2946         * WebCore.base.exp: The signature of externalRepresentation() changed.
2947
2948         * platform/text/TextStream.h: Add operator<<(void*)
2949         * platform/text/TextStream.cpp: Implement operator<<(void*)
2950
2951         * rendering/RenderLayer.h:
2952         * rendering/RenderLayer.cpp:
2953         (showLayerTree): New method outside the WebCore namespace, for ease of calling from gdb.
2954
2955         * rendering/RenderTreeAsText.h: New behavior flags for externalRepresentation().
2956         * rendering/RenderTreeAsText.cpp:
2957         (WebCore::write): Output compositing information if requested. Also clean up some -1/1 magic
2958         numbers with an enum.
2959         (WebCore::writeLayers): If requested, show layer nesting via the z-order and normal flow lists.
2960         (WebCore::externalRepresentation): New arguments
2961
2962 2010-01-26  Dan Bernstein  <mitz@apple.com>
2963
2964         Reviewed by Simon Fraser.
2965
2966         Fixed an off-by-one error.
2967
2968         * rendering/break_lines.cpp:
2969         (WebCore::shouldBreakAfter):
2970
2971 2010-01-26  Dmitry Titov  <dimich@chromium.org>
2972
2973         Reviewed by David Levin.
2974
2975         Avoid reloading iframe on re-parenting between documents.
2976         https://bugs.webkit.org/show_bug.cgi?id=32848
2977
2978         Achieved by setting a flag on iframe element when it is a target of document.adoptNode(node) operation.
2979         The flag prevents unload/load cycle and is reset once element is attached to a new document.
2980         If iframe is adopted but not actually inserted into the tree, it gets unloaded by async timer
2981         once JS yields, to avoid having active content in non-attached iframe.
2982
2983         Test: fast/frames/iframe-reparenting.html
2984
2985         * dom/Document.cpp:
2986         (WebCore::Document::adoptNode): If the adopted node is iframe, set a remainsAliveOnRemovalFromTree on it.
2987         * html/HTMLFrameElementBase.h:
2988         * html/HTMLFrameElementBase.cpp:
2989         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
2990         (WebCore::HTMLFrameElementBase::attach): Skip actual loading of the frame if it has remainsAliveOnRemovalFromTree flag. Reset the flag.
2991         (WebCore::HTMLFrameElementBase::willRemove): Skip unloading the frame if it has remainsAliveOnRemovalFromTree flag set.
2992         (WebCore::HTMLFrameElementBase::setRemainsAliveOnRemovalFromTree): Set the flag, start the async timer to check if the frame was actually attached.
2993         (WebCore::HTMLFrameElementBase::checkAttachedTimerFired):
2994         * html/HTMLFrameOwnerElement.h:
2995         (WebCore::HTMLFrameOwnerElement::willRemove): Move from private to protected, since it is conditionally called in HTMLFrameElementBase::willRemove now.
2996
2997 2010-01-26  Adam Roben  <aroben@apple.com>
2998
2999         No review, rolling out r53861.
3000         http://trac.webkit.org/changeset/53861
3001         https://bugs.webkit.org/show_bug.cgi?id=33224
3002
3003         Caused 2 regression tests to fail.
3004
3005         * dom/Document.cpp:
3006         (WebCore::Document::detach):
3007         (WebCore::Document::registerHistoryItem):
3008         (WebCore::Document::unregisterHistoryItem):
3009         * dom/Document.h:
3010         * history/BackForwardList.cpp:
3011         (WebCore::BackForwardList::pushStateItem):
3012         * history/BackForwardListChromium.cpp:
3013         (WebCore::BackForwardList::pushStateItem):
3014         * history/HistoryItem.cpp:
3015         (WebCore::HistoryItem::HistoryItem):
3016         (WebCore::HistoryItem::~HistoryItem):
3017         (WebCore::HistoryItem::setStateObject):
3018         (WebCore::HistoryItem::setDocument):
3019         (WebCore::HistoryItem::documentDetached):
3020         * history/HistoryItem.h:
3021         (WebCore::HistoryItem::document):
3022         * loader/FrameLoader.cpp:
3023         (WebCore::FrameLoader::navigateWithinDocument):
3024         (WebCore::FrameLoader::loadItem):
3025         * loader/HistoryController.cpp:
3026         (WebCore::HistoryController::updateBackForwardListForFragmentScroll):
3027         (WebCore::HistoryController::pushState):
3028         (WebCore::HistoryController::replaceState):
3029         * loader/RedirectScheduler.cpp:
3030         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
3031         * page/History.cpp:
3032         (WebCore::History::stateObjectAdded):
3033         * page/Page.cpp:
3034         (WebCore::Page::goToItem):
3035
3036 2010-01-26  Dan Bernstein  <mitz@apple.com>
3037
3038         Reviewed by Beth Dakin.
3039
3040         <rdar://problem/7576663> Crash caused by anonymous list item
3041         https://bugs.webkit.org/show_bug.cgi?id=34183
3042
3043         Test: fast/lists/anonymous-items.html
3044
3045         enclosingList() and previousListItem() were DOM-based, but in order to work with anonymous
3046         list items, they need to work with rthe render tree.
3047
3048         * rendering/RenderListItem.cpp:
3049         (WebCore::isList): Factored out.
3050         (WebCore::enclosingList): Added this variant that takes a RenderObject.
3051         (WebCore::previousListItem): Changed to travers the render tree.
3052         (WebCore::RenderListItem::calcValue): Use the RenderObject version of enclosingList()
3053         (WebCore::RenderListItem::setExplicitValue): Added an assertion.
3054         (WebCore::RenderListItem::clearExplicitValue): Ditto.
3055
3056 2010-01-26  Brian Weinstein  <bweinstein@apple.com>
3057
3058         Reviewed by Jon Honeycutt.
3059
3060         Crash in WebKit!WebCore::RenderMenuList::itemStyle
3061         https://bugs.webkit.org/show_bug.cgi?id=34182
3062         <rdar://7087757>
3063         
3064         Added bounds checks in RenderMenuList to make sure we are
3065         not making an out of bounds check in a vector once an option
3066         element has been deleted. If we are out of bounds, we fall back to
3067         a default value and return early, and in the case of itemStyle, we use a 
3068         previous option's style, if it is available.
3069
3070         * manual-tests/select-delete-item.html: Added.
3071         * rendering/RenderMenuList.cpp:
3072         (WebCore::RenderMenuList::itemText): If out of bounds check, return early.
3073         (WebCore::RenderMenuList::itemToolTip): Ditto.
3074         (WebCore::RenderMenuList::itemIsEnabled): Ditto.
3075         (WebCore::RenderMenuList::itemStyle): If out of bounds check, try using the 0th index
3076             option style, then fall back to the select's style if that option doesn't exist.
3077         (WebCore::RenderMenuList::itemBackgroundColor): If out of bounds check, return early.
3078         (WebCore::RenderMenuList::itemIsSeparator): Ditto.
3079         (WebCore::RenderMenuList::itemIsLabel): Ditto.
3080         (WebCore::RenderMenuList::itemIsSelected): Ditto.
3081
3082 2010-01-25  Gavin Barraclough  <barraclough@apple.com>
3083
3084         Reviewed by Anders Carlsson.
3085
3086         Some methods in JSC JNI bridge need more error checking of results from JNI.
3087         https://bugs.webkit.org/show_bug.cgi?id=34149
3088
3089         In JNIUtility.h, callJNIMethodV<jobject> might return null (from CallObjectMethodV, via
3090         JNICaller<jobject>::callV) if an exception is thrown.  All clients of callJNIMethodV<jobject>
3091         that are calling methods on the returned object should null check first.
3092
3093         * bridge/jni/JNIBridge.cpp:
3094         (JavaField::JavaField):
3095         (JavaMethod::JavaMethod):
3096         * bridge/jni/JNIUtility.h:
3097         (JSC::Bindings::):
3098         * bridge/jni/jni_jsobject.mm:
3099         (JavaJSObject::convertJObjectToValue):
3100         * bridge/jni/jsc/JavaClassJSC.cpp:
3101         (JavaClass::JavaClass):
3102         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3103         (JavaInstance::stringValue):
3104
3105 2010-01-26  Steve Falkenburg  <sfalken@apple.com>
3106
3107         Reviewed by Oliver Hunt.
3108
3109         Windows build references non-existent include paths
3110         https://bugs.webkit.org/show_bug.cgi?id=34175
3111
3112         * WebCore.vcproj/QTMovieWin.vcproj:
3113         * WebCore.vcproj/WebCoreCommon.vsprops:
3114
3115 2010-01-26  Darin Fisher  <darin@chromium.org>
3116
3117         Reviewed by Brady Eidson.
3118
3119         Chains of history items representing same-document navigation need to
3120         always remember that association
3121
3122         https://bugs.webkit.org/show_bug.cgi?id=33224
3123
3124         Replace HistoryItem's Document pointer with a DocumentSequenceNumber.
3125         During session history traversal, if the current HistoryItem and the
3126         target HistoryItem have the same DocumentSequenceNumber, then it means
3127         that the current Document should remain.
3128
3129         NOTE: To support Chromium's serialization of HistoryItems, I generate
3130         DocumentSequenceNumbers that are unique across application launches.
3131         DocumentSequenceNumbers are generated using a counter initialized with
3132         the time of day.
3133
3134         Test: fast/loader/stateobjects/document-destroyed-navigate-back.html
3135
3136         * dom/Document.cpp:
3137         (WebCore::Document::detach):
3138         * dom/Document.h:
3139         * history/BackForwardList.cpp:
3140         (WebCore::BackForwardList::pushStateItem):
3141         * history/BackForwardListChromium.cpp:
3142         (WebCore::BackForwardList::pushStateItem):
3143         * history/HistoryItem.cpp:
3144         (WebCore::generateDocumentSequenceNumber):
3145         (WebCore::HistoryItem::HistoryItem):
3146         (WebCore::HistoryItem::~HistoryItem):
3147         (WebCore::HistoryItem::setStateObject):
3148         * history/HistoryItem.h:
3149         (WebCore::HistoryItem::setDocumentSequenceNumber):
3150         (WebCore::HistoryItem::documentSequenceNumber):
3151         * loader/FrameLoader.cpp:
3152         (WebCore::FrameLoader::navigateWithinDocument):
3153         (WebCore::FrameLoader::loadItem):
3154         * loader/HistoryController.cpp:
3155         (WebCore::HistoryController::updateBackForwardListForFragmentScroll):
3156         (WebCore::HistoryController::pushState):
3157         (WebCore::HistoryController::replaceState):
3158         * loader/RedirectScheduler.cpp:
3159         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
3160         * page/History.cpp:
3161         (WebCore::History::stateObjectAdded):
3162         * page/Page.cpp:
3163         (WebCore::Page::goToItem):
3164
3165 2010-01-26  Chris Fleizach  <cfleizach@apple.com>
3166
3167         Reviewed by Darin Adler.
3168
3169         Add ability for image maps to be focused via tabbing
3170         https://bugs.webkit.org/show_bug.cgi?id=17513
3171
3172         Test: fast/events/tab-imagemap.html
3173
3174         * accessibility/AXObjectCache.cpp:
3175         (WebCore::AXObjectCache::focusedImageMapUIElement):
3176         (WebCore::AXObjectCache::focusedUIElementForPage):
3177         * accessibility/AXObjectCache.h:
3178         * accessibility/AccessibilityImageMapLink.h:
3179         (WebCore::AccessibilityImageMapLink::areaElement):
3180         (WebCore::AccessibilityImageMapLink::mapElement):
3181         (WebCore::AccessibilityImageMapLink::isImageMapLink):
3182         * accessibility/AccessibilityObject.h:
3183         (WebCore::AccessibilityObject::isImageMapLink):
3184         * accessibility/AccessibilityRenderObject.cpp:
3185         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
3186         * html/HTMLAreaElement.cpp:
3187         (WebCore::HTMLAreaElement::getPath):
3188         (WebCore::HTMLAreaElement::getRect):
3189         (WebCore::HTMLAreaElement::imageElement):
3190         (WebCore::HTMLAreaElement::isKeyboardFocusable):
3191         (WebCore::HTMLAreaElement::isFocusable):
3192         (WebCore::HTMLAreaElement::dispatchBlurEvent):
3193         (WebCore::HTMLAreaElement::updateFocusAppearance):
3194         (WebCore::HTMLAreaElement::supportsFocus):
3195         * html/HTMLAreaElement.h:
3196         * html/HTMLMapElement.cpp:
3197         (WebCore::HTMLMapElement::imageElement):
3198         * html/HTMLMapElement.h:
3199         * platform/graphics/GraphicsContext.h:
3200         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3201         (WebCore::GraphicsContext::drawFocusRing):
3202         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3203         (WebCore::GraphicsContext::drawFocusRing):
3204         * platform/graphics/mac/GraphicsContextMac.mm:
3205         (WebCore::drawFocusRingToContext):
3206         (WebCore::GraphicsContext::drawFocusRing):
3207         * platform/graphics/qt/GraphicsContextQt.cpp:
3208         (WebCore::GraphicsContext::drawFocusRing):
3209         * platform/graphics/skia/GraphicsContextSkia.cpp:
3210         (WebCore::GraphicsContext::drawFocusRing):
3211         * platform/graphics/win/GraphicsContextCGWin.cpp:
3212         (WebCore::GraphicsContext::drawFocusRing):
3213         * platform/graphics/wince/GraphicsContextWince.cpp:
3214         (WebCore::GraphicsContext::drawFocusRing):
3215         * platform/graphics/wx/GraphicsContextWx.cpp:
3216         (WebCore::GraphicsContext::drawFocusRing):
3217         * rendering/RenderImage.cpp:
3218         (WebCore::RenderImage::paint):
3219         (WebCore::RenderImage::paintFocusRings):
3220         (WebCore::RenderImage::imageMap):
3221         * rendering/RenderImage.h:
3222         * rendering/RenderReplaced.h:
3223
3224 2010-01-26  Pavel Feldman  <pfeldman@chromium.org>
3225
3226         Reviewed by Timothy Hatcher.
3227
3228         Web Inspector: add support for breakpoints, messages and search into the SourceFrame2.
3229
3230         https://bugs.webkit.org/show_bug.cgi?id=34165
3231
3232         * inspector/front-end/SourceFrame2.js:
3233         (WebInspector.SourceFrame2):
3234         (WebInspector.SourceFrame2.prototype.get executionLine):
3235         (WebInspector.SourceFrame2.prototype.set executionLine):
3236         (WebInspector.SourceFrame2.prototype.revealLine):
3237         (WebInspector.SourceFrame2.prototype.addBreakpoint):
3238         (WebInspector.SourceFrame2.prototype.removeBreakpoint):
3239         (WebInspector.SourceFrame2.prototype.sizeToFitContentHeight):
3240         (WebInspector.SourceFrame2.prototype.setContent):
3241         (WebInspector.SourceFrame2.prototype.findSearchMatches):
3242         (WebInspector.SourceFrame2.prototype.setSelection):
3243         (WebInspector.SourceFrame2.prototype._addMessageToSource):
3244         (WebInspector.SourceFrame2.prototype._addExistingBreakpointsToSource):
3245         (WebInspector.SourceFrame2.prototype._addBreakpointToSource):
3246         (WebInspector.SourceFrame2.prototype._removeBreakpointFromSource):
3247         (WebInspector.SourceFrame2.prototype._contextMenu.addConditionalBreakpoint):
3248         (WebInspector.SourceFrame2.prototype._contextMenu):
3249         (WebInspector.SourceFrame2.prototype._toggleBreakpoint):
3250         (WebInspector.SourceFrame2.prototype._editBreakpointCondition.committed):
3251         (WebInspector.SourceFrame2.prototype._editBreakpointCondition.dismissed):
3252         (WebInspector.SourceFrame2.prototype._editBreakpointCondition):
3253         (WebInspector.SourceFrame2.prototype._showBreakpointConditionPopup):
3254         (WebInspector.SourceFrame2.prototype._createConditionElement):
3255         (WebInspector.SourceFrame2.prototype._keyDown):
3256         (WebInspector.SourceFrame2.prototype._evalSelectionInCallFrame):
3257         (WebInspector.SourceFrame2.prototype._breakpointChanged):
3258         (WebInspector.SourceFrame2.prototype.resize):
3259         (WebInspector.BreakpointLineNumberDecorator.prototype.decorate):
3260         (WebInspector.BreakpointLineNumberDecorator.prototype._paintBreakpoint):
3261         (WebInspector.BreakpointLineNumberDecorator.prototype.mouseDown):
3262         (WebInspector.BreakpointLineNumberDecorator.prototype.contextMenu):
3263         (WebInspector.ExecutionLineDecorator.prototype.decorate):
3264         * inspector/front-end/TextEditor.js:
3265         (WebInspector.TextEditor):
3266         (WebInspector.TextEditor.prototype.set mimeType):
3267         (WebInspector.TextEditor.prototype.set readOnly):
3268         (WebInspector.TextEditor.prototype.setDivDecoration):
3269         (WebInspector.TextEditor.prototype.reveal):
3270         (WebInspector.TextEditor.prototype.packAndRepaintAll):
3271         (WebInspector.TextEditor.prototype._updateSize):
3272         (WebInspector.TextEditor.prototype.updateCanvasSize):
3273         (WebInspector.TextEditor.prototype.repaintAll):
3274         (WebInspector.TextEditor.prototype._paintLinesContinuation):
3275         (WebInspector.TextEditor.prototype._repaintOnScroll):
3276         (WebInspector.TextEditor.prototype._mouseDown):
3277         (WebInspector.TextEditor.prototype._contextMenu):
3278         (WebInspector.TextEditor.prototype._caretForMouseEvent):
3279         (WebInspector.TextEditor.prototype._columnForOffset):
3280         (WebInspector.TextEditor.prototype._handleNavigationKey):
3281         (WebInspector.TextEditor.prototype._positionDivDecoration):
3282         (WebInspector.TextEditor.prototype._replaceSelectionWith):
3283         (WebInspector.TextEditor.prototype.setCoalescingUpdate):
3284         (WebInspector.TextEditor.prototype._handleUndo):
3285         (WebInspector.TextEditor.prototype._handleRedo):
3286         (WebInspector.TextEditor.prototype._changeFont):
3287         * inspector/front-end/TextEditorHighlighter.js:
3288         (WebInspector.TextEditorHighlighter):
3289         (WebInspector.TextEditorHighlighter.prototype.set mimeType):
3290         * inspector/front-end/inspector.css:
3291         * inspector/front-end/textEditor.css:
3292
3293 2010-01-26  Pavel Feldman  <pfeldman@chromium.org>
3294
3295         Reviewed by Timothy Hatcher.
3296
3297         Web Inspector: add methods for getting resource content from within frontend.
3298
3299         https://bugs.webkit.org/show_bug.cgi?id=34163
3300
3301         * inspector/InspectorBackend.cpp:
3302         (WebCore::InspectorBackend::getResourceContent):
3303         * inspector/InspectorBackend.h:
3304         * inspector/InspectorBackend.idl:
3305         * inspector/InspectorFrontend.cpp:
3306         (WebCore::InspectorFrontend::didGetResourceContent):
3307         * inspector/InspectorFrontend.h:
3308         * inspector/InspectorFrontendHost.cpp:
3309         * inspector/InspectorFrontendHost.h:
3310         * inspector/InspectorFrontendHost.idl:
3311         * inspector/front-end/InspectorBackendStub.js:
3312         (.WebInspector.InspectorBackendStub.prototype.getResourceContent):
3313         * inspector/front-end/InspectorFrontendHostStub.js:
3314
3315 2010-01-26  Pavel Feldman  <pfeldman@chromium.org>
3316
3317         Not reviewed: added null check into the timeline agent getter.
3318
3319         * inspector/InspectorTimelineAgent.h:
3320         (WebCore::InspectorTimelineAgent::retrieve):
3321
3322 2010-01-26  Steve Block  <steveblock@google.com>
3323
3324         Reviewed by Adam Barth.
3325
3326         Moves JSC-specific classes from bridge/jni/JNIBridge to bridge/jni/jsc/JNIBridgeJSC
3327         https://bugs.webkit.org/show_bug.cgi?id=33958
3328
3329         This allows bridge/jni/JNIBridge to be used with both JSC and V8.
3330         A later change will add the V8 equivalent of these JSC-specific classes.
3331
3332         No new tests, refactoring only.
3333
3334         * Android.jscbindings.mk: Modified. Added JNIBridgeJSC.cpp
3335         * GNUmakefile.am: Modified. Added JNIBridgeJSC.h
3336         * WebCore.xcodeproj/project.pbxproj: Modified. Added JNIBridgeJSC.[cpp|h]
3337         * bridge/jni/JNIBridge.cpp: Modified. Moved JavaField and JavaArray to JNIBridgeJSC.cpp
3338         (appendClassName): Modfied. Guard calls to JSLock
3339         (JavaMethod::signature): Modfied. Guard calls to JSLock
3340         * bridge/jni/JNIBridge.h: Modified. Moved JavaField and JavaArray to JNIBridgeJSC.h
3341         * bridge/jni/jsc/JNIBridgeJSC.cpp: Copied from WebCore/bridge/jni/JNIBridge.cpp.
3342         * bridge/jni/jsc/JNIBridgeJSC.h: Copied from WebCore/bridge/jni/JNIBridge.h.
3343         * bridge/jni/jsc/JNIUtilityPrivate.cpp: Modified. Include JNIBridgeJSC.h
3344         * bridge/jni/jsc/JavaClassJSC.h: Modified. Include JNIBridgeJSC.h
3345         * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Include JNIBridgeJSC.h
3346
3347 2010-01-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3348
3349         Unreviewed build fix.
3350
3351         [Qt] Fix Windows build when sqlite is not available.
3352
3353         * WebCore.pri:
3354         * WebCore.pro:
3355
3356 2010-01-26  Holger Hans Peter Freyther  <zecke@selfish.org>
3357
3358         Reviewed by Simon Hausmann.
3359
3360         [Qt] JavaScript prompt is currently broken.
3361         https://bugs.webkit.org/show_bug.cgi?id=30914
3362
3363         Remove the manual test case in favor of an automated
3364         test case in WebKit/qt/tests/qwebpage.
3365
3366         * manual-tests/qt/java-script-prompt.html: Removed.
3367
3368 2010-01-26  Pavel Feldman  <pfeldman@chromium.org>
3369
3370         Reviewed by Timothy Hatcher.
3371
3372         Web Inspector: Implement HTML and CSS highlighters.
3373
3374         https://bugs.webkit.org/show_bug.cgi?id=34144
3375
3376         * WebCore.gypi:
3377         * WebCore.vcproj/WebCore.vcproj:
3378         * inspector/front-end/JavaScriptTokenizer.js: Removed.
3379         * inspector/front-end/JavaScriptTokenizer.re2js: Removed.
3380         * inspector/front-end/SourceCSSTokenizer.js: Added.
3381         (WebInspector.SourceCSSTokenizer):
3382         (WebInspector.SourceCSSTokenizer.prototype._stringToken):
3383         (WebInspector.SourceCSSTokenizer.prototype._isPropertyValue):
3384         (WebInspector.SourceCSSTokenizer.prototype.nextToken):
3385         * inspector/front-end/SourceCSSTokenizer.re2js: Added.
3386         * inspector/front-end/SourceHTMLTokenizer.js: Added.
3387         (WebInspector.SourceHTMLTokenizer):
3388         (WebInspector.SourceHTMLTokenizer.prototype._stringToken):
3389         (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
3390         * inspector/front-end/SourceHTMLTokenizer.re2js: Added.
3391         * inspector/front-end/SourceJavaScriptTokenizer.js: Added.
3392         (WebInspector.SourceJavaScriptTokenizer):
3393         (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
3394         * inspector/front-end/SourceJavaScriptTokenizer.re2js: Added.
3395         * inspector/front-end/TextEditorHighlighter.js:
3396         (WebInspector.TextEditorHighlighter):
3397         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
3398         (WebInspector.TextEditorHighlighter.Tokenizer):
3399         (WebInspector.TextEditorHighlighter.Tokenizer.prototype.set line):
3400         (WebInspector.TextEditorHighlighter.Tokenizer.prototype.set condition):
3401         (WebInspector.TextEditorHighlighter.Tokenizer.prototype.get condition):
3402         (WebInspector.TextEditorHighlighter.Tokenizer.prototype.hasCondition):
3403         (WebInspector.TextEditorHighlighter.Tokenizer.prototype.getLexCondition):
3404         (WebInspector.TextEditorHighlighter.Tokenizer.prototype.setLexCondition):
3405         (WebInspector.TextEditorHighlighter.Tokenizer.prototype._charAt):
3406         * inspector/front-end/WebKit.qrc:
3407         * inspector/front-end/inspector.html:
3408
3409 2010-01-26  Simon Hausmann  <simon.hausmann@nokia.com>
3410
3411         Reviewed by Holger Freyther.
3412
3413         REGRESSION(r53835): Fix editing/pasteboard/paste-noscript-xhtml.xhtml
3414         https://bugs.webkit.org/show_bug.cgi?id=34157
3415
3416         Pass the FragmentScriptingPermission correctly through to the DOM
3417         and disallow scripting elements in parseEndElement(), similar to
3418         the libxml tokenizer change in r53835.
3419
3420         * dom/XMLTokenizerQt.cpp:
3421         (WebCore::handleElementNamespaces):
3422         (WebCore::handleElementAttributes):
3423         (WebCore::XMLTokenizer::parseStartElement):
3424         (WebCore::XMLTokenizer::parseEndElement):
3425
3426 2010-01-26  Garret Kelly  <gdk@chromium.org>
3427
3428         Reviewed by Eric Seidel.
3429
3430         Add missing declaration for the feMorphology SVG element.
3431         https://bugs.webkit.org/show_bug.cgi?id=34151
3432
3433         * bindings/v8/V8DOMWrapper.cpp:
3434
3435 2010-01-26  Andras Becsi  <abecsi@inf.u-szeged.hu>
3436
3437         Unreviewed build fix.
3438
3439         [Qt] Build fix after API changes in r53835.
3440
3441         No new tests needed.
3442
3443         * dom/XMLTokenizerQt.cpp:
3444         (WebCore::XMLTokenizer::XMLTokenizer):
3445         (WebCore::parseXMLDocumentFragment):
3446
3447 2010-01-22  Jeremy Orlow  <jorlow@chromium.org>
3448
3449         Reviewed by Darin Adler.
3450
3451         Make storage events match the spec.
3452         https://bugs.webkit.org/show_bug.cgi?id=30546
3453
3454         This meat of the patch I just posted is very simple.  It's just making events
3455         asynchronous, not posting them to the frame that generated them, passing a null
3456         for the key when issuing a clear storage event, and making the events
3457         non-cancelable/non-bubbleable...all of which are clearly stated in the spec.
3458
3459         The asynchronous and not posting to the frame that generated them forced me to
3460         re-write all the layout tests that dealt with storage events.  There's a lot of
3461         code there, but I tried to be fairly careful to ensure that test coverage did
3462         not shrink in any area.
3463
3464         Tests: storage/domstorage/events/basic-body-attribute.html
3465                storage/domstorage/events/basic-setattribute.html
3466                storage/domstorage/events/basic.html
3467                storage/domstorage/events/case-sensitive.html
3468                storage/domstorage/events/documentURI.html
3469
3470         * dom/Document.cpp:
3471         (WebCore::Document::Document):
3472         (WebCore::Document::enqueueStorageEvent):
3473         (WebCore::Document::storageEventTimerFired):
3474         * dom/Document.h:
3475         * storage/StorageEvent.cpp:
3476         (WebCore::StorageEvent::StorageEvent):
3477         * storage/StorageEvent.idl:
3478         * storage/StorageEventDispatcher.cpp:
3479         (WebCore::StorageEventDispatcher::dispatch):
3480
3481 2010-01-25  Dan Bernstein  <mitz@apple.com>
3482
3483         Reviewed by Darin Adler.
3484
3485         <rdar://problem/7573493> Error with line break inside ?&raquo; pair of characters.
3486         https://bugs.webkit.org/show_bug.cgi?id=17475
3487
3488         Test: fast/text/line-break-after-question-mark.html
3489
3490         Instead of unconditionally allowing lines to break after a question mark, which was intended
3491         to mimic Internet Explorer, apply the Unicode line breaking behavior after a question mark,
3492         with one exception in the ASCII range to match IE, namely not allowing a line break between
3493         a question mark and a vertical line.
3494
3495         * rendering/break_lines.cpp:
3496         (WebCore::shouldBreakAfter): Added a next character parameter. Changed to consult a table
3497         for the question mark case in order to keep it fast and not require a text break iterator in
3498         the ASCII case.
3499         (WebCore::nextBreakablePosition): Pass the next character to shouldBreakAfter.
3500
3501 2010-01-25  Peter Kasting  <pkasting@google.com>
3502
3503         Reviewed by Dan Bernstein.
3504
3505         Mac scrollbar thumbs were drawn with the wrong size.
3506         https://bugs.webkit.org/show_bug.cgi?id=34049
3507
3508         * platform/chromium/ScrollbarThemeChromiumMac.mm:
3509         (WebCore::ScrollbarThemeChromiumMac::paint):
3510         * platform/mac/ScrollbarThemeMac.mm:
3511         (WebCore::ScrollbarThemeMac::paint):
3512
3513 2010-01-25  Enrica Casucci  <enrica@apple.com>
3514
3515         Reviewed by Darin Adler.
3516
3517         Cleanup unwanted tags after pasting.
3518         https://bugs.webkit.org/show_bug.cgi?id=34148
3519         
3520         Test: editing/pasteboard/paste-noscript-xhtml.xhtml
3521
3522         * dom/Element.cpp:
3523         (WebCore::Element::setAttributeNS):
3524         * dom/Element.h:
3525         * dom/XMLTokenizer.h:
3526         * dom/XMLTokenizerLibxml2.cpp:
3527         (WebCore::XMLTokenizer::XMLTokenizer):
3528         (WebCore::handleElementNamespaces):
3529         (WebCore::handleElementAttributes):
3530         (WebCore::XMLTokenizer::startElementNs):
3531         (WebCore::XMLTokenizer::endElementNs):
3532         (WebCore::parseXMLDocumentFragment):
3533         * html/HTMLElement.cpp:
3534         (WebCore::HTMLElement::createContextualFragment):
3535
3536 2010-01-25  Steve Falkenburg  <sfalken@apple.com>
3537
3538         Reviewed by Simon Fraser.
3539
3540         A WebGeolocationControllerClient is leaked for every WebView
3541         https://bugs.webkit.org/show_bug.cgi?id=34145
3542
3543         * page/GeolocationController.cpp:
3544         (WebCore::GeolocationController::~GeolocationController):
3545         * page/GeolocationControllerClient.h:
3546
3547 2010-01-25  Chris Marrin  <cmarrin@apple.com>
3548
3549         Reviewed by Simon Fraser.
3550
3551         Fixed bug in positioning of scroll layer within the
3552         parent root layer.
3553         https://bugs.webkit.org/show_bug.cgi?id=33847
3554         
3555         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3556         (WebCore::WKCACFLayerRenderer::setScrollFrame):
3557         (WebCore::WKCACFLayerRenderer::createRenderer):
3558
3559 2010-01-25  Alexey Proskuryakov  <ap@apple.com>
3560
3561         Rubber-stamped by Geoffrey Garen.
3562
3563         https://bugs.webkit.org/show_bug.cgi?id=34076
3564         An image remains accessible via form.property syntax after being removed from document.
3565
3566         Fix crashing regression tests (tables/mozilla/bugs/bug4527.html et al.)
3567
3568         * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::insertedIntoTree): Remove incorrect
3569         assertions added in the previous patch - it's mot true that m_for is always a parent; table
3570         parsing can reparent the image element, but m_form still needs to be set.
3571
3572 2010-01-25  Alexey Proskuryakov  <ap@apple.com>
3573
3574         Reviewed by Geoffrey Garen.
3575
3576         https://bugs.webkit.org/show_bug.cgi?id=34076
3577         An image remains accessible via form.property syntax after being removed from document.
3578
3579         Tests: fast/forms/removed-image-as-property.html
3580                fast/forms/reparented-image-as-property.html
3581
3582         * html/HTMLImageElement.cpp:
3583         (WebCore::HTMLImageElement::~HTMLImageElement): This is called during GC - not a good time
3584         to make observable changes to DOM.
3585         (WebCore::HTMLImageElement::insertedIntoTree): This is the right place to do any work that
3586         depends on connectedness to some ancestor. We still allow for m_form to be set via constructor,
3587         which happens during parsing.
3588         (WebCore::HTMLImageElement::removedFromTree): Ditto.
3589
3590         * html/HTMLImageElement.h: Added removedFromTree/insertedIntoTree, moved removedFromDocument
3591         and insertedIntoDocument to private section, as they shouldn't be called directly.
3592
3593 2010-01-25  Daniel Bates  <dbates@webkit.org>
3594
3595         Reviewed by Adam Barth.
3596
3597         https://bugs.webkit.org/show_bug.cgi?id=34073
3598
3599         Fixes misspelled words in comments.
3600
3601         * accessibility/AccessibilityListBox.cpp:
3602         (WebCore::AccessibilityListBox::addChildren):
3603         (WebCore::AccessibilityListBox::doAccessibilityHitTest):
3604         * accessibility/mac/AccessibilityObjectWrapper.mm:
3605         (-[AccessibilityObjectWrapper detach]):
3606         (AXAttributeStringSetElement):
3607         * bindings/js/JSDOMBinding.cpp:
3608         (WebCore::completeURL):
3609         * bindings/js/JSDOMWindowBase.cpp:
3610         * bindings/js/JSDOMWindowBase.h:
3611         * bindings/js/JSDOMWindowCustom.cpp:
3612         (WebCore::JSDOMWindow::getOwnPropertySlot):
3613         * bindings/js/JSSVGPODTypeWrapper.h:
3614         * bindings/js/ScriptController.cpp:
3615         (WebCore::ScriptController::evaluateInWorld):
3616         * bridge/NP_jsobject.cpp:
3617         (_NPN_SetException):
3618         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3619         (JavaInstance::invokeMethod):
3620         (JObjectWrapper::JObjectWrapper):
3621         * bridge/objc/objc_instance.mm:
3622         (ObjcInstance::setValueOfUndefinedField):
3623         (ObjcInstance::getValueOfUndefinedField):
3624         * css/CSSFontSelector.cpp:
3625         (WebCore::CSSFontSelector::addFontFaceRule):
3626         * css/CSSStyleSelector.cpp:
3627         (WebCore::CSSStyleSelector::CSSStyleSelector):
3628         (WebCore::CSSStyleSelector::sortMatchedRules):
3629         (WebCore::CSSStyleSelector::applyDeclarations):
3630         (WebCore::CSSStyleSelector::applyProperty):
3631         * dom/Document.cpp:
3632         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
3633         (WebCore::Document::detach):
3634         * dom/Document.h:
3635         * dom/Element.cpp:
3636         (WebCore::Element::updateFocusAppearance):
3637         * dom/Element.h:
3638         * dom/MessagePortChannel.h:
3639         * dom/MouseRelatedEvent.cpp:
3640         (WebCore::MouseRelatedEvent::receivedTarget):
3641         * dom/Node.cpp:
3642         (WebCore::Node::isFocusable):
3643         (WebCore::Node::shadowAncestorNode):
3644         * dom/Node.h:
3645         * dom/Position.cpp:
3646         (WebCore::Position::upstream):
3647         * dom/Position.h:
3648         * dom/Range.cpp:
3649         (WebCore::Range::processContents):
3650         * dom/StyledElement.cpp:
3651         (WebCore::StyledElement::addCSSColor):
3652         * editing/ApplyStyleCommand.cpp:
3653         (WebCore::StyleChange::reconcileTextDecorationProperties):
3654         (WebCore::StyleChange::extractTextStyles):
3655         (WebCore::prepareEditingStyleToApplyAt):
3656         * editing/DeleteButtonController.cpp:
3657         (WebCore::isDeletableElement):
3658         * editing/DeleteSelectionCommand.cpp:
3659         (WebCore::DeleteSelectionCommand::initializeStartEnd):
3660         * editing/Editor.cpp:
3661         (WebCore::Editor::learnSpelling):
3662         * inspector/front-end/ConsoleView.js:
3663         (WebInspector.ConsoleMessage.prototype._format):
3664         * loader/Cache.cpp:
3665         (WebCore::Cache::pruneLiveResources):
3666         (WebCore::Cache::pruneDeadResources):
3667         * loader/Cache.h:
3668         * loader/CachedResource.cpp:
3669         (WebCore::CachedResource::makePurgeable):
3670         * loader/CachedResource.h:
3671         * loader/CachedResourceHandle.h:
3672         * loader/DocumentLoader.h:
3673         * loader/FTPDirectoryParser.cpp:
3674         (WebCore::parseOneFTPLine):
3675         * loader/FrameLoader.cpp:
3676         (WebCore::FrameLoader::didExplicitOpen):
3677         * loader/ResourceLoader.cpp:
3678         (WebCore::ResourceLoader::didCancel):
3679         * loader/WorkerThreadableLoader.h:
3680         * loader/appcache/ApplicationCacheStorage.cpp:
3681         (WebCore::ApplicationCacheStorage::spaceNeeded):
3682         * notifications/NotificationPresenter.h:
3683         (WebCore::NotificationPresenter::):
3684         * page/animation/AnimationController.cpp:
3685         (WebCore::AnimationController::updateAnimations):
3686         * platform/LinkHash.cpp:
3687         (WebCore::cleanPath):
3688         * platform/graphics/cg/GraphicsContextCG.cpp:
3689         (WebCore::calculateDrawingMode):
3690         * platform/graphics/cg/PatternCG.cpp:
3691         (WebCore::Pattern::createPlatformPattern):
3692         * platform/graphics/mac/ComplexTextController.cpp:
3693         (WebCore::ComplexTextController::offsetForPosition):
3694         * platform/graphics/mac/GraphicsLayerCA.h:
3695         * platform/graphics/mac/GraphicsLayerCA.mm:
3696         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
3697         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3698         (WebCore::MediaPlayerPrivate::doSeek):
3699         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
3700         (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame):
3701         * platform/mac/PasteboardMac.mm:
3702         (WebCore::Pasteboard::writeSelection):
3703         (WebCore::Pasteboard::writePlainText):
3704         (WebCore::Pasteboard::writeURL):
3705         * platform/text/TextCodecICU.cpp:
3706         (WebCore::TextCodecICU::registerExtendedEncodingNames):
3707         * platform/text/TextEncodingDetectorICU.cpp:
3708         (WebCore::detectTextEncoding):
3709         * rendering/AutoTableLayout.cpp:
3710         (WebCore::AutoTableLayout::calcEffectiveWidth):
3711         (WebCore::AutoTableLayout::layout):
3712         * rendering/RenderBox.cpp:
3713         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
3714         (WebCore::RenderBox::calcAbsoluteVerticalValues):
3715         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
3716         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
3717         * rendering/RenderLayer.cpp:
3718         (WebCore::RenderLayer::scrollByRecursively):
3719         (WebCore::RenderLayer::paintLayer):
3720         (WebCore::RenderLayer::hitTestLayer):
3721         * rendering/RenderObject.cpp:
3722         (WebCore::RenderObject::destroy):
3723         * rendering/RenderTextControl.cpp:
3724         (WebCore::RenderTextControl::setInnerTextValue):
3725         * rendering/RenderTheme.cpp:
3726         (WebCore::RenderTheme::stateChanged):
3727         * rendering/SVGRenderSupport.cpp:
3728         (WebCore::SVGRenderBase::mapLocalToContainer):
3729         * rendering/SVGRootInlineBox.cpp:
3730         (WebCore::SVGRootInlineBox::buildTextChunks):
3731         * rendering/TransformState.cpp:
3732         (WebCore::TransformState::flattenWithTransform):
3733         * wml/WMLInputElement.cpp:
3734         (WebCore::WMLInputElement::dispatchBlurEvent):
3735         (WebCore::WMLInputElement::suggestedValue):
3736
3737 2010-01-25  Geoffrey Garen  <ggaren@apple.com>
3738
3739         Suggested by Darin Adler.
3740
3741         Fixed a spelling error, tightened up some grammar.
3742
3743         * bindings/js/JSDOMBinding.cpp:
3744         (WebCore::forgetDOMObject):
3745         (WebCore::forgetDOMNode):
3746
3747 2010-01-25  Yury Semikhatsky  <yurys@chromium.org>
3748
3749         Reviewed by Timothy Hatcher.
3750
3751         Instead of adding inspector methods to the inspected global objects
3752         use private implementation visible from inspector code only.
3753         https://bugs.webkit.org/show_bug.cgi?id=34089
3754
3755         Test: inspector/inspected-objects-not-overriden.html
3756
3757         * inspector/front-end/InjectedScript.js:
3758         (injectedScriptConstructor):
3759
3760 2010-01-25  Pavel Feldman  <pfeldman@chromium.org>
3761
3762         Reviewed by Timothy Hatcher.
3763
3764         Web Inspector: don't show headers/content tabs in scripts view.
3765
3766         https://bugs.webkit.org/show_bug.cgi?id=34083
3767
3768         * inspector/front-end/ResourceView.js:
3769         (WebInspector.ResourceView):
3770         (WebInspector.ResourceView.prototype.set headersVisible):
3771         (WebInspector.ResourceView.prototype._selectContentTab):
3772         (WebInspector.ResourceView.prototype._innerSelectContentTab):
3773         * inspector/front-end/ResourcesPanel.js:
3774         (WebInspector.ResourcesPanel.prototype.show):
3775         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
3776         (WebInspector.ResourcesPanel.prototype.showResource):
3777         * inspector/front-end/ScriptsPanel.js:
3778         (WebInspector.ScriptsPanel.prototype.show):
3779         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
3780         * inspector/front-end/inspector.css:
3781
3782 2010-01-25  Simon Hausmann  <hausmann@webkit.org>
3783
3784         Reviewed by Kenneth Rohde Christiansen.
3785
3786         [Qt] Reduce the size of the library when compiling for Maemo5
3787         https://bugs.webkit.org/show_bug.cgi?id=34050
3788
3789         Exclude the Web Inspector's qrc file in the Maemo5 build, just
3790         like we do for the Symbian build. Saves about ~900k.
3791
3792         * WebCore.pro:
3793
3794 2010-01-25  Simon Hausmann  <hausmann@webkit.org>
3795
3796         Reviewed by Kenneth Rohde Christiansen.
3797
3798         [Qt] In the StyledPainter determine the style from the Render and Scrollbar theme instead of from the paint device
3799         https://bugs.webkit.org/show_bug.cgi?id=34054
3800
3801         Getting the style from the painter's paint device is a hack that breaks when
3802         the paint device's style is different than the style that is used when
3803         calculating the metries earlier when there is no painter available.
3804
3805         This change moves us closer to always using the same style.
3806
3807         * platform/qt/RenderThemeQt.cpp:
3808         (WebCore::StylePainter::StylePainter):
3809         (WebCore::StylePainter::init):
3810         (WebCore::RenderThemeQt::paintButton):
3811         (WebCore::RenderThemeQt::paintTextField):
3812         (WebCore::RenderThemeQt::paintMenuList):
3813         (WebCore::RenderThemeQt::paintMenuListButton):
3814         (WebCore::RenderThemeQt::paintSliderTrack):
3815         (WebCore::RenderThemeQt::paintMediaMuteButton):
3816         (WebCore::RenderThemeQt::paintMediaPlayButton):
3817         (WebCore::RenderThemeQt::paintMediaSliderTrack):
3818         (WebCore::RenderThemeQt::paintMediaSliderThumb):
3819         * platform/qt/RenderThemeQt.h:
3820         * platform/qt/ScrollbarThemeQt.cpp:
3821         (WebCore::ScrollbarThemeQt::paint):
3822         (WebCore::ScrollbarThemeQt::hitTest):
3823         (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
3824         (WebCore::ScrollbarThemeQt::scrollbarThickness):
3825         (WebCore::ScrollbarThemeQt::thumbLength):
3826         (WebCore::ScrollbarThemeQt::trackPosition):
3827         (WebCore::ScrollbarThemeQt::trackLength):
3828         (WebCore::ScrollbarThemeQt::paintScrollCorner):
3829         (WebCore::ScrollbarThemeQt::style):
3830         * platform/qt/ScrollbarThemeQt.h:
3831
3832 2010-01-25  Simon Hausmann  <hausmann@webkit.org>
3833
3834         Reviewed by Kenneth Rohde Christiansen.
3835
3836         [Qt] In RenderThemeQt determine the QStyle from the page client instead of the page's view
3837         https://bugs.webkit.org/show_bug.cgi?id=34053
3838
3839         * platform/qt/QWebPageClient.h: Add function to return the style.
3840         * platform/qt/RenderThemeQt.cpp:
3841         (WebCore::RenderThemeQt::qStyle): Determine the style from the page client instead of the page's view.
3842
3843 2010-01-25  Simon Hausmann  <hausmann@webkit.org>
3844
3845         Reviewed by Kenneth Christiansen.
3846
3847         [Qt] Clean up code to determine palette from page client in RenderThemeQt
3848         https://bugs.webkit.org/show_bug.cgi?id=34052
3849
3850         Use the RenderTheme's associated page instead of going through the
3851         render tree and the document.
3852
3853         * platform/qt/RenderThemeQt.cpp:
3854         (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
3855         (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
3856         * platform/qt/RenderThemeQt.h:
3857
3858 2010-01-25  Janne Koskinen  <janne.p.koskinen@digia.com>
3859
3860         Reviewed by Simon Hausmann.
3861
3862         [Qt] Phone backup support for QtWebkit for Symbian devices.
3863         https://bugs.webkit.org/show_bug.cgi?id=34077
3864
3865         * WebCore.pro:
3866
3867 2010-01-25  Benjamin Poulain  <benjamin.poulain@nokia.com>
3868
3869         Reviewed by Antti Koivisto.
3870
3871         Do not render the full frame when there is some elements with fixed positioning
3872         https://bugs.webkit.org/show_bug.cgi?id=33150
3873
3874         Do not render the full frame when there is some elements with fixed positioning
3875         https://bugs.webkit.org/show_bug.cgi?id=33150
3876
3877         * page/FrameView.cpp:
3878         (WebCore::FrameView::useSlowRepaints):
3879         (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
3880         (WebCore::FrameView::registerFixedPositionedObject):
3881         (WebCore::FrameView::unregisterFixedPositionedObject):
3882         (WebCore::FrameView::scrollContentsFastPath):
3883         * page/FrameView.h:
3884         * platform/ScrollView.cpp:
3885         (WebCore::ScrollView::scrollContents):
3886         (WebCore::ScrollView::scrollContentsFastPath):
3887         * platform/ScrollView.h:
3888         * rendering/RenderObject.cpp:
3889         (WebCore::RenderObject::styleWillChange):
3890         (WebCore::RenderObject::destroy):
3891
3892 2010-01-24  Pavel Feldman  <pfeldman@chromium.org>
3893
3894         Reviewed by Timothy Hatcher.
3895
3896         Web Inspector: Add support for addMessage/clearMessages to SourceFrame2.
3897
3898         https://bugs.webkit.org/show_bug.cgi?id=33904
3899
3900         * WebCore.gypi:
3901         * WebCore.vcproj/WebCore.vcproj:
3902         * inspector/front-end/SourceFrame2.js:
3903         (WebInspector.SourceFrame2):
3904         (WebInspector.SourceFrame2.prototype.addMessage):
3905         (WebInspector.SourceFrame2.prototype.clearMessages):
3906         (WebInspector.SourceFrame2.prototype._incrementMessageRepeatCount):
3907         (WebInspector.SourceFrame2.prototype._addExistingMessagesToSource):
3908         (WebInspector.SourceFrame2.prototype._addMessageToSource):
3909         (WebInspector.SourceFrame2.prototype.resize):
3910         * inspector/front-end/TextEditor.js:
3911         (WebInspector.TextEditor):
3912         (WebInspector.TextEditor.prototype.setDivDecoration):
3913         (WebInspector.TextEditor.prototype._lineHeight):
3914         (WebInspector.TextEditor.prototype._highlightChanged):
3915         (WebInspector.TextEditor.prototype.packAndRepaintAll):
3916         (WebInspector.TextEditor.prototype._updateSize):
3917         (WebInspector.TextEditor.prototype._repaintAll):
3918         (WebInspector.TextEditor.prototype._paint):
3919         (WebInspector.TextEditor.prototype._paintLinesContinuation):
3920         (WebInspector.TextEditor.prototype._mouseOut):
3921         (WebInspector.TextEditor.prototype._updateDivDecorations):
3922         (WebInspector.TextEditor.prototype._positionDivDecoration):
3923         (WebInspector.TextEditor.prototype._paintSelection):
3924         (WebInspector.TextEditor.prototype._replaceSelectionWith):
3925         * inspector/front-end/TextEditorHighlighter.js:
3926         (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
3927         * inspector/front-end/WebKit.qrc:
3928         * inspector/front-end/inspector.css:
3929         * inspector/front-end/inspector.html:
3930         * inspector/front-end/textEditor.css: Added.
3931
3932 2010-01-24  Pavel Feldman  <pfeldman@chromium.org>
3933
3934         Reviewed by Timothy Hatcher.
3935
3936         Web Inspector: Replace split pane with tabbed pane in resource
3937         contents view.
3938
3939         https://bugs.webkit.org/show_bug.cgi?id=32453
3940
3941         * inspector/front-end/ResourceView.js:
3942         (WebInspector.ResourceView):
3943         (WebInspector.ResourceView.prototype.attach):
3944         (WebInspector.ResourceView.prototype.show):
3945         (WebInspector.ResourceView.prototype._selectTab):
3946         (WebInspector.ResourceView.prototype._selectHeadersTab):
3947         (WebInspector.ResourceView.prototype._selectContentTab):
3948         * inspector/front-end/ResourcesPanel.js:
3949         (WebInspector.ResourcesPanel.prototype.show):
3950         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
3951         (WebInspector.ResourcesPanel.prototype.showResource):
3952         * inspector/front-end/ScriptsPanel.js:
3953         (WebInspector.ScriptsPanel.prototype.show):
3954         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
3955         * inspector/front-end/Settings.js:
3956         (WebInspector.Settings.prototype._load):
3957         * inspector/front-end/SourceFrame.js:
3958         (WebInspector.SourceFrame.prototype._loaded):
3959         * inspector/front-end/SourceView.js:
3960         (WebInspector.SourceView):
3961         * inspector/front-end/inspector.css:
3962
3963 2010-01-24  Eric Carlson  <eric.carlson@apple.com>
3964
3965         Reviewed by Dan Bernstein.
3966
3967         Media element duration changes to zero after playing in reverse
3968         https://bugs.webkit.org/show_bug.cgi?id=34041
3969
3970         Test: media/video-reverse-play-duration.html
3971
3972         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3973         (WebCore::MediaPlayerPrivate::didEnd): QTKit's ended notification fires at time zero when 
3974         playing in reverse, so don't reset duration in that case.
3975
3976 2010-01-24  Maciej Stachowiak  <mjs@apple.com>
3977
3978         Reviewed by Dan Bernstein.
3979
3980         Content with heavily nested residual style is so slow, it seems like a hang
3981         https://bugs.webkit.org/show_bug.cgi?id=34059
3982         <rdar://problem/7292906>
3983         
3984         Test cast: fast/parser/residual-style-hang.html
3985
3986         * html/HTMLParser.cpp:
3987         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
3988         Limit the number of iterations of the main loop to 5.
3989         
3990         The reason this limit is necessary is that otherwise, N misnested open tags followed
3991         by N misnested close tags will cause O(N^2) of work due to cloning and attaching subtrees;
3992         at a fixed limit, the cost is at worst O(N).
3993         
3994         The code that was in the loop originally ran exactly once - the loop was added in
3995         r21472 to fix <https://bugs.webkit.org/show_bug.cgi?id=13603>. I have verified that
3996         with the iteration limit, the bug is still fixed, both with the original test case
3997         and with the layout tests tht were added.
3998
3999 2010-01-24  Kent Tamura  <tkent@chromium.org>
4000
4001         Reviewed by Darin Adler.
4002
4003         HTMLInputElement::valueAsDate setter support for type=week.
4004         https://bugs.webkit.org/show_bug.cgi?id=33986
4005
4006         Introduce ISODateTime::setMillisecondsSinceEpochForWeek() and add
4007         Week type support to ISODateTime::toString().
4008
4009         * html/HTMLInputElement.cpp:
4010         (WebCore::HTMLInputElement::valueAsDate): Avoid default:.
4011         (WebCore::HTMLInputElement::setValueAsDate):
4012           Add WEEK type handling and avoid default:.
4013         * html/ISODateTime.cpp:
4014         (WebCore::offsetTo1stWeekStart):
4015         (WebCore::ISODateTime::setMillisecondsSinceEpochForWeek):
4016         (WebCore::ISODateTime::millisecondsSinceEpoch):
4017         (WebCore::ISODateTime::toString):
4018           Add Week type support and avoid default:.
4019         * html/ISODateTime.h:
4020
4021 2010-01-24  Oliver Hunt  <oliver@apple.com>
4022
4023         Reviewed by Darin Adler.
4024
4025         Object Serialization assumes deserialization will always occur in the context of a webpage
4026         https://bugs.webkit.org/show_bug.cgi?id=34056
4027         rdar://7573833
4028
4029         Added ClassInfo to JSDOMGlobalObject and make the window and worker class info
4030         inherit from it.  With this in place we're able to determine whether a given
4031         global object is a DOMGlobalObject, and then use that information to avoid
4032         attempting to deserialize types that require the presence of the DOM.
4033
4034         No test as all global objects in webkit inherit from JSDOMGlobalObject.
4035
4036         * bindings/js/JSDOMGlobalObject.cpp:
4037         (WebCore::):
4038         * bindings/js/JSDOMGlobalObject.h:
4039         (WebCore::JSDOMGlobalObject::classInfo):
4040         * bindings/js/JSDOMWindowBase.cpp:
4041         (WebCore::):
4042         * bindings/js/JSWorkerContextBase.cpp:
4043         (WebCore::):
4044         * bindings/js/SerializedScriptValue.cpp:
4045         (WebCore::DeserializingTreeWalker::DeserializingTreeWalker):
4046         (WebCore::DeserializingTreeWalker::convertIfTerminal):
4047
4048 2010-01-24  Eric Carlson  <eric.carlson@apple.com>
4049
4050         Reviewed by Simon Fraser.
4051
4052         https://bugs.webkit.org/show_bug.cgi?id=34047
4053         <rdar://problem/7573699>
4054         Media element "endedPlayback" logic doesn't match spec
4055
4056         Test: media/video-timeupdate-reverse-play.html
4057
4058         * html/HTMLMediaElement.cpp:
4059         (WebCore::HTMLMediaElement::ended): The 'ended' attribute should only be true when playback
4060         rate is positive.
4061         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Always schedule a 'timeupdate' event when
4062         the media engine signals a time discontinuity, scheduleTimeupdateEvent will only queue an event
4063         if one hasn't already been posted for the current movie time.
4064         (WebCore::HTMLMediaElement::endedPlayback): Update to match the spec logic.
4065
4066 2010-01-23  Simon Fraser  <simon.fraser@apple.com>
4067
4068         Reviewed by Darin Adler.
4069
4070         Video that loads inside reflection doesn't get reflected
4071         https://bugs.webkit.org/show_bug.cgi?id=34046
4072         
4073         ensureCloneLayers() made an incorrect assumption that if a clone of the primaryLayer
4074         exists already, then the structural layer and content layer can just be returned.
4075         However, this doesn't account for the situation where a content layer may have
4076         been create after the clone tree was last updated.
4077         
4078         Fix by always creating the structural and clone layers on demand.
4079
4080         Test: compositing/reflections/load-video-in-reflection.html
4081
4082         * platform/graphics/mac/GraphicsLayerCA.h: Added utility method, findOrMakeClone().
4083         * platform/graphics/mac/GraphicsLayerCA.mm:
4084         (WebCore::GraphicsLayerCA::findOrMakeClone): Utility that efficiently finds
4085         or creates a layer in a LayerMap.
4086         (WebCore::GraphicsLayerCA::ensureCloneLayers): Always look for or clone the
4087         structural and content layers, rather than relying on whether there's a primary
4088         layer clone already.
4089
4090 2010-01-23  Oliver Hunt  <oliver@apple.com>
4091
4092         Reviewed by Maciej Stachowiak.
4093
4094         Implement support for FileList cloning in postMessage
4095         https://bugs.webkit.org/show_bug.cgi?id=34048
4096
4097         Support passing FileList through postMessage APIs.  Basically
4098         mechanical task in line with other terminals in the object
4099         graph.
4100
4101         * bindings/js/SerializedScriptValue.cpp:
4102         (WebCore::SerializedFileList::create):
4103         (WebCore::SerializedFileList::length):
4104         (WebCore::SerializedFileList::item):
4105         (WebCore::SerializedFileList::SerializedFileList):
4106         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
4107         (WebCore::SharedSerializedData::asFileList):
4108         (WebCore::SerializingTreeWalker::convertIfTerminal):
4109         (WebCore::DeserializingTreeWalker::convertIfTerminal):
4110         (WebCore::TeardownTreeWalker::convertIfTerminal):
4111             Rearrange these functions to not use 'default:' handling
4112             so that the compiler will actually tell us when we're
4113             not handling cases.
4114         * bindings/js/SerializedScriptValue.h:
4115         (WebCore::SerializedScriptValueData::):
4116         (WebCore::SerializedScriptValueData::asFileList):
4117
4118 2010-01-23  Yury Semikhatsky  <yurys@chromium.org>
4119
4120         Reviewed by Pavel Feldman.
4121
4122         Inject inspector script directly into the inspected context. All the
4123         communication between the script and the frontend is serialized into
4124         JSON strings. It allows to get rid of object quarantines in Web Inspector.
4125
4126         https://bugs.webkit.org/show_bug.cgi?id=32554
4127
4128         Test: inspector/console-log-before-inspector-open.html
4129
4130         * bindings/js/JSInjectedScriptHostCustom.cpp:
4131         (WebCore::JSInjectedScriptHost::databaseForId):
4132         (WebCore::JSInjectedScriptHost::currentCallFrame):
4133         (WebCore::JSInjectedScriptHost::nodeForId):
4134         (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
4135         (WebCore::JSInjectedScriptHost::selectDatabase):
4136         (WebCore::JSInjectedScriptHost::selectDOMStorage):
4137         * bindings/js/ScriptCallStack.h:
4138         (WebCore::ScriptCallStack::globalState):
4139         * bindings/js/ScriptController.cpp:
4140         (WebCore::ScriptController::mainWorldScriptState):
4141         * bindings/js/ScriptController.h:
4142         * bindings/js/ScriptObject.h:
4143         (WebCore::ScriptObject::scriptState):
4144         * bindings/js/ScriptValue.cpp:
4145         * bindings/js/ScriptValue.h:
4146         * bindings/v8/ScriptCallStack.h:
4147         (WebCore::ScriptCallStack::globalState):
4148         * bindings/v8/ScriptObject.h:
4149         (WebCore::ScriptObject::scriptState):
4150         * bindings/v8/ScriptValue.h:
4151         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
4152         * inspector/ConsoleMessage.cpp:
4153         (WebCore::ConsoleMessage::ConsoleMessage):
4154         (WebCore::ConsoleMessage::addToConsole):
4155         (WebCore::ConsoleMessage::isEqual):
4156         * inspector/ConsoleMessage.h:
4157         * inspector/InjectedScriptHost.cpp:
4158         (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
4159         * inspector/InjectedScriptHost.h:
4160         * inspector/InjectedScriptHost.idl:
4161         * inspector/InspectorBackend.cpp:
4162         (WebCore::InspectorBackend::setInjectedScriptSource):
4163         (WebCore::InspectorBackend::dispatchOnInjectedScript):
4164         (WebCore::InspectorBackend::releaseWrapperObjectGroup):
4165         * inspector/InspectorBackend.h:
4166         * inspector/InspectorBackend.idl:
4167         * inspector/InspectorController.cpp:
4168         (WebCore::InspectorController::InspectorController):
4169         (WebCore::InspectorController::clearConsoleMessages):
4170         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
4171         (WebCore::InspectorController::windowScriptObjectAvailable):
4172         (WebCore::InspectorController::scriptObjectReady):
4173         (WebCore::InspectorController::setFrontendProxyObject):
4174         (WebCore::InspectorController::close):
4175         (WebCore::InspectorController::resetScriptObjects):
4176         (WebCore::InspectorController::didPause):
4177         (WebCore::InspectorController::injectedScriptForNodeId):
4178         * inspector/InspectorController.h:
4179         * inspector/InspectorFrontend.cpp:
4180         (WebCore::InspectorFrontend::addConsoleMessage):
4181         (WebCore::InspectorFrontend::pausedScript):
4182         * inspector/InspectorFrontend.h:
4183         * inspector/front-end/AuditsPanel.js:
4184         (WebInspector.AuditsPanel.prototype._reloadResources):
4185         * inspector/front-end/ConsoleView.js:
4186         (WebInspector.ConsoleView.prototype.requestClearMessages):
4187         (WebInspector.ConsoleView.prototype.doEvalInWindow):
4188         * inspector/front-end/DOMAgent.js:
4189         (WebInspector.DOMNode):
4190         (WebInspector.CSSStyleDeclaration):
4191         (WebInspector.CSSStyleDeclaration.parseRule):
4192         * inspector/front-end/Database.js:
4193         (WebInspector.Database.prototype.executeSql):
4194         * inspector/front-end/ElementsPanel.js:
4195         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode):
4196         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
4197         (WebInspector.ElementsPanel.prototype.setDocument):
4198         (WebInspector.ElementsPanel.prototype.searchCanceled):
4199         (WebInspector.ElementsPanel.prototype.performSearch):
4200         * inspector/front-end/ElementsTreeOutline.js:
4201         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
4202         * inspector/front-end/EventListenersSidebarPane.js:
4203         ():
4204         * inspector/front-end/InjectedScript.js:
4205         (injectedScriptConstructor):
4206         (injectedScriptConstructor.):
4207         * inspector/front-end/InjectedScriptAccess.js:
4208         (InjectedScriptAccess):
4209         (InjectedScriptAccess.getDefault):
4210         (get InjectedScriptAccess):
4211         (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
4212         (InjectedScriptAccess._installHandler):
4213         * inspector/front-end/MetricsSidebarPane.js:
4214         (WebInspector.MetricsSidebarPane):
4215         (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
4216         * inspector/front-end/ObjectPropertiesSection.js:
4217         * inspector/front-end/ObjectProxy.js:
4218         (WebInspector.ObjectProxy):
4219         * inspector/front-end/PropertiesSidebarPane.js:
4220         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
4221         * inspector/front-end/ResourcesPanel.js:
4222         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
4223         * inspector/front-end/ScriptsPanel.js:
4224         * inspector/front-end/StylesSidebarPane.js:
4225         (WebInspector.StylePropertyTreeElement.prototype):
4226         * inspector/front-end/WatchExpressionsSidebarPane.js:
4227         (WebInspector.WatchExpressionsSection.prototype.update):
4228         * inspector/front-end/inspector.js:
4229         (WebInspector.loaded):
4230         (WebInspector.pausedScript):
4231         (WebInspector.addConsoleMessage):
4232         (WebInspector.log.logMessage):
4233         (WebInspector.log):
4234
4235 2010-01-22  Alex Milowski  <alex@milowski.com>
4236
4237         Reviewed by David Hyatt.
4238
4239         Added support for RenderMathMLBlock base object and isRenderMathMLBlock()
4240         method on RenderObject. 
4241
4242         Added support for text elements and updated tag and attribute names
4243
4244         Also, updated the stylesheet added files to the project
4245
4246         * DerivedSources.make:
4247         * WebCore.xcodeproj/project.pbxproj:
4248         * css/mathml.css:
4249         * mathml/MathMLInlineContainerElement.cpp:
4250         (WebCore::MathMLInlineContainerElement::createRenderer):
4251         * mathml/MathMLTextElement.cpp: Added.
4252         (WebCore::MathMLTextElement::MathMLTextElement):
4253         (WebCore::MathMLTextElement::create):
4254         (WebCore::MathMLTextElement::createRenderer):
4255         * mathml/MathMLTextElement.h: Added.
4256         * mathml/RenderMathMLBlock.cpp: Added.
4257         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
4258         (WebCore::RenderMathMLBlock::styleDidChange):
4259         (WebCore::RenderMathMLBlock::isChildAllowed):
4260         (WebCore::RenderMathMLBlock::makeBlockStyle):
4261         (WebCore::RenderMathMLBlock::nonOperatorHeight):
4262         (WebCore::RenderMathMLBlock::stretchToHeight):
4263         * mathml/RenderMathMLBlock.h: Added.
4264         (WebCore::RenderMathMLBlock::isRenderMathMLBlock):
4265         (WebCore::RenderMathMLBlock::isRenderMathMLOperator):
4266         (WebCore::RenderMathMLBlock::isRenderMathMLRow):
4267         (WebCore::RenderMathMLBlock::isRenderMathMLMath):
4268         (WebCore::RenderMathMLBlock::hasBase):
4269         (WebCore::toRenderMathMLBlock):
4270         * mathml/mathattrs.in: Added.
4271         * rendering/RenderObject.h:
4272         (WebCore::RenderObject::isRenderMathMLBlock):
4273
4274 2010-01-22  James Robinson  <jamesr@chromium.org>
4275
4276         Reviewed by Alexey Proskuryakov.
4277
4278         Ensures that the 'selected' attribute of an <option> is correct
4279         https://bugs.webkit.org/show_bug.cgi?id=32641
4280
4281         Adds a check in OptionElement::selected() that checks if list items need to be recalculated and does so if needed,
4282         so the attribute is up to date more often.  Also gets rid of most of the recalcStyle() side effects.
4283
4284          Our behavior now matches Firefox 3.5 and IE8 after the </select> is parsed.
4285
4286          Tests: fast/forms/HTMLOptionElement_selected2.html
4287                 fast/forms/HTMLOptionElement_selected3.html
4288
4289         * dom/SelectElement.cpp:
4290         (WebCore::SelectElement::setOptionsChangedOnRenderer):
4291         (WebCore::SelectElement::setRecalcListItems):
4292         (WebCore::SelectElement::recalcListItems):
4293         (WebCore::SelectElement::restoreFormControlState):
4294         (WebCore::SelectElement::reset):
4295         (WebCore::SelectElement::typeAheadFind):
4296         * dom/SelectElement.h:
4297         * html/HTMLOptionElement.cpp:
4298         (WebCore::HTMLOptionElement::selected):
4299         (WebCore::HTMLOptionElement::insertedIntoTree):
4300         * html/HTMLSelectElement.cpp:
4301         (WebCore::HTMLSelectElement::recalcStyle):
4302         (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
4303         * html/HTMLSelectElement.h:
4304         * wml/WMLSelectElement.cpp:
4305         (WebCore::WMLSelectElement::recalcStyle):
4306
4307 2010-01-22  Chris Rogers  <crogers@google.com>
4308
4309         Reviewed by Eric Seidel.
4310
4311         Need to handle WebGLUnsignedByteArray as method argument for V8 binding
4312         https://bugs.webkit.org/show_bug.cgi?id=33929
4313
4314         V8 code generator does not have associated tests
4315
4316         * bindings/scripts/CodeGeneratorV8.pm:
4317
4318 2010-01-22  Elliot Glaysher  <erg@chromium.org>
4319
4320         Reviewed by David Levin.
4321
4322         Chromium: theme selection colors to match gtk theme
4323         Add functions to RenderThemeChromiumLinux to change the selection color
4324         according to the current GTK+ theme.
4325
4326         Since the change is to the Chromium WebKit API layer, testing is done
4327         in Chromium's test shell (see Chromium side of this patch:
4328         http://codereview.chromium.org/554004)
4329
4330         https://bugs.webkit.org/show_bug.cgi?id=33921
4331
4332         * rendering/RenderThemeChromiumLinux.cpp:
4333         (WebCore::RenderThemeChromiumLinux::platformActiveSelectionBackgroundColor):
4334         (WebCore::RenderThemeChromiumLinux::platformInactiveSelectionBackgroundColor):
4335         (WebCore::RenderThemeChromiumLinux::platformActiveSelectionForegroundColor):
4336         (WebCore::RenderThemeChromiumLinux::platformInactiveSelectionForegroundColor):
4337         (WebCore::RenderThemeChromiumLinux::setSelectionColors):
4338         * rendering/RenderThemeChromiumLinux.h: Adds static members.
4339
4340 2010-01-22  Kevin Watters  <kevinwatters@gmail.com>
4341
4342         Reviewed by Kevin Ollivier.
4343
4344         [wx] Remove the Bakefile build system, which is no longer being used.
4345         
4346         https://bugs.webkit.org/show_bug.cgi?id=34022
4347
4348         * WebCoreSources.bkl: Removed.
4349         * webcore-base.bkl: Removed.
4350         * webcore-wx.bkl: Removed.
4351
4352 2010-01-22  Peter Kasting  <pkasting@google.com>
4353
4354         Reviewed by Darin Adler.
4355
4356         Remove unnecessary copy of zlib.
4357         https://bugs.webkit.org/show_bug.cgi?id=34028
4358
4359         * platform/image-decoders/zlib: Removed.
4360         * platform/image-decoders/zlib/adler32.c: Removed.
4361         * platform/image-decoders/zlib/compress.c: Removed.
4362         * platform/image-decoders/zlib/crc32.c: Removed.
4363         * platform/image-decoders/zlib/crc32.h: Removed.
4364         * platform/image-decoders/zlib/deflate.c: Removed.
4365         * platform/image-decoders/zlib/deflate.h: Removed.
4366         * platform/image-decoders/zlib/gzio.c: Removed.
4367         * platform/image-decoders/zlib/infback.c: Removed.
4368         * platform/image-decoders/zlib/inffast.c: Removed.
4369         * platform/image-decoders/zlib/inffast.h: Removed.
4370         * platform/image-decoders/zlib/inffixed.h: Removed.
4371         * platform/image-decoders/zlib/inflate.c: Removed.
4372         * platform/image-decoders/zlib/inflate.h: Removed.
4373         * platform/image-decoders/zlib/inftrees.c: Removed.
4374         * platform/image-decoders/zlib/inftrees.h: Removed.
4375         * platform/image-decoders/zlib/mozzconf.h: Removed.
4376         * platform/image-decoders/zlib/trees.c: Removed.
4377         * platform/image-decoders/zlib/trees.h: Removed.
4378         * platform/image-decoders/zlib/uncompr.c: Removed.
4379         * platform/image-decoders/zlib/zconf.h: Removed.
4380         * platform/image-decoders/zlib/zlib.h: Removed.
4381         * platform/image-decoders/zlib/zutil.c: Removed.
4382         * platform/image-decoders/zlib/zutil.h: Removed.
4383
4384 2010-01-22  Steve Falkenburg  <sfalken@apple.com>
4385
4386         Reviewed by Darin Adler.
4387
4388         https://bugs.webkit.org/show_bug.cgi?id=34025
4389         Enable client-based Geolocation abstraction for Mac, Windows AppleWebKit targets.
4390
4391         * Configurations/FeatureDefines.xcconfig:
4392         * DerivedSources.make:
4393
4394 2010-01-22  Simon Fraser  <simon.fraser@apple.com>
4395
4396         Reviewed by Eric Carlson.
4397
4398         Race condition in video setup can force videos into software mode
4399         https://bugs.webkit.org/show_bug.cgi?id=34034
4400
4401         We used to call setUpVideoRendering() unconditionally from
4402         acceleratedRenderingStateChanged(); this could happen before the movie had any
4403         data, and thus force the movie into software rendering mode.
4404         
4405         Fix by returning early from setUpVideoRendering() if isReadyForRendering() returns false,
4406         which also allows us to remove some other checks for being ready to render.
4407         
4408         Timing dependent, hard to make a test for.
4409
4410         * platform/graphics/mac/GraphicsLayerCA.mm:
4411         (WebCore::GraphicsLayerCA::setContentsToMedia): Optimize to do an early return
4412         if passing in the same layer that is already being used.
4413         
4414         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
4415         (WebCore::MediaPlayerPrivate::setUpVideoRendering): Return without doing anything
4416         if not ready to render.
4417         (WebCore::MediaPlayerPrivate::updateStates): No need to call isReadyForRendering()
4418         any more, since setUpVideoRendering() does that.
4419         (WebCore::MediaPlayerPrivate::setVisible): No need to check the ready state; this
4420         is equivalent to the check inside of setUpVideoRendering().
4421
4422 2010-01-22  Simon Fraser  <simon.fraser@apple.com>
4423
4424         Reviewed by Dan Bernstein.
4425
4426         REGRESSION (r53110): Find My iPhone message dialog is offset from original position once it gets focus
4427         https://bugs.webkit.org/show_bug.cgi?id=33821
4428
4429         Fix an issue with the geometry of fixed position, composited layers inside other
4430         composited layers. If we called convertToLayerCoords() on a fixed layer with an ancestor
4431         layer which is not the root, then we assumed that the fixed layer had a positioning root.
4432         However, this is not always the case, since the fixed layer may have a compositing ancestor
4433         which is not a fixed container.
4434         
4435         Test: compositing/geometry/fixed-in-composited.html
4436
4437         * rendering/RenderLayer.cpp:
4438         (WebCore::isFixedPositionedContainer): Utility function to test whether a layer acts
4439         as a fixed position container.
4440         
4441         (WebCore::RenderLayer::convertToLayerCoords): When called on a fixed position layer
4442         for an ancestor layer that is not the root, compute the correct offsets by looking for
4443         the fixed position container, and computing offsets relative to that. If the ancestorLayer
4444         is the fixed position container, fall through to the existing code that is shared
4445         with absolutely positioned layers.
4446
4447 2010-01-22  Simon Fraser  <simon.fraser@apple.com>
4448
4449         Reviewed by Dan Bernstein.
4450
4451         webkitConvertPointFromNodeToPage doesn't take into account most recent transform style
4452         https://bugs.webkit.org/show_bug.cgi?id=34023
4453
4454         Be sure to call updateLayoutIgnorePendingStylesheets() before doing point mapping,
4455         to apply any style changes since the last layout.
4456
4457         Test: fast/dom/Window/webkitConvertPointUpdateLayout.html
4458
4459         * page/DOMWindow.cpp:
4460         (WebCore::DOMWindow::webkitConvertPointFromNodeToPage): Call updateLayoutIgnorePendingStylesheets().
4461         (WebCore::DOMWindow::webkitConvertPointFromPageToNode): Ditto.
4462
4463 2010-01-22  Maciej Stachowiak  <mjs@apple.com>
4464
4465         Reviewed by Adam Roben.
4466
4467         Use stale cache data when going back and forward but not using WebCore’s page cache
4468         https://bugs.webkit.org/show_bug.cgi?id=33993
4469         <rdar://problem/7383392>
4470
4471         No tests since this is a performance change.
4472
4473         * loader/CachePolicy.h:
4474         (WebCore::): Add CachePolicyAllowStale.
4475         * loader/DocLoader.cpp:
4476         (WebCore::DocLoader::checkForReload): Never reload in the case of
4477         CachePolicyAllowStale.
4478         * loader/FrameLoader.cpp:
4479         (WebCore::FrameLoader::subresourceCachePolicy): Return CachePolicyAllowStale
4480         if the main resource is being loaded to allow stale data.
4481         (WebCore::FrameLoader::addExtraFieldsToRequest): Use ReturnCacheDataElseLoad
4482         on back/forward loads - needed when going back of forward to a page with frames.
4483
4484 2010-01-22  Kelly Norton  <knorton@google.com>
4485
4486         Reviewed by Pavel Feldman.
4487
4488         Web Inspector: JavaScript Error in DOMAgent.js:375 (_attributesUpdated)
4489         https://bugs.webkit.org/show_bug.cgi?id=33915
4490
4491         Errors were caused by the fact that Element::attributes calls Element::setAttribute to
4492         synchronized the styleAttr. The fix is to simply check the synchronizing style attribute
4493         flag.
4494
4495         * dom/Element.cpp:
4496         (WebCore::Element::setAttribute): Checked for case where styleAttr is being synchronized.
4497
4498 2010-01-22  Eric Carlson  <eric.carlson@apple.com>
4499
4500         Reviewed by Simon Fraser.
4501
4502         Update r53711 for GraphicsLayer method rename.
4503
4504         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
4505         (WebCore::MediaPlayerPrivate::createLayerForMovie): Rename from change setContentsToVideo.
4506
4507 2010-01-22  Jian Li  <jianli@chromium.org>
4508
4509         Reviewed by Darin Adler.
4510
4511         Add BlobConstructor to DOMWindow.
4512         https://bugs.webkit.org/show_bug.cgi?id=33982
4513
4514         * page/DOMWindow.idl:
4515
4516 2010-01-22  Brian Weinstein  <bweinstein@apple.com>
4517
4518         Rubber-stamped by Adam Roben.
4519         
4520         Commit files that were supposed to be part of r53696, but weren't
4521         landed.
4522
4523         * English.lproj/localizedStrings.js:
4524         * manual-tests/debugger-caught-uncaught-exceptions.html: Added.
4525
4526 2010-01-22  Peter Kasting  <pkasting@google.com>
4527
4528         Reviewed by David Hyatt.
4529
4530         When scrolling by page, hold back 1/8th of the visible size instead of
4531         40 px.
4532         https://bugs.webkit.org/show_bug.cgi?id=32595
4533
4534         * editing/EditorCommand.cpp:
4535         (WebCore::verticalScrollDistance):
4536         * platform/ScrollView.cpp:
4537         (WebCore::ScrollView::updateScrollbars):
4538         (WebCore::ScrollView::wheelEvent):
4539         * platform/Scrollbar.h:
4540         * platform/wx/ScrollViewWx.cpp:
4541         (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
4542         * rendering/RenderLayer.cpp:
4543         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
4544
4545 2010-01-22  Peter Kasting  <pkasting@google.com>
4546
4547         Not reviewed, backout.
4548
4549         Back out r52673, which caused several regressions.
4550         https://bugs.webkit.org/show_bug.cgi?id=32533
4551
4552         * platform/PopupMenuClient.h:
4553         * platform/chromium/PopupMenuChromium.cpp:
4554         (WebCore::PopupContainer::hidePopup):
4555         (WebCore::PopupListBox::handleKeyEvent):
4556         (WebCore::PopupListBox::abandon):
4557         (WebCore::PopupListBox::acceptIndex):
4558         (WebCore::PopupListBox::selectIndex):
4559         (WebCore::PopupListBox::clearSelection):
4560         (WebCore::PopupListBox::hidePopup):
4561         * platform/gtk/PopupMenuGtk.cpp:
4562         (WebCore::PopupMenu::menuUnmapped):
4563         * platform/mac/PopupMenuMac.mm:
4564         (WebCore::PopupMenu::show):
4565         * platform/qt/QtAbstractWebPopup.cpp:
4566         (WebCore::QtAbstractWebPopup::popupDidHide):
4567         * platform/qt/QtAbstractWebPopup.h:
4568         * platform/win/PopupMenuWin.cpp:
4569         (WebCore::PopupMenu::hide):
4570         * platform/wx/PopupMenuWx.cpp:
4571         (WebCore::PopupMenu::OnMenuItemSelected):
4572         * rendering/RenderMenuList.cpp:
4573         (WebCore::RenderMenuList::popupDidHide):
4574         * rendering/RenderMenuList.h:
4575         * rendering/RenderTextControlSingleLine.cpp:
4576         (WebCore::RenderTextControlSingleLine::popupDidHide):
4577         * rendering/RenderTextControlSingleLine.h:
4578
4579 2010-01-22  Dan Bernstein  <mitz@apple.com>
4580
4581         Rubber-stamped by Darin Adler.
4582
4583         Revert r53693 because it broke scrolling of pages with fixed elements on
4584         Mac OS X.
4585
4586         * page/FrameView.cpp:
4587         * page/FrameView.h:
4588         * platform/ScrollView.cpp:
4589         (WebCore::ScrollView::scrollContents):
4590         * platform/ScrollView.h:
4591         * rendering/RenderObject.cpp:
4592         (WebCore::RenderObject::styleWillChange):
4593         (WebCore::RenderObject::destroy):
4594
4595 2010-01-22  Alexey Proskuryakov  <ap@apple.com>
4596
4597         Reviewed by Darin Adler.
4598
4599         https://bugs.webkit.org/show_bug.cgi?id=34008
4600         Assertion failure in KURL::setProtocol when running DOM Fuzzer
4601
4602         Test: fast/dom/Window/invalid-protocol.html
4603
4604         * bindings/js/JSLocationCustom.cpp: (WebCore::JSLocation::setProtocol): Raise an exception
4605         if KURL::setProtocol fails.
4606
4607         * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::setProtocol): Move argument
4608         tweaking logic into KURL. This way, the ':' trick applies to both JSLocation and
4609         HTMLAnchorElement, matching IE (but not Firefox). IE behavior is more permissive, and even
4610         more logical in my opinion.
4611
4612         * loader/FrameLoader.cpp: (WebCore::FrameLoader::iconURL): Assert that setting protocol
4613         succeeded.
4614
4615         * platform/KURL.cpp: (WebCore::KURL::setProtocol): Remove everything past ':', if present.
4616         Return false if the protocol to set is not valid.
4617         (WebCore::isValidProtocol): Made this work correctly for empty strings.
4618
4619         * platform/KURL.h: isValidProtocol() is now static in KURL.cpp, it's only used in setProtocol().
4620
4621         * platform/KURLGoogle.cpp: 
4622         (WebCore::KURL::setProtocol): Always return true. This should hopefully prevent Chromium build
4623         breakage, alhough tests will likely fail.
4624         (WebCore::isValidProtocol): Removed, as this isn't used at the moment.
4625
4626         * websockets/WebSocketHandshake.cpp: (WebCore::WebSocketHandshake::httpURLForAuthenticationAndCookies):
4627         Assert that setting protocol succeeded.
4628
4629 2010-01-22  Eric Carlson  <eric.carlson@apple.com>
4630
4631         Reviewed by Adam Roben.
4632
4633         <rdar://problem/7373568>
4634         https://bugs.webkit.org/show_bug.cgi?id=34007
4635         Implement hardware acceleration of video compositing on Windows
4636
4637         Internally we still have QuickTime render to a bitmap, but frames are then composited
4638         with the page using an accelerated renderer.
4639
4640         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
4641         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_newFrameAvailable.
4642         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call tearDownVideoRendering.
4643         (WebCore::MediaPlayerPrivate::cancelLoad): Call tearDownVideoRendering.
4644         (WebCore::MediaPlayerPrivate::updateStates): Call setUpVideoRendering once the movie 
4645             is ready to draw.
4646         (WebCore::MediaPlayerPrivate::isReadyForRendering): New, utility function returns true 
4647             only when movie is ready to render.
4648         (WebCore::MediaPlayerPrivate::setSize): Remember the size as we need it when rendering 
4649             in accelerated mode.
4650         (WebCore::MediaPlayerPrivate::setVisible): Call setUpVideoRendering when made visible.
4651         (WebCore::MediaPlayerPrivate::paint): Do nothing when rendering to a layer. Move frame 
4652             rate drawing code to paintCompleted.
4653         (WebCore::MediaPlayerPrivate::paintCompleted): New, clear m_newFrameAvailable and, when 
4654             built with DRAW_FRAME_RATE, draw framerate.
4655         (WebCore::MediaPlayerPrivate::movieNewImageAvailable): Set m_newFrameAvailable, trigger 
4656             repaint differently when drawing to a layer.
4657         (WebCore::MediaPlayerPrivate::currentRenderingMode): New, return the current rendering mode.
4658         (WebCore::MediaPlayerPrivate::preferredRenderingMode): New, return preferred rendering mode
4659             (render to a layer whenever possible).
4660         (WebCore::MediaPlayerPrivate::setUpVideoRendering): New, tear down current rendering mode 
4661             and set up new mode when necessary.
4662         (WebCore::MediaPlayerPrivate::tearDownVideoRendering): New, noop unless rendering to a layer.
4663         (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering): New.
4664         (WebCore::MediaPlayerPrivate::paintContents): New, callback from compositing layer when it
4665             is time to draw the current frame.
4666         (WebCore::MediaPlayerPrivate::createLayerForMovie): New, allocate a layer for the movie.
4667         (WebCore::MediaPlayerPrivate::destroyLayerForMovie): New, delete movie layer.
4668         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): New, return true unless the 
4669             movie is not ready to render.
4670         (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): New, deal with change in 
4671             accelerated rendering state.
4672         (WebCore::MediaPlayerPrivate::notifySyncRequired): New, callback from compositing layer 
4673             when it wants to schedule a redraw.
4674         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
4675         (WebCore::MediaPlayerPrivate::notifyAnimationStarted):
4676         (WebCore::MediaPlayerPrivate::showDebugBorders):
4677         (WebCore::MediaPlayerPrivate::showRepaintCounter):
4678
4679         * platform/graphics/win/QTMovieWin.cpp:
4680         (QTMovieWin::getCurrentFrameInfo):
4681             New, return information about the offscreen render buffer.
4682         (QTMovieWin::initializeQuickTime):
4683         * platform/graphics/win/QTMovieWin.h:
4684
4685 2010-01-21  Jeremy Orlow  <jorlow@chromium.org>
4686
4687         Reviewed by Darin Fisher.
4688
4689         The Chromium WebKit API needs to expose storage event related data
4690         https://bugs.webkit.org/show_bug.cgi?id=33985
4691
4692         This change is not visible to layoutTests/web pages.
4693
4694         * storage/StorageArea.h:
4695         * storage/StorageAreaImpl.cpp:
4696         (WebCore::StorageAreaImpl::setItem): return the old value
4697         (WebCore::StorageAreaImpl::removeItem): return the old value
4698         (WebCore::StorageAreaImpl::clear): return whether there was anything to clear
4699         * storage/StorageAreaImpl.h:
4700
4701 2010-01-22  Adele Peterson  <adele@apple.com>
4702
4703         Reviewed by Dan Bernstein.
4704
4705         An element that doesn't validate and an invalid element shouldn't share style
4706         https://bugs.webkit.org/show_bug.cgi?id=34010
4707
4708         Test: fast/css/pseudo-invalid-novalidate-001.html
4709
4710         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::canShareStyleWithElement): 
4711           Separate the check for willValidate from the check for isValidFormControlElement.
4712         * html/HTMLFormControlElement.h: The validity method doesn't need to be virtual.
4713
4714 2010-01-22  Steve Falkenburg  <sfalken@apple.com>
4715
4716         Reviewed by Dan Bernstein.
4717
4718         Crash in fast/dom/Window/window-properties if Geolocation enabled
4719         https://bugs.webkit.org/show_bug.cgi?id=34013
4720         
4721         Add null check to fix Geolocation crash in fast/dom/Window/window-properties.
4722         
4723         * page/Geolocation.cpp:
4724         (WebCore::createGeoposition):
4725
4726 2010-01-22  Kent Hansen  <kent.hansen@nokia.com>
4727
4728         Reviewed by Darin Adler.
4729
4730         Object.getOwnPropertyDescriptor(window) returns descriptors for properties in the prototype chain
4731         https://bugs.webkit.org/show_bug.cgi?id=33948
4732
4733         Even though prototype properties are proxied by JSDOMWindow::getOwnPropertySlot(),
4734         that proxying should not be performed by JSDOMWindow::getOwnPropertyDescriptor().
4735
4736         This makes getOwnPropertyDescriptor() consistent with getOwnPropertyNames().
4737
4738         Test: fast/dom/Window/window-property-descriptors.html
4739
4740         * bindings/js/JSDOMWindowCustom.cpp:
4741         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
4742
4743 2010-01-22  Girish Ramakrishnan  <girish@forwardbias.in>
4744
4745         Reviewed by Simon Hausmann.
4746
4747         [Qt] Save the QWebPageClient instead of the ownerWidget in QtAbstractWebPopup
4748         
4749         The QWebPageClient is required for the QtFallbackWebPopup. QtFallbackWebPopup will
4750         need it to create a QGraphicsProxyWidget (in a future commit) for the 
4751         QGraphicsWebView's web popup.
4752
4753         * platform/qt/PopupMenuQt.cpp:
4754         (WebCore::PopupMenu::show):
4755         * platform/qt/QtAbstractWebPopup.cpp:
4756         (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
4757         (WebCore::QtAbstractWebPopup::popupDidHide):
4758         (WebCore::QtAbstractWebPopup::valueChanged):
4759         (WebCore::QtAbstractWebPopup::itemType):
4760         * platform/qt/QtAbstractWebPopup.h:
4761         (WebCore::QtAbstractWebPopup::itemText):
4762         (WebCore::QtAbstractWebPopup::itemToolTip):
4763         (WebCore::QtAbstractWebPopup::itemIsEnabled):
4764         (WebCore::QtAbstractWebPopup::itemCount):
4765         (WebCore::QtAbstractWebPopup::pageClient):
4766         (WebCore::QtAbstractWebPopup::font):
4767
4768 2010-01-22  Simon Hausmann  <simon.hausmann@nokia.com>
4769
4770         Unreviewed Qt "build" fix.
4771
4772         * WebCore.pro: Fix warning about missing header file that isn't present anymore.
4773
4774 2010-01-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
4775
4776         Reviewed by Gustavo Noronha Silva.
4777
4778         Update copy of the source whenever playbin2's source property
4779         changes.
4780
4781         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
4782         (WebCore::mediaPlayerPrivateSourceChangedCallback):
4783         (WebCore::MediaPlayerPrivate::updateStates):
4784         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
4785         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
4786         Connect to the notify::source signal and update the source
4787         element pointer from there. This makes sure that we never
4788         store a pointer to an old source element.
4789
4790 2010-01-22  Brian Weinstein  <bweinstein@apple.com>
4791
4792         Reviewed by Timothy Hatcher.
4793
4794         Web Inspector: Caught exceptions still pause the debugger.
4795         <https://bugs.webkit.org/show_bug.cgi?id=28622>.
4796
4797         Turn the pauseOnExceptions variable from a bool to an int, because we now have
4798         3 states, in an enum: DontPauseOnExceptions, PauseOnAllExceptions, and
4799         PauseOnUncaughtExceptions. The status button for pausing on exceptions is now
4800         a tri-state button, which cycles from Don't pause (no background) to Pause on All
4801         (blue background) to Pause on Uncaught (purple background).
4802
4803         Also added the ability for a status button to have more than 2 states, and added
4804         style rules for a CSS three state button.
4805
4806         Added a manual test, manual-tests/debugger-caught-uncaught-exceptions.html, that
4807         generates caught and uncaught exceptions.
4808
4809         * English.lproj/localizedStrings.js: Added updated Action / Click to Action text.
4810         * inspector/InspectorBackend.cpp:
4811         (WebCore::InspectorBackend::pauseOnExceptions): Changed from a bool to an int.
4812         (WebCore::InspectorBackend::setPauseOnExceptions): Ditto.
4813         * inspector/InspectorBackend.h: Ditto.
4814         * inspector/InspectorBackend.idl: Ditto.
4815         * inspector/JavaScriptDebugServer.cpp:
4816         (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): Changed from bool to PauseOnExceptionsState.
4817         (WebCore::JavaScriptDebugServer::setPauseOnExceptions): Ditto.
4818         (WebCore::JavaScriptDebugServer::exception): Updated logic to see if we are breaking
4819             on uncaught exceptions, and check if we have a handler.
4820         * inspector/JavaScriptDebugServer.h:
4821         (WebCore::JavaScriptDebugServer::): Changed from bool to PauseOnExceptionsState.
4822         (WebCore::JavaScriptDebugServer::pauseOnExceptions): Ditto.
4823         * inspector/front-end/InspectorBackendStub.js:
4824         (.WebInspector.InspectorBackendStub.prototype.pauseOnExceptionsState): Changed from returning false to returning 0 (stub function).
4825         * inspector/front-end/ScriptsPanel.js:
4826         (WebInspector.ScriptsPanel):
4827         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton): Updated to new text/new cycling of variables.
4828         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions): Updated to new text/new cycling of variables.
4829         * inspector/front-end/StatusBarButton.js:
4830         (WebInspector.StatusBarButton): Added the option for a different number of states.
4831         (WebInspector.StatusBarButton.prototype.set toggled): Added rules to toggle on/off with multiple states.
4832         * inspector/front-end/inspector.css: Added rules for toggled-1 and toggled-2.
4833         * manual-tests/debugger-caught-uncaught-exceptions.html: Added.
4834
4835 2010-01-22  Ben Murdoch  <benm@google.com>
4836
4837         Reviewed by Eric Seidel.
4838
4839         [Android] Android platform specific PlatformTouchEvent and PlatformTouchPoint implementations are not upstream.
4840         https://bugs.webkit.org/show_bug.cgi?id=33719
4841
4842         Add the Android specific files and update the Android makefile.
4843
4844         No new tests as this is all Android-specific code.
4845
4846         * Android.mk: Add Touch event related files to the makefile.
4847         * platform/PlatformTouchEvent.h: Add Android constructor.
4848         * platform/PlatformTouchPoint.h: Ditto.
4849         * platform/android/PlatformTouchEventAndroid.cpp: Added.
4850         (WebCore::PlatformTouchEvent::PlatformTouchEvent): Android implementation.
4851         * platform/android/PlatformTouchPointAndroid.cpp: Added.
4852         (WebCore::PlatformTouchPoint::PlatformTouchPoint): Android implementation.
4853
4854 2010-01-22  Benjamin Poulain  <benjamin.poulain@nokia.com>
4855
4856         Reviewed by Kenneth Rohde Christiansen.
4857
4858         Do not render the full frame when there is some elements with fixed positioning
4859         https://bugs.webkit.org/show_bug.cgi?id=33150
4860
4861         The RenderObjects with fixed position register to the view
4862         to be taken into account while scrolling.
4863         The scrolling code update specifically those elements after blitting the pixels.
4864
4865         * page/FrameView.cpp:
4866         (WebCore::FrameView::registerFixedPositionedObject):
4867         (WebCore::FrameView::unregisterFixedPositionedObject):
4868         (WebCore::FrameView::scrollContentsFastPath):
4869         * page/FrameView.h:
4870         * platform/ScrollView.cpp:
4871         (WebCore::ScrollView::scrollContents):
4872         (WebCore::ScrollView::scrollContentsFastPath):
4873         * platform/ScrollView.h:
4874         * rendering/RenderObject.cpp:
4875         (WebCore::RenderObject::styleWillChange):
4876         (WebCore::RenderObject::destroy):
4877
4878 2010-01-22  Anton Muhin  <antonm@chromium.org>
4879
4880         Reviewed by Eric Seidel.
4881
4882         Adding ScriptWrappable into WebCore.
4883         This allows to associate custom information when Node
4884         gets wrapped into JavaScript wrapper.
4885
4886         [v8, dom] Add a pointer field to C++ Node class
4887         https://bugs.webkit.org/show_bug.cgi?id=32430
4888
4889         * WebCore.gypi:
4890         * WebCore.pro:
4891         * WebCore.vcproj/WebCore.vcproj:
4892         * WebCore.xcodeproj/project.pbxproj:
4893         * bindings/js/ScriptWrappable.h: Added.
4894         (WebCore::ScriptWrappable::ScriptWrappable):
4895         * bindings/v8/ScriptWrappable.h: Added.
4896         (WebCore::ScriptWrappable::ScriptWrappable):
4897         (WebCore::ScriptWrappable::wrapper):
4898         (WebCore::ScriptWrappable::setWrapper):
4899         (WebCore::ScriptWrappable::clearWrapper):
4900         * dom/Node.h:
4901
4902 2010-01-22  Yury Semikhatsky  <yurys@chromium.org>
4903
4904         Reviewed by Pavel Feldman.
4905
4906         Add stub implementation of dispatchOnInjectedScript method so that
4907         Chromium source can compile against it and the main fix for the bug
4908         28622 can be landed without breaking Chromium build.
4909
4910         https://bugs.webkit.org/show_bug.cgi?id=28622
4911
4912         * inspector/InspectorBackend.h:
4913         (WebCore::InspectorBackend::dispatchOnInjectedScript):
4914
4915 2010-01-22  Kwang Yul Seo  <skyul@company100.net>
4916
4917         Reviewed by Dmitry Titov.
4918
4919         ENABLE(DATABASE) guard is missing in ScriptExecutionContext::~ScriptExecutionContext
4920         https://bugs.webkit.org/show_bug.cgi?id=33990
4921
4922         Add missing ENABLE(DATABASE) guard.
4923
4924         * dom/ScriptExecutionContext.cpp:
4925         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
4926
4927 2010-01-22  Xan Lopez  <xlopez@igalia.com>
4928
4929         Reviewed by Gustavo Noronha.
4930
4931         [GTK] GObject DOM bindings
4932         https://bugs.webkit.org/show_bug.cgi?id=33590
4933
4934         * bindings/scripts/generate-bindings.pl:
4935
4936 2010-01-22  Xan Lopez  <xlopez@igalia.com>
4937
4938         Reviewed by Gustavo Noronha.
4939
4940         [GTK] GObject DOM bindings
4941         https://bugs.webkit.org/show_bug.cgi?id=33590
4942
4943         Rename FEATURE_DEFINES_JAVASCRIPT to FEATURE_DEFINES and remove
4944         the hardcoded LANGUAGE_JAVASCRIPT=1, in preparation for its use by
4945         the GObject DOM bindings.
4946
4947         * GNUmakefile.am:
4948
4949 2010-01-22  Dan Bernstein  <mitz@apple.com>
4950
4951         Reviewed by Darin Adler.
4952
4953         <rdar://problem/7568696> Zoom applied to embedded SVG incorrectly
4954         https://bugs.webkit.org/show_bug.cgi?id=33988
4955
4956         Test: svg/custom/text-zoom.xhtml
4957
4958         * svg/SVGSVGElement.cpp:
4959         (WebCore::SVGSVGElement::SVGSVGElement): Initialize m_scale.
4960         (WebCore::SVGSVGElement::currentScale): If this is the document element,
4961         return the frame’s zoom factor. Otherwise, return m_scale.
4962         (WebCore::SVGSVGElement::setCurrentScale): If this is the document element,
4963         set the frame’s zoom factor. Otherwise, set m_scale and mark for layout.
4964         * svg/SVGSVGElement.h: Added m_scale member.
4965
4966 2010-01-21  Adam Barth  <abarth@webkit.org>
4967
4968         Reviewed by Eric Seidel.
4969
4970         [chromium] Add allowPlugins callback to allow per-site enabling of plugins
4971         https://bugs.webkit.org/show_bug.cgi?id=33974
4972
4973         Add a callback into the FrameLoaderClient to let the embedder enable or
4974         disable plugins on a per-site basis.
4975
4976         * loader/FrameLoader.cpp:
4977         (WebCore::FrameLoader::requestObject):
4978         * loader/FrameLoaderClient.h:
4979         (WebCore::FrameLoaderClient::allowPlugins):
4980
4981 2010-01-21  Tony Chang  <tony@chromium.org>
4982
4983         Reviewed by Darin Adler.
4984
4985         https://bugs.webkit.org/show_bug.cgi?id=25501
4986         Remove empty font tags when applying a style to a content editable
4987         region.
4988
4989         Test: editing/execCommand/change-font.html
4990
4991         * editing/ApplyStyleCommand.cpp:
4992         (WebCore::isEmptyFontTag):
4993
4994 2010-01-21  Joe Mason  <jmason@rim.com>
4995
4996         Reviewed by Darin Adler.
4997
4998         Promote pow argument to double to resolve ambiguous overload (compile fix for RVCT 4.0)
4999         https://bugs.webkit.org/show_bug.cgi?id=33952
5000
5001         * platform/graphics/filters/FEComponentTransfer.cpp:
5002         (WebCore::gamma):
5003
5004 2010-01-21  Andrei Popescu  <andreip@google.com>
5005
5006         Reviewed by David Levin.
5007
5008         [Android] bindings/v8/ScriptController.cpp needs to include
5009         PlatformBridge.h instead of ChromiumBridge.h so that it can
5010         be used on both Chromium and Android.
5011         https://bugs.webkit.org/show_bug.cgi?id=33673
5012
5013         Add "static NPObject* pluginScriptableObject(Widget*);" method
5014         to PlatformBridge.h
5015         Include PlatformBridge.h from ScriptController.cpp.
5016
5017         No new tests, just platform code.
5018
5019         * bindings/v8/ScriptController.cpp:
5020         (WebCore::ScriptController::createScriptInstanceForWidget):
5021         * platform/android/PlatformBridge.h:
5022
5023 2010-01-21  Brady Eidson  <beidson@apple.com>
5024
5025         Reviewed by Maciej Stachowiak.
5026
5027         history.back() for same-document history traversals isn't synchronous as the specification states.
5028         <rdar://problem/7535011> and https://bugs.webkit.org/show_bug.cgi?id=33538
5029
5030         In resolving https://bugs.webkit.org/show_bug.cgi?id=25570, all history.back()/forward()/go() navigations
5031         were made asynchronous. That doesn't agree with the HTML5 spec and might have been overreaching for fixing
5032         that particular bug. In working with the new history state APIs I noticed some things that should've been
5033         possible were not possible because of this change.
5034
5035         The change in loading behavior is well covered via modifications to previous tests.
5036
5037         * loader/RedirectScheduler.cpp:
5038         (WebCore::RedirectScheduler::scheduleHistoryNavigation): Determine beforehand if the traversal is
5039           a same-document navigation. If it is, perform the load directly instead of scheduling it.
5040
5041 2010-01-21  Jakub Wieczorek  <faw217@gmail.com>
5042
5043         Reviewed by Tor Arne Vestbø.
5044
5045         [Qt] Don't allow Phonon's invisible video widget to keep the app running.
5046         https://bugs.webkit.org/show_bug.cgi?id=33842
5047
5048         The change made in r38223 should not be limited to Qt < 4.5 only.
5049
5050         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
5051         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
5052
5053 2010-01-21  Kent Tamura  <tkent@chromium.org>
5054
5055         Reviewed by Darin Adler.
5056
5057         HTMLInputElement::valueAsDate setter support for type=datetime.
5058         https://bugs.webkit.org/show_bug.cgi?id=33939
5059
5060         Introduce ISODateTime::setMillisecondsSinceEpochForDateTime() and add
5061         DateTime type support to ISODateTime::toString().
5062
5063         * html/HTMLInputElement.cpp:
5064         (WebCore::HTMLInputElement::setValueAsDate):
5065         * html/ISODateTime.cpp:
5066         (WebCore::ISODateTime::setMillisecondsSinceEpochForDate):
5067          Set Invalid to m_type.
5068         (WebCore::ISODateTime::setMillisecondsSinceEpochForDateTime):
5069         (WebCore::ISODateTime::setMillisecondsSinceEpochForMonth):
5070          Set Invalid to m_type.
5071         (WebCore::ISODateTime::setMillisecondsSinceMidnight):
5072          Set Invalid to m_type.
5073         (WebCore::ISODateTime::toString):
5074          Support DateTime type. This always produces UTC representation.
5075         * html/ISODateTime.h:
5076
5077 2010-01-21  Geoffrey Garen  <ggaren@apple.com>
5078
5079         Reviewed by Sam Weinig.
5080
5081         Fixed <rdar://problem/7562574> ASSERT in WebCore::removeWrapper() at the
5082         end of run-webkit-tests
5083         
5084         This was an ASSERT-only bug, introduced by isolated worlds, which
5085         created the novelty of a wrapper that might outlive its wrapper cache.
5086         
5087         When a wrapper outlived its wrapper cache, both the wrapper's destructor
5088         and the wrapper cache's destructor would claim to have uncached the wrapper,
5089         causing an ASSERT to fire.
5090         
5091         The solution is to distinguish between operations that logically add and
5092         remove cache entries, and operations that delete whole caches. We track
5093         when a cache entry is logically added, and when it's logically removed,
5094         independent of whether the actual cache still exists.
5095
5096         * bindings/js/JSDOMBinding.cpp:
5097         (WebCore::willCacheWrapper):
5098         (WebCore::didUncacheWrapper): New names for these functions to help
5099         explain what they track.
5100
5101         (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Don't claim to uncache
5102         all the wrappers in the world; we're deleting the cache, not managing its
5103         entries.
5104
5105         (WebCore::cacheDOMObjectWrapper):
5106         (WebCore::forgetDOMObject):
5107         (WebCore::forgetDOMNode):
5108         (WebCore::cacheDOMNodeWrapper):
5109         (WebCore::forgetAllDOMNodesForDocument):
5110         (WebCore::forgetWorldOfDOMNodesForDocument):
5111         (WebCore::takeWrappers):
5112         (WebCore::updateDOMNodeDocument): Updated for renames.
5113
5114 2010-01-21  Nikolas Zimmermann  <nzimmermann@rim.com>
5115
5116         Reviewed by Sam Weinig.
5117
5118         SVG JS bindings "context" pointer needs to move onto binding impls
5119         https://bugs.webkit.org/show_bug.cgi?id=27243
5120
5121         Rewrite SVG DOM JSC bindings to use a global DOMObject <-> SVGElement context map, similar to V8's approach.
5122         This allows us to remove DOMObjectWithSVGContext and make all SVG JS objects use DOMObjectWithGlobalPointer.
5123         We're fitting again in JS_CELL_SIZE, and there's no need to special case SVG anymore.
5124
5125         Not adding a new test, as we have yet to identify how to test that we're passing around correct global objects.
5126         For now this is just a code cleanup which lets me continue making progress in that area of the code.
5127
5128         * GNUmakefile.am: Add new DOMObjectWithSVGContext.h to build.
5129         * WebCore.gypi: Ditto.
5130         * WebCore.vcproj/WebCore.vcproj: Ditto.
5131         * WebCore.xcodeproj/project.pbxproj: Ditto.
5132         * bindings/js/DOMObjectWithSVGContext.h: Removed.
5133         * bindings/js/JSDOMBinding.cpp:
5134         (WebCore::setDOMException): Add comment, that passing 0 context is intentional.
5135         * bindings/js/JSDOMBinding.h:
5136         (WebCore::createDOMObjectWrapper): Add to JSSVGContextCache, when creating wrappers.
5137         (WebCore::getDOMObjectWrapper): Add assertion guarding the JSSVGContextCache is in-sync with the passed context.
5138         * bindings/js/JSSVGContextCache.h: Added. Maps DOMObjects to SVGElements - just like V8 approachs to this problem.
5139         (WebCore::JSSVGContextCache::wrapperMap):
5140         (WebCore::JSSVGContextCache::addWrapper):
5141         (WebCore::JSSVGContextCache::forgetWrapper):
5142         (WebCore::JSSVGContextCache::propagateSVGDOMChange): 
5143         (WebCore::JSSVGContextCache::svgContextForDOMObject):
5144         * bindings/js/JSSVGLengthCustom.cpp: Retrieve context from cache, instead of taking it from the JS* class.
5145         (WebCore::JSSVGLength::value):
5146         (WebCore::JSSVGLength::convertToSpecifiedUnits):
5147         * bindings/js/JSSVGMatrixCustom.cpp Ditto.:
5148         (WebCore::JSSVGMatrix::multiply):
5149         (WebCore::JSSVGMatrix::inverse):
5150         (WebCore::JSSVGMatrix::rotateFromVector):
5151         * bindings/js/JSSVGPODListCustom.h: Ditto.
5152         (WebCore::JSSVGPODListCustom::finishGetter):
5153         (WebCore::JSSVGPODListCustom::finishSetter):
5154         (WebCore::JSSVGPODListCustom::finishSetterReadOnlyResult):
5155         (WebCore::JSSVGPODListCustom::clear):
5156         (WebCore::JSSVGPODListCustom::initialize):
5157         * bindings/js/JSSVGPODTypeWrapper.h: Ditto.
5158         (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
5159         (WebCore::JSSVGStaticPODTypeWrapper::commitChange):
5160         (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
5161         (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
5162         (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
5163         (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange):
5164         * bindings/js/JSSVGPathSegCustom.cpp: Ditto.
5165         (WebCore::toJS):
5166         * bindings/js/JSSVGPathSegListCustom.cpp: Ditto.
5167         (WebCore::JSSVGPathSegList::clear):
5168         (WebCore::JSSVGPathSegList::initialize):
5169         (WebCore::JSSVGPathSegList::getItem):
5170         (WebCore::JSSVGPathSegList::insertItemBefore):
5171         (WebCore::JSSVGPathSegList::replaceItem):
5172         (WebCore::JSSVGPathSegList::removeItem):
5173         (WebCore::JSSVGPathSegList::appendItem):
5174         * bindings/scripts/CodeGeneratorJS.pm:
5175         * svg/SVGAngle.h: Remove unneeded associatedAttributeName() method.
5176         * svg/SVGPreserveAspectRatio.h: Ditto.
5177         * svg/SVGTransform.h: Ditto.
5178
5179 2010-01-21  Kevin Ollivier  <kevino@theolliviers.com>
5180
5181         Build fix, add missing header.
5182
5183         * dom/ScriptExecutionContext.cpp:
5184
5185 2010-01-21  Simon Fraser  <simon.fraser@apple.com>
5186
5187         Reviewed by Dan Bernstein.
5188
5189         -webkit-mask-box-image draws a box while loading
5190         https://bugs.webkit.org/show_bug.cgi?id=33979
5191         <rdar://problem/7378662>
5192         
5193         Don't render masked elements until the mask images are fully loaded.
5194
5195         Test: http/tests/misc/slow-loading-mask.html
5196
5197         * rendering/RenderBox.cpp:
5198         (WebCore::RenderBox::paintMaskImages): Check that all mask images (both the single mask-box-image,
5199         and the possibly multiple mask-image) are fully loaded before allowing the masked content to render.
5200         If they are not fully loaded, use a fully transparent transparency layer.
5201         
5202         * rendering/style/FillLayer.h:
5203         * rendering/style/FillLayer.cpp:
5204         (WebCore::FillLayer::imagesAreLoaded): New utility function that returns true if the image
5205         in every FillLayer is loaded.
5206
5207 2010-01-21  Darin Adler  <darin@apple.com>
5208
5209         Reviewed by Mark Rowe.
5210
5211         REGRESSION (r52795): New message created in response to mailto: URL has random character in message body
5212         rdar://problem/7565902
5213
5214         This regression affects the Mac OS X Mail application.
5215         I was not able to find a simple way to create a regression test.
5216
5217         * platform/cf/SharedBufferCF.cpp:
5218         (WebCore::SharedBuffer::SharedBuffer): Initialize m_size to 0 as in the other constructors.
5219
5220 2010-01-21  Enrica Casucci  <enrica@apple.com>
5221
5222         Reviewed by Darin Adler.
5223
5224         Script tags are copied and pasted, making cross-domain attacks possible.
5225         https://bugs.webkit.org/show_bug.cgi?id=33970
5226
5227         Tests: editing/pasteboard/paste-noscript-svg.html
5228                editing/pasteboard/paste-visible-script.html
5229
5230         We remove the content and the attributes of every script tag before
5231         pasting into the destination.
5232         
5233         * dom/Element.cpp:
5234         (WebCore::Element::setAttributeMap): Now we are removing xlink:href
5235         if it contains javascript protocol.
5236         * html/HTMLParser.cpp:
5237         (WebCore::HTMLParser::parseToken): We strip all the script tag attributes
5238         we are parsing to create a fragment to paste.
5239         * html/HTMLTokenizer.cpp:
5240         (WebCore::HTMLTokenizer::HTMLTokenizer):
5241         (WebCore::HTMLTokenizer::scriptHandler): Removes the script text after it was parsed.
5242         * html/HTMLTokenizer.h:
5243
5244 2010-01-21  Nikolas Zimmermann  <nzimmermann@rim.com>
5245
5246         Reviewed by Dirk Schulze.
5247
5248         <use> with % lengths does not update on window resize
5249         https://bugs.webkit.org/show_bug.cgi?id=14639
5250
5251         appendChild broken for symbol-use
5252         https://bugs.webkit.org/show_bug.cgi?id=24802
5253
5254         Test: svg/custom/relative-sized-shadow-tree-content-with-symbol.xhtml
5255               svg/custom/svg/custom/relative-sized-use-on-symbol.xhtml
5256
5257         Fix reaction on window size changes for relative sized elements within <symbol> elements.
5258         Don't evaluate SVGUseElement width/height attributes in order to propagate them to the shadow tree,
5259         instead just propagate the attribute values itself so "100%" remains "100%" instead of being evaluated
5260         to an absolute pixel value in the parent <svg> user-space.
5261
5262         Needs another fix in SVGStyledElement::childrenChanged(), which is a regression from my last <use>
5263         patch, that hasn't been detected, as the use-dynamic-append.svg testcase was broken.
5264
5265         The combination of all the last <use> patches finally fixes the peepo.co.uk website, which was broken by several bugs for years.
5266
5267         * svg/SVGStyledElement.cpp:
5268         (WebCore::SVGStyledElement::childrenChanged): Need to mark shadow trees needing recalcs, even when parsing.
5269         * svg/SVGUseElement.cpp:
5270         (WebCore::SVGUseElement::svgAttributeChanged): Don't reclone for width/height attribute changes, just propagate them down the render tree
5271         (WebCore::updateContainerSize): Added helper function, updating the width/height attributes in the shadow tree.
5272         (WebCore::SVGUseElement::updateContainerSizes):
5273         (WebCore::SVGUseElement::buildShadowAndInstanceTree): Update container width/height after shadow tree creation, instead of doing it inbetween.
5274         (WebCore::SVGUseElement::buildShadowTree): Don't alter width/height attributes here anymore.
5275         (WebCore::SVGUseElement::expandUseElementsInShadowTree): Ditto.
5276         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Ditto.
5277         * svg/SVGUseElement.h:
5278
5279 2010-01-21  Alexey Proskuryakov  <ap@apple.com>
5280
5281         Reviewed by Darin Adler.
5282
5283         https://bugs.webkit.org/show_bug.cgi?id=33972
5284         Assertion failure in FrameLoader::checkLoadComplete()
5285
5286         I couldn't make a test for this, after trying rather hard. I'm not too worried, because such
5287         a test has to depend on details of current implementation so intimately that it would become
5288         ineffective very quickly anyway.
5289
5290         * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopAllLoaders): Stop the check timer, we
5291         don't need it after aborting load.
5292
5293 2010-01-21  Csaba Osztrogonác  <ossy@webkit.org>
5294
5295         Reviewed by Dave Hyatt.
5296
5297         Buildfix for r53646.
5298
5299         * bindings/js/SerializedScriptValue.cpp: path of JSLock.h fixed.
5300
5301 2010-01-21  Csaba Osztrogonác  <ossy@webkit.org>
5302
5303         Unreviewed buildfix after r53644.
5304
5305         * platform/Scrollbar.cpp:
5306         (WebCore::Scrollbar::scroll): missing HAVE(ACCESSIBILITY) guard added.
5307
5308 2010-01-21  Darin Fisher  <darin@chromium.org>
5309
5310         Reviewed by David Levin.
5311
5312         Unnecessary call to HistoryItem::targetItem in HistoryController::pushState
5313         https://bugs.webkit.org/show_bug.cgi?id=33969
5314
5315         * loader/HistoryController.cpp:
5316         (WebCore::HistoryController::pushState): Remove unnecessary code.
5317
5318 2010-01-21  Dmitry Titov  <dimich@chromium.org>
5319
5320         Not reviewed, Chromium build fix. Add AccessibilityScrollbar.h and .cpp to WebCore.gypi
5321
5322         * WebCore.gypi:
5323
5324 2010-01-21  Albert J. Wong  <ajwong@chromium.org>
5325
5326         [chromium] Unreviewed build fix.
5327
5328         Fix possible use of initialized variable warning in release mode.
5329
5330         * bindings/v8/SerializedScriptValue.cpp:
5331         (WebCore::ZigZag::Deserializer::doDeserialize):
5332
5333 2010-01-21  Csaba Osztrogonác  <ossy@webkit.org>
5334
5335         [Qt] Unreviewed buildfix after r53644.
5336
5337         * WebCore.pro: accessibility/AccessibilityScrollbar.cpp and accessibility/AccessibilityScrollbar.h added.
5338
5339 2010-01-21  Dave Hyatt  <hyatt@apple.com>
5340
5341         Reviewed by Oliver Hunt.
5342
5343         Make sure to do a JSLock before deserialization of script values, since they can heap allocate.
5344
5345         * bindings/js/SerializedScriptValue.cpp:
5346         (WebCore::SerializedScriptValueData::deserialize):
5347
5348 2010-01-21  Beth Dakin  <bdakin@apple.com>
5349
5350         Reviewed by Oliver Hunt.
5351
5352         Fix for https://bugs.webkit.org/show_bug.cgi?id=33923 REGRESSION 
5353         (Safari 4): AXValueChanged no longer sent for text area scrollbars
5354         -and corresponding-
5355         <rdar://problem/6942686>
5356
5357         New class AccessibilityScrollbar inherits directly from 
5358         AccessibilityObject.
5359         * accessibility/AccessibilityScrollbar.cpp: Added.
5360         (WebCore::AccessibilityScrollbar::AccessibilityScrollbar):
5361         (WebCore::AccessibilityScrollbar::create):
5362         (WebCore::AccessibilityScrollbar::valueForRange):
5363         * accessibility/AccessibilityScrollbar.h: Added.
5364         (WebCore::AccessibilityScrollbar::setScrollbar):
5365         (WebCore::AccessibilityScrollbar::roleValue):
5366         (WebCore::AccessibilityScrollbar::accessibilityIsIgnored):
5367         (WebCore::AccessibilityScrollbar::size):
5368         (WebCore::AccessibilityScrollbar::elementRect):
5369         (WebCore::AccessibilityScrollbar::parentObject):
5370
5371         AXObjectCache::getOrCreate() now has a case for ScrollBarRole, 
5372         which will create a new AccessibilityScrollbar. I also added a new 
5373         version of postNotification() that does not require a renderer. The 
5374         old postNotification() calls the new one.
5375         * accessibility/AXObjectCache.cpp:
5376         (WebCore::AXObjectCache::getOrCreate):
5377         (WebCore::AXObjectCache::postNotification):
5378         * accessibility/AXObjectCache.h:
5379
5380         When AX is enabled, getOrCreate an AccessibilityScrollbar and send 
5381         a notification.
5382         * platform/Scrollbar.cpp:
5383         (WebCore::Scrollbar::scroll):
5384
5385         Fix project files.
5386         * GNUmakefile.am:
5387         * WebCore.vcproj/WebCore.vcproj:
5388         * WebCore.xcodeproj/project.pbxproj:
5389         * WebCoreSources.bkl:
5390
5391 2010-01-21  Eric Uhrhane  <ericu@chromium.org>
5392
5393         Reviewed by Dmitry Titov.
5394
5395         Add changes missing from r53595, without which Chromium has no database.
5396
5397         https://bugs.webkit.org/show_bug.cgi?id=33966
5398
5399         No new tests - fixes database layout tests in Chromium.
5400
5401         * bindings/v8/RuntimeEnabledFeatures.cpp:
5402         * bindings/v8/RuntimeEnabledFeatures.h:
5403
5404 2010-01-21  Jakob Petsovits  <jpetsovits@rim.com>
5405
5406         Reviewed by Adam Treat.
5407
5408         Don't call vgGetError()/eglGetError() repeatedly
5409         https://bugs.webkit.org/show_bug.cgi?id=33959
5410
5411         For vgGetError(), I missed the part of the spec where
5412         it says that calling that function clears the error
5413         and subsequent calls will return VG_NO_ERROR again.
5414
5415         For eglGetError(), the specification doesn't mention
5416         that kind of behavior, and interpretations seem to
5417         differ between EGL implementations (even within
5418         Khronos: the OpenVG reference implementation doesn't
5419         reset the error code - and even mentions the difference
5420         to vgGetError() in a comment - whereas the online
5421         OpenGL ES API document explicitly specifies clearing
5422         the error code).
5423
5424         It thus makes sense not to call either of the two
5425         error functions more than once for checking a single
5426         EGL/OpenVG call. This patch adapts assertions to
5427         accommodate for this behavior, and also needs to
5428         change surface creation methods as they previously
5429         relied on multiple calls of eglGetError().
5430
5431         * platform/graphics/openvg/EGLDisplayOpenVG.cpp:
5432         (WebCore::EGLDisplayOpenVG::sharedPlatformSurface):
5433         (WebCore::EGLDisplayOpenVG::createPbufferSurface):
5434         * platform/graphics/openvg/EGLDisplayOpenVG.h:
5435         * platform/graphics/openvg/EGLUtils.h:
5436         * platform/graphics/openvg/SurfaceOpenVG.cpp:
5437         (WebCore::SurfaceOpenVG::SurfaceOpenVG):
5438         * platform/graphics/openvg/SurfaceOpenVG.h:
5439         * platform/graphics/openvg/VGUtils.h:
5440
5441 2010-01-20  Simon Fraser  <simon.fraser@apple.com>
5442
5443         Reviewed by Dave Hyatt.
5444
5445         Hit testing on composited plugins is broken
5446         https://bugs.webkit.org/show_bug.cgi?id=33927
5447         <rdar://problem/7559069>
5448
5449         RenderWidget::paint()'s strategy of moving widgets at paint time, using tx and ty, was flawed
5450         because tx,ty are not always root-relative, especially when painting into compositing layers.
5451         This would move widgets to the wrong location, which caused hit testing issues.
5452         
5453         Widgets are usually positioned by layout. The one time this was not true was scrolling fixed-position
5454         elements, so we now reposition widgets after scrolling too.
5455         
5456         There was a related problem, which was that widgets expect the graphics context to be set up for
5457         root-relative painting. To fix this, adjust the CTM and the paintRect when the widget's frameRect
5458         is in a different coordinate system to the painting offset.
5459         
5460         Test: plugins/mouse-events-fixedpos.html
5461
5462         * page/FrameView.cpp:
5463         (WebCore::FrameView::scrollPositionChanged): Update widget positions, to handle widgets in fixed position
5464         elements, but only if we're not already inside of layout.
5465
5466         * platform/graphics/GraphicsContext.h:
5467         (WebCore::GraphicsContext::translate): Add a translate() convenience method that takes a FloatSize.
5468
5469         * platform/graphics/IntSize.h:
5470         (WebCore::IntSize::isZero): Add a convenience method for testing for a zero size.
5471
5472         * platform/mac/WidgetMac.mm:
5473         (WebCore::Widget::paint): Adjust a comment.
5474
5475         * rendering/RenderWidget.cpp:
5476         (WebCore::RenderWidget::paint): Detect when the widget's frame is in a different coordinate system
5477         to painting, and adjust the CTM and paintRect in that case.
5478
5479 2010-01-21  Andrei Popescu  <andreip@google.com>
5480
5481         Reviewed by David Levin.
5482
5483         [Android] bindings/v8/NPV8Object.cpp does not compile on Android
5484         https://bugs.webkit.org/show_bug.cgi?id=33608
5485
5486         Use the standard WebKit header in bridge/npruntime.h.
5487         Include PlatformBridge.h instead of ChroimiumBridge.h.
5488         Add popupsAllowed() method to PlatformBridge.h on Android.
5489         Add ARRAYSIZE_UNSAFE to PlatformBridge.h on Android.
5490
5491         No new tests, fixing the build.
5492
5493         * bindings/v8/NPV8Object.cpp:
5494         (_NPN_Evaluate):
5495         * bindings/v8/NPV8Object.h:
5496         * platform/android/PlatformBridge.h:
5497
5498 2010-01-21  Andrei Popescu  <andreip@google.com>
5499
5500         Reviewed by David Levin.
5501
5502         Add PlatformBridge.h header and a typedef to give ChromiumBridge a new name: PlatformBridge.
5503         https://bugs.webkit.org/show_bug.cgi?id=33917
5504
5505         No new tests needed, this is just to allow other methods to call ChromiumBridge
5506         using the new 'PlatformBridge' name.
5507
5508         * platform/chromium/PlatformBridge.h: Added.
5509
5510 2010-01-21  Csaba Osztrogonác  <ossy@webkit.org>
5511
5512         [Qt] Unreviewed buildfix after r53625.
5513
5514         Cleanup MediaPlayer and MediaPlayerPrivateInterface to remove dead methods
5515         https://bugs.webkit.org/show_bug.cgi?id=30106
5516
5517         * platform/qt/RenderThemeQt.cpp:
5518         (WebCore::RenderThemeQt::paintMediaSliderTrack):
5519
5520 2010-01-21  Andrei Popescu  <andreip@google.com>
5521
5522         Reviewed by David Levin.
5523
5524         [Android] bindings/v8/V8DOMWrapper.h[cpp] are missing guards for XPATH and XSLT features
5525         https://bugs.webkit.org/show_bug.cgi?id=33944
5526
5527         Inside V8DOMWrapper.h[cpp], the code for XPATH and XSLT features is not guarded
5528         by the appropriate #if ENABLE(feature) macros. Add the missing guards.
5529         V8DOMWrapper.cpp includes ChromiumBridge.h for no reason. Remove the include.
5530
5531         No new tests needed, functionality not changed.
5532
5533         * bindings/v8/V8DOMWrapper.cpp:
5534         (WebCore::V8DOMWrapper::getTemplate):
5535         * bindings/v8/V8DOMWrapper.h:
5536
5537 2010-01-21  Eric Carlson  <eric.carlson@apple.com>
5538
5539         Reviewed by Darin Adler.
5540
5541         Intermittent crash when media element is adopted by another document
5542         https://bugs.webkit.org/show_bug.cgi?id=33919
5543         rdar://problem/7557527
5544         
5545         Test: media/adopt-node-crash.html
5546
5547         * html/HTMLMediaElement.cpp:
5548         (WebCore::HTMLMediaElement::willMoveToNewOwnerDocument): Unregister for
5549         document callbacks.
5550         (WebCore::HTMLMediaElement::didMoveToNewOwnerDocument): Register for
5551         document callbacks.
5552         * html/HTMLMediaElement.h:
5553
5554 2010-01-21  Adam Roben  <aroben@apple.com>
5555
5556         More Windows build fixing
5557
5558         * WebCore.vcproj/WebCore.vcproj: Copy bridge/jsc in the post-build
5559         event of all configurations, not just Debug.
5560
5561 2010-01-21  Thiago Macieira  <thiago.macieira@nokia.com>
5562
5563         Reviewed by Simon Hausmann.
5564
5565         [Qt] Fix incorrect dependency to QtXmlPatterns in generated include/QtWebKit/QtWebKit header
5566
5567         The generated file includes QtXmlPatterns/QtXmlPatterns, which is neither used/required by
5568         the public QtWebKit API nor will it be available if Qt is configured with -no-xmlpatterns.
5569
5570         * WebCore.pro: Trick syncqt to believe that xmlpatterns is not a dependency, so that it's not
5571         included in the generated file. It'll still be used and linked to with this trick.
5572
5573 2010-01-21  Steve Block  <steveblock@google.com>
5574
5575         Unreviewed build fix.
5576
5577         Copy BridgeJSC.h to generated headers on Windows
5578
5579         No new tests, build fix only.
5580
5581         * WebCore.vcproj/WebCore.vcproj:
5582
5583 2010-01-21  Eric Carlson  <eric.carlson@apple.com>
5584
5585         Reviewed by Darin Adler.
5586
5587         Cleanup MediaPlayer and MediaPlayerPrivateInterface to remove dead methods
5588         https://bugs.webkit.org/show_bug.cgi?id=30106
5589
5590         No new tests, only dead code was removed.
5591
5592         * platform/graphics/MediaPlayer.cpp:
5593         * platform/graphics/MediaPlayer.h:
5594         * platform/graphics/MediaPlayerPrivate.h:
5595         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
5596         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
5597         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
5598         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
5599         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
5600         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
5601         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
5602         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
5603         (WebCore::MediaPlayerPrivate::currentTime):
5604         (WebCore::MediaPlayerPrivate::doSeek):
5605         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
5606         * platform/graphics/wince/MediaPlayerPrivateWince.h:
5607
5608 2010-01-21  Iain Campbell <iain.campbell@accenture.com>
5609
5610         Reviewed by Simon Hausmann.
5611
5612         [Qt] Simplify the qmake code for freezing QtWebKit on Symbian.
5613
5614         * WebCore.pro:
5615
5616 2010-01-21  Steve Block  <steveblock@google.com>
5617
5618         Unreviewed speculative build fix for Windows.
5619
5620         Adds missing include path for JSCBridge.h on Windows, added in http://trac.webkit.org/changeset/53620
5621
5622         No new tests, build fix only.
5623
5624         * WebCore.vcproj/WebCoreCommon.vsprops:
5625
5626 2010-01-21  Steve Block  <steveblock@google.com>
5627
5628         Unreviewed build fix.
5629
5630         Adds missing include path for JSCBridge.h, added in http://trac.webkit.org/changeset/53620
5631
5632         No new tests, build fix only.
5633
5634         * GNUmakefile.am:
5635         * WebCore.pro:
5636         * WebCore.vcproj/WebCore.vcproj:
5637         * WebCore.xcodeproj/project.pbxproj:
5638
5639 2010-01-21  Steve Block  <steveblock@google.com>
5640
5641         Reviewed by David Levin.
5642
5643         Move bridge interfaces Field, Class, Instance and Array from Bridge to BridgeJSC
5644         https://bugs.webkit.org/show_bug.cgi?id=33589
5645
5646         These interfaces use JSC-specific types, so are moved out of Bridge.h to allow the file to
5647         be used with both JSC and V8.
5648
5649         No new tests, refactoring only.
5650
5651         * Android.jscbindings.mk: Modified. Removed Bridge.cpp and added BridgeJSC.cpp
5652         * GNUmakefile.am: Modified. Removed Bridge.cpp and added BridgeJSC.[cpp|h]
5653         * WebCore.pro: Modified. Removed Bridge.cpp and added BridgeJSC.[cpp|h]
5654         * WebCore.xcodeproj/project.pbxproj: Modified. Removed Bridge.cpp and added BridgeJSC.[cpp|h]
5655         * WebCoreSources.bkl: Modified. Removed Bridge.cpp and added BridgeJSC.cpp
5656         * bridge/Bridge.cpp: Removed.
5657         * bridge/Bridge.h: Modfied. Moved Field, Class, Instance and Array interfaces to BridgeJSC.h
5658         * bridge/jsc: Added.
5659         * bridge/jsc/BridgeJSC.cpp: Copied from WebCore/bridge/Bridge.cpp.
5660         * bridge/jsc/BridgeJSC.h: Copied from WebCore/bridge/Bridge.h.
5661
5662 2010-01-21  Steve Block  <steveblock@google.com>
5663
5664         Reviewed by David Levin.
5665
5666         Fixes style in WebCore/bridge/jni/JNIBridge
5667         https://bugs.webkit.org/show_bug.cgi?id=33914
5668
5669         No new tests, style fixes only.
5670
5671         * bridge/jni/JNIBridge.cpp:
5672         * bridge/jni/JNIBridge.h:
5673
5674 2010-01-13  Philippe Normand  <pnormand@igalia.com>
5675
5676         Reviewed by Oliver Hunt.
5677
5678         [GTK] handle media redirections
5679         https://bugs.webkit.org/show_bug.cgi?id=33539
5680
5681         Media redirections support.
5682
5683         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
5684         (WebCore::mediaPlayerPrivateMessageCallback):
5685         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
5686         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
5687         (WebCore::MediaPlayerPrivate::mediaLocationChanged):
5688         (WebCore::MediaPlayerPrivate::loadNextLocation):
5689         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
5690         (WebCore::MediaPlayerPrivate::pipelineReset):
5691
5692 2010-01-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
5693
5694         Reviewed by Antti Koivisto.
5695
5696         [Qt] Implement GraphicsLayer for accelerated layer compositing
5697         https://bugs.webkit.org/show_bug.cgi?id=33514
5698
5699         No new tests: tests in LayoutTests/compositing are now relevant for
5700         QtWebkit!
5701
5702         * WebCore.pro: added accelerated-compositing related files 
5703         * platform/graphics/GraphicsLayer.h: define Qt-specific implementation           of GraphicsLayer
5704         * platform/graphics/qt/GraphicsLayerQt.cpp: Added.
5705         (WebCore::GraphicsLayerQtImpl::): Implementation of GraphicsLayer with
5706         a QGraphicsItem
5707         (WebCore::GraphicsLayerQtImpl::ContentData::ContentData): save 
5708         pixmap/color info for directly composited content
5709         (WebCore::GraphicsLayerQtImpl::State::State): save info for syncing
5710         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): ctor
5711         (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl): dtor
5712         (WebCore::GraphicsLayerQtImpl::setBaseTransform): set Qt
5713         transformation in the way WebCore wants it
5714         (WebCore::GraphicsLayerQtImpl::opaqueArea): calculate opaque area
5715         based on info we have
5716         (WebCore::GraphicsLayerQtImpl::boundingRect): reimp QGraphicsItem
5717         (WebCore::GraphicsLayerQtImpl::paint): reimp QGraphicsItem
5718         (WebCore::GraphicsLayerQtImpl::drawContents): draw HTML/Pixmap/Color
5719         (WebCore::GraphicsLayerQtImpl::notifyChange): let WebCore know
5720         something has changed
5721         (WebCore::GraphicsLayerQtImpl::flushChanges): Make the changes appear
5722         on screen by setting them to QGraphicsItems
5723         (WebCore::GraphicsLayerQtImpl::notifyAnimationStarted): let WebCore
5724         know the QAnimation started
5725         (WebCore::GraphicsLayerQt::GraphicsLayerQt): ctor
5726         (WebCore::GraphicsLayerQt::~GraphicsLayerQt): dtor
5727         (WebCore::GraphicsLayer::create): hook for WebCore to know we're
5728         implementing compositing
5729         (WebCore::GraphicsLayer::compositingCoordinatesOrientation): hook for
5730         WebCore to know we use a top-down system
5731         (WebCore::GraphicsLayerQt::setNeedsDisplay): update the display
5732         (WebCore::GraphicsLayerQt::setNeedsDisplayInRect): udpate part of the
5733         display
5734         (WebCore::GraphicsLayerQt::setName): reimp
5735         (WebCore::GraphicsLayerQt::setParent): reimp
5736         (WebCore::GraphicsLayerQt::setChildren): reimp
5737         (WebCore::GraphicsLayerQt::addChild): reimp
5738         (WebCore::GraphicsLayerQt::addChildAtIndex): reimp
5739         (WebCore::GraphicsLayerQt::addChildAbove): reimp
5740         (WebCore::GraphicsLayerQt::addChildBelow): reimp
5741         (WebCore::GraphicsLayerQt::replaceChild): reimp
5742         (WebCore::GraphicsLayerQt::removeFromParent): reimp
5743         (WebCore::GraphicsLayerQt::setMaskLayer): reimp
5744         (WebCore::GraphicsLayerQt::setPosition): reimp
5745         (WebCore::GraphicsLayerQt::setAnchorPoint): reimp
5746         (WebCore::GraphicsLayerQt::setSize): reimp
5747         (WebCore::GraphicsLayerQt::setTransform): reimp
5748         (WebCore::GraphicsLayerQt::setChildrenTransform): reimp
5749         (WebCore::GraphicsLayerQt::setPreserves3D): reimp
5750         (WebCore::GraphicsLayerQt::setMasksToBounds): reimp
5751         (WebCore::GraphicsLayerQt::setDrawsContent): reimp
5752         (WebCore::GraphicsLayerQt::setBackgroundColor): reimp
5753         (WebCore::GraphicsLayerQt::clearBackgroundColor): reimp
5754         (WebCore::GraphicsLayerQt::setContentsOpaque): reimp
5755         (WebCore::GraphicsLayerQt::setBackfaceVisibility): reimp
5756         (WebCore::GraphicsLayerQt::setOpacity): reimp
5757         (WebCore::GraphicsLayerQt::setContentsRect): reimp
5758         (WebCore::GraphicsLayerQt::setContentsToImage): reimp
5759         (WebCore::GraphicsLayerQt::setContentsBackgroundColor): reimp
5760         (WebCore::GraphicsLayerQt::setGeometryOrientation): reimp
5761         (WebCore::GraphicsLayerQt::setContentsOrientation): reimp
5762         (WebCore::GraphicsLayerQt::distributeOpacity): reimp
5763         (WebCore::GraphicsLayerQt::accumulatedOpacity): reimp
5764         (WebCore::GraphicsLayerQt::syncCompositingState): reimp
5765         (WebCore::GraphicsLayerQt::nativeLayer): reimp (QGraphicsItem*)
5766         (WebCore::GraphicsLayerQt::platformLayer): reimp (QGraphicsItem*)
5767         (WebCore::solveEpsilon): copy from AnimationBase.cpp
5768         (WebCore::solveCubicBezierFunction): copy from AniamtionBase.cpp
5769         (WebCore::applyTimingFunction): use WebCore's timing and not Qt's
5770         (WebCore::webkitAnimationToQtAnimationValue): safely figure out
5771         animation values
5772         (WebCore::AnimationQtBase::AnimationQtBase): base class for Qt-based
5773         Webcore-initiated animations
5774         (WebCore::AnimationQtBase::updateState): notify when an animation
5775         starts
5776         (WebCore::AnimationQtBase::duration): reimp QAbstractAnimation
5777         (WebCore::AnimationQt:::AnimationQtBase):
5778         (WebCore::AnimationQt::updateCurrentTime): realize keyframes from
5779         progress
5780         (WebCore::TransformAnimationQt::TransformAnimationQt): ctor
5781         (WebCore::TransformAnimationQt::~TransformAnimationQt): dtor
5782         (WebCore::TransformAnimationQt::applyFrame): set the actual QTransform
5783         based on WebCore TransformOperations
5784         (WebCore::TransformAnimationQt::updateState): change cache mode
5785         (WebCore::OpacityAnimationQt::OpacityAnimationQt):
5786         (WebCore::OpacityAnimationQt::applyFrame): change item's opacity
5787         (WebCore::OpacityAnimationQt::updateState):
5788         (WebCore::GraphicsLayerQt::addAnimation): convert WebCore Animation to
5789         Qt Animation
5790         (WebCore::GraphicsLayerQt::removeAnimationsForProperty):
5791         (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes):
5792         (WebCore::GraphicsLayerQt::pauseAnimation):
5793         (WebCore::GraphicsLayerQt::suspendAnimations):
5794         (WebCore::GraphicsLayerQt::resumeAnimations):
5795         * platform/graphics/qt/GraphicsLayerQt.h: Added.
5796         * platform/qt/QWebPageClient.h: virtual functions for QGraphicsWebView
5797         compositing
5798         (QWebPageClient::setRootGraphicsLayer): let QGraphicsWebView know that
5799         compositing has started/ended
5800         (QWebPageClient::markForSync): let QGraphicsWebView know the
5801         compositing layers need to sync, either soon or with the next update
5802
5803 2010-01-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
5804
5805         Reviewed by Simon Hausmann.
5806
5807         [Qt] Adding QPixmap/QImage support for the Qt hybrid layer
5808         Allows accesing QPixmap and QImage based arguments from Qt signals,
5809         slots and properties
5810         This is done by an intermediate object that can be turned into
5811         web-based objects by calling either toHTMLImageElement() or
5812         toDataURL()
5813         https://bugs.webkit.org/show_bug.cgi?id=32461
5814
5815         Tests are in WebKit/qt/tests/hybridPixmap
5816
5817         * WebCore.pro:
5818         * bridge/qt/qt_pixmapruntime.cpp: Added.
5819         (JSC::Bindings::QtPixmapWidthField::name): "width"
5820         (JSC::Bindings::QtPixmapWidthField::valueFromInstance): width of
5821         pixmap
5822         (JSC::Bindings::QtPixmapWidthField::setValueToInstance): nothing
5823         (JSC::Bindings::QtPixmapHeightField::name): "height"
5824         (JSC::Bindings::QtPixmapHeightField::valueFromInstance): height of
5825         pixmap
5826         (JSC::Bindings::QtPixmapHeightField::setValueToInstance): nothing
5827         (JSC::Bindings::QtPixmapRuntimeMethod::numParameters): 0
5828         (JSC::Bindings::QtPixmapCreateElementMethod::name): toHTMLImageElement
5829         (JSC::Bindings::QtPixmapCreateElementMethod::invoke): creates an HTML
5830         element from the QPixmap
5831         (JSC::Bindings::QtPixmapToDataUrlMethod::name): "toDataURL"
5832         (JSC::Bindings::QtPixmapToDataUrlMethod::invoke): encodes the image to
5833         a base64 data url
5834         (JSC::Bindings::QtPixmapToStringMethod::name): "toString"
5835         (JSC::Bindings::QtPixmapToStringMethod::invoke): [Qt Native Pixmap
5836         w,h]
5837
5838         (JSC::Bindings::QtPixmapRuntimeObjectImp::createStructure):
5839         runtime-object broilerplate
5840         (JSC::Bindings::QtPixmapRuntimeObjectImp::classInfo): ditto
5841         (JSC::Bindings::QtPixmapRuntimeObjectImp::QtPixmapRuntimeObjectImp):
5842         ditto
5843         (JSC::Bindings::): ditto
5844         (JSC::Bindings::QtPixmapClass::QtPixmapClass): class for the
5845         intermediate pixmap-holder 
5846         (JSC::Bindings::QtPixmapInstance::getClass): ditto
5847         (JSC::Bindings::QtPixmapInstance::invokeMethod): ditto
5848         (JSC::Bindings::QtPixmapClass::methodsNamed): toHTMLImageElement,
5849         toDataURL
5850         (JSC::Bindings::QtPixmapClass::fieldNamed): width, height
5851         (JSC::Bindings::QtPixmapInstance::getPropertyNames):
5852                 toHTMLImageElement, toDataURL, width, height
5853         (JSC::Bindings::QtPixmapInstance::defaultValue): nothing
5854         (JSC::Bindings::QtPixmapInstance::valueOf): toString
5855         (JSC::Bindings::data): holds a QVariant of type QImage/QPixmap
5856         (JSC::Bindings::QtPixmapInstance::width): width of the image/pixmap
5857         (JSC::Bindings::QtPixmapInstance::height): height of the image/pixmap
5858         (JSC::Bindings::QtPixmapInstance::toPixmap): converts to a QPixmap
5859         (JSC::Bindings::QtPixmapInstance::toImage): converts to a QImage
5860         (JSC::Bindings::QtPixmapInstance::variantFromObject): makes sure this
5861         is the right type of object, and creates a QVariant
5862         (JSC::Bindings::QtPixmapInstance::createRuntimeObject): creates a new
5863         intermediate pixmap holder from a QVariant
5864         (JSC::Bindings::QtPixmapInstance::canHandle): returns true if a
5865         QPixmap/QImage is required
5866         * bridge/qt/qt_pixmapruntime.h: Added.
5867         * bridge/qt/qt_runtime.cpp: hooks for the bridge
5868         (JSC::Bindings::convertValueToQVariant): handle QPixmap/QImage if the
5869         object is the intermediate pixmap holder or an HTMLImageElement
5870         (JSC::Bindings::convertQVariantToValue): creates the intermediate
5871         object from a QVariant of type QImage/QPixmap
5872
5873 2010-01-21  Luiz Agostini  <luiz.agostini@openbossa.org>
5874
5875         Reviewed by Kenneth Rohde Christiansen.
5876
5877         [Qt] Custom select popups.
5878         https://bugs.webkit.org/show_bug.cgi?id=33418
5879
5880         Optimization of the WebCore support to combobox popup delegate.
5881
5882         * platform/qt/PopupMenuQt.cpp:
5883         (WebCore::PopupMenu::show):
5884         * platform/qt/QtAbstractWebPopup.cpp:
5885         (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
5886         (WebCore::QtAbstractWebPopup::itemType):
5887         * platform/qt/QtAbstractWebPopup.h:
5888         (WebCore::QtAbstractWebPopup::):
5889         (WebCore::QtAbstractWebPopup::itemText):
5890         (WebCore::QtAbstractWebPopup::itemToolTip):
5891         (WebCore::QtAbstractWebPopup::itemIsEnabled):
5892         (WebCore::QtAbstractWebPopup::itemCount):
5893         (WebCore::QtAbstractWebPopup::view):
5894         (WebCore::QtAbstractWebPopup::geometry):
5895         (WebCore::QtAbstractWebPopup::currentIndex):
5896         (WebCore::QtAbstractWebPopup::font):
5897
5898 2010-01-20  Adam Barth  <abarth@webkit.org>
5899
5900         Reviewed by Darin Adler.
5901
5902         Stylesheet href property shows redirected URL unlike other browsers
5903         https://bugs.webkit.org/show_bug.cgi?id=33683
5904
5905         Teach StyleSheet the difference between original and final URLs in
5906         redirect chains.  Unfortunately, StyleSheet needs to know both of these
5907         URLs.  The original URL is needed for the href property and the final
5908         URL is needed as the baseURL.
5909
5910         This change required touching a lot of lines of code because we need to
5911         plumb this information to the StyleSheet object.  I audited all
5912         existing clients of href() and setHref() to see whether they wanted the
5913         original or final URLs.  I then updated the clients (except the JS
5914         bindings themselves) to use the correct accessor.
5915
5916         Test: http/tests/security/stylesheet-href-redirect.html
5917
5918         * css/CSSImportRule.cpp:
5919         (WebCore::CSSImportRule::setCSSStyleSheet):
5920         (WebCore::CSSImportRule::insertedIntoParent):
5921         * css/CSSImportRule.h:
5922         * css/CSSStyleSheet.cpp:
5923         (WebCore::CSSStyleSheet::CSSStyleSheet):
5924         * css/CSSStyleSheet.h:
5925         (WebCore::CSSStyleSheet::create): 
5926         (WebCore::CSSStyleSheet::createInline): Added a new constructor to deal
5927         with "inline" style sheets that don't have a distinct original and
5928         final URL.
5929         * css/StyleBase.cpp:
5930         (WebCore::StyleBase::baseURL): This code wants to use the final URL,
5931         not the original URL.  Updated it to grab the baseURL directly.
5932         * css/StyleSheet.cpp:
5933         (WebCore::StyleSheet::StyleSheet):
5934         * css/StyleSheet.h:
5935         (WebCore::StyleSheet::href):
5936         (WebCore::StyleSheet::setBaseURL): This function really just updates
5937         the base URL of the style sheet, so I made it more explicit.
5938         (WebCore::StyleSheet::putativeBaseURL): We need an accessor for the
5939         base URL, but baseURL is already taken.
5940         * dom/Document.cpp:
5941         (WebCore::Document::updateBaseURL):
5942         (WebCore::Document::pageUserSheet):
5943         (WebCore::Document::pageGroupUserSheets):
5944         (WebCore::Document::elementSheet):
5945         (WebCore::Document::mappedElementSheet):
5946         * dom/ProcessingInstruction.cpp:
5947         (WebCore::ProcessingInstruction::checkStyleSheet):
5948         (WebCore::ProcessingInstruction::setCSSStyleSheet):
5949         (WebCore::ProcessingInstruction::setXSLStyleSheet):
5950         * dom/ProcessingInstruction.h:
5951         * dom/StyleElement.cpp:
5952         (WebCore::StyleElement::createSheet):
5953         * html/HTMLLinkElement.cpp:
5954         (WebCore::HTMLLinkElement::setCSSStyleSheet):
5955         * html/HTMLLinkElement.h:
5956         * loader/CachedCSSStyleSheet.cpp:
5957         (WebCore::CachedCSSStyleSheet::didAddClient):
5958         (WebCore::CachedCSSStyleSheet::checkNotify): This code now passes both
5959         the original and final URL into setCSSStyleSheet so that the style
5960         sheet can have both.
5961         * loader/CachedResourceClient.h:
5962         (WebCore::CachedResourceClient::setCSSStyleSheet):
5963         (WebCore::CachedResourceClient::setXSLStyleSheet):
5964         * loader/CachedXSLStyleSheet.cpp:
5965         (WebCore::CachedXSLStyleSheet::didAddClient):
5966         (WebCore::CachedXSLStyleSheet::checkNotify): I don't have any direct
5967         evidence that we need to change the XSLStyleSheet behavior, which is
5968         why I wasn't able to add a test for the behavior.  However, the objects
5969         are parallel enough that it seemed like the right thing to do.
5970         * xml/XSLImportRule.cpp:
5971         (WebCore::XSLImportRule::setXSLStyleSheet):
5972         (WebCore::XSLImportRule::loadSheet):
5973         * xml/XSLImportRule.h:
5974         * xml/XSLStyleSheet.h:
5975         (WebCore::XSLStyleSheet::create):
5976         (WebCore::XSLStyleSheet::createEmbedded):
5977         * xml/XSLStyleSheetLibxslt.cpp:
5978         (WebCore::XSLStyleSheet::XSLStyleSheet):
5979         (WebCore::XSLStyleSheet::parseString):
5980         (WebCore::XSLStyleSheet::loadChildSheets):
5981         * xml/XSLStyleSheetQt.cpp:
5982         (WebCore::XSLStyleSheet::XSLStyleSheet):
5983         * xml/XSLTProcessorLibxslt.cpp:
5984         (WebCore::xsltStylesheetPointer):
5985         * xml/XSLTProcessorQt.cpp:
5986         (WebCore::XSLTProcessor::transformToString):
5987
5988 2010-01-20  Kwang Yul Seo  <skyul@company100.net>
5989
5990         Reviewed by Alexey Proskuryakov.
5991
5992         Use xmlStrdup instead of strdup for consistency in Libxml2.
5993         https://bugs.webkit.org/show_bug.cgi?id=33935
5994
5995         Remove the direct use of strdup.
5996
5997         * dom/XMLTokenizerLibxml2.cpp:
5998         (WebCore::PendingCallbacks::appendErrorCallback):
5999         (WebCore::PendingCallbacks::):
6000         (WebCore::XMLTokenizer::error):
6001
6002 2010-01-20  Oliver Hunt  <oliver@apple.com>
6003
6004         Reviewed by Dan Bernstein.
6005
6006         Insufficient repaint issues with html embedded in foreignObject
6007         https://bugs.webkit.org/show_bug.cgi?id=16318
6008
6009         Final part of fix -- now we render the selection rect of list
6010         markers in a transformed context.
6011
6012         * rendering/RenderListMarker.cpp:
6013         (WebCore::RenderListMarker::localSelectionRect):
6014         (WebCore::RenderListMarker::paint):
6015         * rendering/RenderListMarker.h:
6016
6017 2010-01-20  Daniel Bates  <dbates@webkit.org>
6018
6019         No review, rolling out 53591.
6020         http://trac.webkit.org/changeset/53591
6021         https://bugs.webkit.org/show_bug.cgi?id=29564
6022
6023         Rolling out the change committed in change set 53591
6024         <http://trac.webkit.org/changeset/53591> because it caused
6025         a regression of test /fast/replaced/table-percent-height.html
6026         on the Qt bot.
6027
6028         * platform/qt/RenderThemeQt.cpp:
6029         (WebCore::RenderThemeQt::adjustButtonStyle):
6030
6031 2010-01-20  Stephen White  <senorblanco@chromium.org>
6032
6033         Reviewed by David Levin.
6034
6035         Disable the "seatbelt" coordinate validation functions in the
6036         Skia graphics layer.  We believe all the underlying bugs have
6037         been fixed, but just in case we're being overly optimistic, this
6038         leaves in the code for an easy revert.
6039
6040         https://bugs.webkit.org/show_bug.cgi?id=33908
6041         Exercised by many layout tests.
6042
6043         * platform/graphics/skia/GraphicsContextSkia.cpp:
6044
6045 2010-01-20  Kent Tamura  <tkent@chromium.org>
6046
6047         Reviewed by Darin Adler.
6048
6049         HTMLInputElement::valueAsDate setter support for type=date.
6050         https://bugs.webkit.org/show_bug.cgi?id=33911
6051
6052         Introduce ISODateTime::setMillisecondsSinceEpochForDate() and add Date
6053         type support to ISODateTime::toString().
6054
6055         * html/HTMLInputElement.cpp:
6056         (WebCore::HTMLInputElement::setValueAsDate):
6057         * html/ISODateTime.cpp:
6058         (WebCore::ISODateTime::setMillisecondsSinceEpochForDate):
6059         (WebCore::ISODateTime::toString):
6060         * html/ISODateTime.h:
6061
6062 2010-01-20  Ben Murdoch  <benm@google.com>
6063
6064         Reviewed by Simon Hausmann.
6065
6066         Touch Events are not sent to iframes
6067         https://bugs.webkit.org/show_bug.cgi?id=33894
6068
6069         Fix the touch event handler so it does not bail out early if the main frame document does not have any touch listeners registered, as there may be embedded iframes that have registered for touch events.
6070
6071         Test: fast/events/touch/touch-inside-iframe.html
6072
6073         * page/EventHandler.cpp:
6074         (WebCore::EventHandler::handleTouchEvent): Instead of looking at the document of the main frame to see if touch event listeners are registered, look at the document of the target element to account for iframes.
6075
6076 2010-01-20  Michael Nordman  <michaeln@google.com>
6077
6078         Reviewed by Alexey Proskuryakov.
6079
6080         Remove an assertion that is not valid in some detached iframes cases.
6081         https://bugs.webkit.org/show_bug.cgi?id=33827
6082
6083         Test: http/tests/appcache/detached-iframe.html
6084
6085         * loader/appcache/DOMApplicationCache.cpp:
6086         (WebCore::DOMApplicationCache::DOMApplicationCache):
6087
6088 2010-01-20  Eric Uhrhane  <ericu@chromium.org>
6089
6090         Reviewed by Dmitry Titov.
6091
6092         Refactoring and plumbing to get the HTML5 SQL Database API accessible to
6093         web workers.  No new functionality is exposed yet; this just gets the
6094         infrastructure in place.  It touches a lot of files in small ways; here
6095         are the main changes:
6096
6097         1) Database members and methods move from Document up to
6098         ScriptExecutionContext.  Each of Document and WorkerContext must
6099         implement a few virtual methods where the Database code requires
6100         differentiation.
6101         2) Worker thread shutdown got changed a bunch to handle Database cleanup
6102         and thread synchronization issues.  Database cleanup tasks need to post
6103         some cleanup tasks to the JavaScript thread.  However, since database
6104         cleanup may happen due to the destruction of the WorkerThread, I added a
6105         handshake [involving WorkerThreadShutdownStartTask,
6106         WorkerThreadShutdownFinishTask, and a DatabaseTaskSynchronizer] between
6107         the Database thread and WorkerThread that cleans up all the Database
6108         stuff before the WorkerThread's runLoop can exit.
6109         3) The runtime enabler for the Database moved to a static variable
6110         accessible through Database::isAvailable, following the model used by
6111         WebSocket.
6112         4) Worker threads don't run their JavaScript on the Main thread, so
6113         Database code that differentiated between the Main thread and the
6114         Database thread now need to deal with a third possibility.
6115         5) Most of the other changes have to do with having a
6116         ScriptExecutionContext pointer instead of a Document pointer when
6117         dealing with a Database.  In many cases it's just a string replacement,
6118         but in some it required the creation of a new virtual function [e.g.
6119         databaseExceededQuota, isDatabaseReadOnly]
6120
6121         https://bugs.webkit.org/show_bug.cgi?id=22725
6122
6123         No new tests; in a future patch I'll add JSC and V8 bindings and new
6124         layout tests to exercise them.
6125
6126         * bindings/v8/custom/V8DOMWindowCustom.cpp:
6127         (WebCore::V8DOMWindow::OpenDatabaseEnabled):
6128         * dom/Document.cpp:
6129         (WebCore::Document::Document):
6130         (WebCore::Document::~Document):
6131         (WebCore::Document::isDatabaseReadOnly):
6132         (WebCore::Document::databaseExceededQuota):
6133         (WebCore::Document::isContextThread):
6134         * dom/Document.h:
6135         * dom/ScriptExecutionContext.cpp:
6136         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
6137         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
6138         (WebCore::ScriptExecutionContext::databaseThread):
6139         (WebCore::ScriptExecutionContext::addOpenDatabase):
6140         (WebCore::ScriptExecutionContext::removeOpenDatabase):
6141         (WebCore::ScriptExecutionContext::stopDatabases):
6142         * dom/ScriptExecutionContext.h:
6143         (WebCore::ScriptExecutionContext::setHasOpenDatabases):
6144         (WebCore::ScriptExecutionContext::hasOpenDatabases):
6145         (WebCore::ScriptExecutionContext::Task::isCleanupTask):
6146         * loader/FrameLoader.cpp:
6147         (WebCore::FrameLoader::stopLoading):
6148         * storage/Database.cpp:
6149         (WebCore::Database::setIsAvailable):
6150         (WebCore::Database::isAvailable):
6151         (WebCore::Database::openDatabase):
6152         (WebCore::Database::Database):
6153         (WebCore::DerefContextTask::create):
6154         (WebCore::DerefContextTask::performTask):
6155         (WebCore::DerefContextTask::isCleanupTask):
6156         (WebCore::Database::~Database):
6157         (WebCore::Database::openAndVerifyVersion):
6158         (WebCore::Database::markAsDeletedAndClose):
6159         (WebCore::ContextRemoveOpenDatabaseTask::create):
6160         (WebCore::ContextRemoveOpenDatabaseTask::performTask):
6161         (WebCore::ContextRemoveOpenDatabaseTask::isCleanupTask):
6162         (WebCore::ContextRemoveOpenDatabaseTask::ContextRemoveOpenDatabaseTask):
6163         (WebCore::Database::close):
6164         (WebCore::Database::performOpenAndVerify):
6165         (WebCore::Database::scheduleTransaction):
6166         (WebCore::Database::scheduleTransactionStep):
6167         (WebCore::DeliverPendingCallbackTask::create):
6168         (WebCore::DeliverPendingCallbackTask::performTask):
6169         (WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask):
6170         (WebCore::Database::scheduleTransactionCallback):
6171         (WebCore::Database::transactionClient):
6172         (WebCore::Database::transactionCoordinator):
6173         (WebCore::Database::tableNames):
6174         (WebCore::Database::securityOrigin):
6175         * storage/Database.h:
6176         (WebCore::Database::scriptExecutionContext):
6177         * storage/DatabaseTask.h:
6178         * storage/DatabaseThread.cpp:
6179         (WebCore::DatabaseThread::DatabaseThread):
6180         (WebCore::DatabaseThread::~DatabaseThread):
6181         (WebCore::DatabaseThread::requestTermination):
6182         (WebCore::DatabaseThread::databaseThread):
6183         (WebCore::DatabaseThread::unscheduleDatabaseTasks):
6184         * storage/DatabaseThread.h:
6185         * storage/DatabaseTracker.cpp:
6186         (WebCore::DatabaseTracker::canEstablishDatabase):
6187         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
6188         * storage/DatabaseTracker.h:
6189         * storage/SQLTransaction.cpp:
6190         (WebCore::SQLTransaction::executeSQL):
6191         * storage/SQLTransactionClient.cpp:
6192         (WebCore::SQLTransactionClient::didCommitTransaction):
6193         (WebCore::SQLTransactionClient::didExecuteStatement):
6194         (WebCore::SQLTransactionClient::didExceedQuota):
6195         * storage/chromium/DatabaseTrackerChromium.cpp:
6196         (WebCore::DatabaseTracker::canEstablishDatabase):
6197         (WebCore::DatabaseTracker::addOpenDatabase):
6198         (WebCore::TrackerRemoveOpenDatabaseTask::create):
6199         (WebCore::TrackerRemoveOpenDatabaseTask::performTask):
6200         (WebCore::TrackerRemoveOpenDatabaseTask::TrackerRemoveOpenDatabaseTask):
6201         (WebCore::DatabaseTracker::removeOpenDatabase):
6202         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
6203         * storage/chromium/SQLTransactionClientChromium.cpp:
6204         (WebCore::NotifyDatabaseChangedTask::create):
6205         (WebCore::NotifyDatabaseChangedTask::performTask):
6206         (WebCore::NotifyDatabaseChangedTask::NotifyDatabaseChangedTask):
6207         (WebCore::SQLTransactionClient::didCommitTransaction):
6208         (WebCore::SQLTransactionClient::didExecuteStatement):
6209         (WebCore::SQLTransactionClient::didExceedQuota):
6210         * workers/WorkerContext.cpp:
6211         (WebCore::WorkerContext::openDatabase):
6212         (WebCore::WorkerContext::isContextThread):
6213         * workers/WorkerContext.h:
6214         (WebCore::WorkerContext::clearScript):
6215         (WebCore::WorkerContext::thread):
6216         (WebCore::WorkerContext::isDatabaseReadOnly):
6217         (WebCore::WorkerContext::databaseExceededQuota):
6218         * workers/WorkerRunLoop.cpp:
6219         (WebCore::WorkerRunLoop::runInMode):
6220         (WebCore::WorkerRunLoop::Task::performTask):
6221         * workers/WorkerThread.cpp:
6222         (WebCore::WorkerThread::workerThread):
6223         (WebCore::WorkerThreadShutdownFinishTask::create):
6224         (WebCore::WorkerThreadShutdownFinishTask::performTask):
6225         (WebCore::WorkerThreadShutdownFinishTask::isCleanupTask):
6226         (WebCore::WorkerThreadShutdownStartTask::create):
6227         (WebCore::WorkerThreadShutdownStartTask::performTask):
6228         (WebCore::WorkerThreadShutdownStartTask::isCleanupTask):
6229         (WebCore::WorkerThread::stop):
6230
6231 2010-01-20  Fumitoshi Ukai  <ukai@chromium.org>
6232
6233         Reviewed by Alexey Proskuryakov.
6234
6235         WebSocket: Request-URI should not be empty when no tralling slash in host
6236         https://bugs.webkit.org/show_bug.cgi?id=33689
6237
6238         Test: websocket/tests/url-no-trailing-slash.html
6239
6240         * websockets/WebSocketHandshake.cpp:
6241         (WebCore::resourceName):
6242
6243 2010-01-20  Daniel Bates  <dbates@webkit.org>
6244
6245         Reviewed by Tor Arne Vestbø.
6246
6247         https://bugs.webkit.org/show_bug.cgi?id=29564
6248
6249         [Qt] Fixes an issue where the height of <button>- and
6250         <input type="button">- elements are fixed to the height of the
6251         button label font plus padding. That is, the CSS height property
6252         is being ignored.
6253
6254         Instead, we should honor the user-specified height, if appropriate
6255         for the platform and context. Notice, the Mac ports do not honor the
6256         height for <input type="button"> elements unless a border and/or
6257         background is also specified.
6258
6259         Test: fast/css/button-height.html
6260
6261         * platform/qt/RenderThemeQt.cpp:
6262         (WebCore::RenderThemeQt::RenderThemeQt):
6263         (WebCore::RenderThemeQt::adjustButtonStyle):
6264
6265 2010-01-20  Brady Eidson  <beidson@apple.com>
6266
6267         Reviewed by Sam Weinig.
6268
6269         Assertion failure calling history.pushState within popstate event handler.
6270         https://bugs.webkit.org/show_bug.cgi?id=33830
6271
6272         Test: fast/loader/stateobjects/pushstate-within-popstate-handler-assert.html
6273
6274         * loader/FrameLoader.cpp:
6275         (WebCore::FrameLoader::navigateWithinDocument): Remove the ASSERT and invalid part of the comment.
6276
6277 2010-01-20  Nikolas Zimmermann  <nzimmermann@rim.com>
6278
6279         Reviewed by Oliver Hunt.
6280
6281         Crash on dispatching SVG mouse events
6282         https://bugs.webkit.org/show_bug.cgi?id=33841
6283
6284         Return early SVGUseElement::instanceForShadowTreeElement if m_targetElementInstance is zero.
6285         This only happens if the SVGUseElement has just been removed from the document and EventHandler
6286         tries to dispatch a mouseout event to the corresponding SVGElementInstance. This is not testable
6287         using DRT unfortunately, so we have to add another manual testcase for that.
6288
6289         Tests: manual-tests/use-crash-on-mouse-hover.svg
6290
6291         * manual-tests/svg-crash-hovering-use.svg: Added.
6292         * svg/SVGUseElement.cpp:
6293         (WebCore::SVGUseElement::instanceForShadowTreeElement): Add ASSERT(!inDocument()) when returning 0 here if m_targetElementInstance is 0.
6294
6295 2010-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
6296
6297         Reviewed by Pavel Feldman.
6298
6299         Timeline reset button doesn't clean timeline if the panel is scrolled down.
6300         The overview pane also stay dirty after reset.
6301         https://bugs.webkit.org/show_bug.cgi?id=33829
6302
6303         * inspector/front-end/TimelineGrid.js:
6304         (WebInspector.TimelineGrid.prototype.updateDividers):
6305         * inspector/front-end/TimelineOverviewPane.js:
6306         (WebInspector.TimelineOverviewPane.prototype.reset):
6307         * inspector/front-end/TimelinePanel.js:
6308         (WebInspector.TimelinePanel.prototype.reset):
6309         (WebInspector.TimelinePanel.prototype._refreshRecords):
6310
6311 2010-01-20  Alexey Proskuryakov  <ap@apple.com>
6312
6313         Reviewed by Sam Weinig.
6314
6315         https://bugs.webkit.org/show_bug.cgi?id=33930
6316         Crash in JSDOMWindowBase::crossDomainAccessErrorMessage when accessing a detached sandboxed frame
6317
6318         Test: http/tests/security/detached-sandboxed-frame-access.html
6319
6320         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
6321         Changed the way we discover the url to match what the actual check does. Both old and new
6322         code correctly fetch the URL of the current window displayed in frame, but going via
6323         DOMWindowShell avoids crashing on null DOMWindow::m_frame pointer.
6324
6325 2010-01-20  Vitaly Repeshko  <vitalyr@chromium.org>
6326
6327         Reviewed by Pavel Feldman.
6328
6329         [V8] Support SerializedScriptValue.
6330         https://bugs.webkit.org/show_bug.cgi?id=32920
6331         http://crbug.com/30620
6332
6333         Initial implementation of SerializedScriptValue which is used to
6334         to create a serialized representation of JavaScript objects.  This
6335         representation is needed for structured clones and worker messages.
6336
6337         * WebCore.gypi: Added SerializedScriptValue.cpp.
6338         * bindings/scripts/CodeGeneratorV8.pm: Removed conversion to string before using SerializedScriptValue.
6339         * bindings/v8/SerializedScriptValue.cpp: Added.
6340         (WebCore::):
6341         (WebCore::ZigZag::encode):
6342         (WebCore::ZigZag::decode):
6343         (WebCore::Writer::Writer):
6344         (WebCore::Writer::writeUndefined):
6345         (WebCore::Writer::writeNull):
6346         (WebCore::Writer::writeTrue):
6347         (WebCore::Writer::writeFalse):
6348         (WebCore::Writer::writeString):
6349         (WebCore::Writer::writeInt32):
6350         (WebCore::Writer::writeNumber):
6351         (WebCore::Writer::endComposite):
6352         (WebCore::Writer::data):
6353         (WebCore::Writer::doWriteUint32):
6354         (WebCore::Writer::append):
6355         (WebCore::Writer::ensureSpace):
6356         (WebCore::Writer::fillHole):
6357         (WebCore::Writer::charAt):
6358         (WebCore::Serializer::Serializer):
6359         (WebCore::Serializer::serialize):
6360         (WebCore::Serializer::StateBase::~StateBase):
6361         (WebCore::Serializer::StateBase::nextState):
6362         (WebCore::Serializer::StateBase::setNextState):
6363         (WebCore::Serializer::StateBase::composite):
6364         (WebCore::Serializer::StateBase::StateBase):
6365         (WebCore::Serializer::State::composite):
6366         (WebCore::Serializer::State::tag):
6367         (WebCore::Serializer::State::State):
6368         (WebCore::Serializer::StackCleaner::StackCleaner):
6369         (WebCore::Serializer::StackCleaner::~StackCleaner):
6370         (WebCore::Serializer::ArrayState::ArrayState):
6371         (WebCore::Serializer::ArrayState::done):
6372         (WebCore::Serializer::ArrayState::advance):
6373         (WebCore::Serializer::ObjectState::ObjectState):
6374         (WebCore::Serializer::ObjectState::done):
6375         (WebCore::Serializer::ObjectState::advance):
6376         (WebCore::Serializer::ObjectState::nextProperty):
6377         (WebCore::Serializer::doSerialize):
6378         (WebCore::Serializer::push):
6379         (WebCore::Serializer::top):
6380         (WebCore::Serializer::pop):
6381         (WebCore::Serializer::checkComposite):
6382         (WebCore::Reader::Reader):
6383         (WebCore::Reader::isEof):
6384         (WebCore::Reader::read):
6385         (WebCore::Reader::readTag):
6386         (WebCore::Reader::readString):
6387         (WebCore::Reader::readInt32):
6388         (WebCore::Reader::readNumber):
6389         (WebCore::Reader::doReadUint32):
6390         (WebCore::Deserializer::Deserializer):
6391         (WebCore::Deserializer::deserialize):
6392         (WebCore::Deserializer::doDeserialize):
6393         (WebCore::Deserializer::push):
6394         (WebCore::Deserializer::pop):
6395         (WebCore::Deserializer::stackDepth):
6396         (WebCore::Deserializer::element):
6397         (WebCore::SerializedScriptValue::SerializedScriptValue):
6398         (WebCore::SerializedScriptValue::deserialize):
6399         * bindings/v8/SerializedScriptValue.h:
6400         (WebCore::SerializedScriptValue::create):
6401         (WebCore::SerializedScriptValue::createFromWire):
6402         (WebCore::SerializedScriptValue::release):
6403         (WebCore::SerializedScriptValue::toWireString):
6404
6405         Updated uses of SerializedScriptValue:
6406         * bindings/v8/custom/V8DOMWindowCustom.cpp:
6407         (WebCore::V8DOMWindow::postMessageCallback):
6408         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
6409         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
6410         * bindings/v8/custom/V8HistoryCustom.cpp:
6411         (WebCore::V8History::pushStateCallback):
6412         (WebCore::V8History::replaceStateCallback):
6413         * bindings/v8/custom/V8MessageEventCustom.cpp:
6414         (WebCore::V8MessageEvent::initMessageEventCallback):
6415         * bindings/v8/custom/V8MessagePortCustom.cpp:
6416         (WebCore::V8MessagePort::postMessageCallback):
6417         * bindings/v8/custom/V8WorkerCustom.cpp:
6418         (WebCore::V8Worker::postMessageCallback):
6419
6420 2010-01-20  Steve Falkenburg  <sfalken@apple.com>
6421
6422         Reviewed by Sam Weinig.
6423
6424         Fix crash in geolocation when observers change during iteration.
6425
6426         * page/GeolocationController.cpp:
6427         (WebCore::GeolocationController::positionChanged): Copy observers to vector while iterating.
6428         (WebCore::GeolocationController::errorOccurred): Copy observers to vector while iterating.
6429
6430 2010-01-19  Oliver Hunt  <oliver@apple.com>
6431
6432         Reviewed by Dan Bernstein.
6433
6434         Insufficient repaint issues with html embedded in foreignObject
6435         https://bugs.webkit.org/show_bug.cgi?id=16318
6436
6437         Partial fix for selection repaint in foreignObject, basically we
6438         just need to make sure foreignObject correctly applies the svg
6439         transform to the selection rect.
6440
6441         * rendering/RenderBlock.cpp:
6442         (WebCore::RenderBlock::paintSelection):
6443         * rendering/RenderForeignObject.cpp:
6444         (WebCore::RenderForeignObject::mapLocalToContainer):
6445         * rendering/RenderForeignObject.h:
6446
6447 2010-01-20  Gavin Barraclough  <barraclough@apple.com>
6448
6449         Reviewed by NOBODY.
6450
6451         <rdar://problem/7557695> REGRESSION(r53445-r53449): Many new memory leaks (33867)
6452
6453         Revert r53447, since this caused leaks.
6454
6455         * WebCore.base.exp:
6456         * platform/text/StringImpl.cpp:
6457         (WebCore::StringImpl::operator new):
6458         (WebCore::StringImpl::operator delete):
6459         (WebCore::StringImpl::StringImpl):
6460         (WebCore::StringImpl::~StringImpl):
6461         (WebCore::StringImpl::create):
6462         (WebCore::StringImpl::createWithTerminatingNullCharacter):
6463         (WebCore::StringImpl::crossThreadString):
6464         (WebCore::StringImpl::sharedBuffer):
6465         * platform/text/StringImpl.h:
6466         (WebCore::StringImpl::hasTerminatingNullCharacter):
6467         (WebCore::StringImpl::inTable):
6468         (WebCore::StringImpl::setInTable):
6469         (WebCore::StringImpl::):
6470         * storage/OriginUsageRecord.cpp:
6471         (WebCore::OriginUsageRecord::addDatabase):
6472         (WebCore::OriginUsageRecord::markDatabase):
6473
6474 2010-01-20  Jian Li  <jianli@chromium.org>
6475
6476         Reviewed by Dmitry Titov.
6477
6478         Implement File and Blob interfaces as defined in File API spec.
6479         https://bugs.webkit.org/show_bug.cgi?id=32912
6480
6481         * Android.derived.jscbindings.mk:
6482         * Android.derived.v8bindings.mk:
6483         * Android.mk:
6484         * DerivedSources.cpp:
6485         * DerivedSources.make:
6486         * GNUmakefile.am:
6487         * WebCore.gypi:
6488         * WebCore.pri:
6489         * WebCore.pro:
6490         * WebCore.vcproj/WebCore.vcproj:
6491         * WebCore.xcodeproj/project.pbxproj:
6492         * WebCoreSources.bkl:
6493         * bindings/js/JSXMLHttpRequestCustom.cpp:
6494         (WebCore::JSXMLHttpRequest::send):
6495         * bindings/objc/DOMHTML.h:
6496         * bindings/objc/PublicDOMInterfaces.h:
6497         * bindings/scripts/CodeGeneratorJS.pm:
6498         * bindings/scripts/CodeGeneratorObjC.pm:
6499         * bindings/scripts/CodeGeneratorV8.pm:
6500         * bindings/v8/DOMObjectsInclude.h:
6501         * bindings/v8/DerivedSourcesAllInOne.cpp:
6502         * bindings/v8/V8Binding.h:
6503         (WebCore::toInt64):
6504         * bindings/v8/V8Index.cpp:
6505         * bindings/v8/V8Index.h:
6506         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
6507         (WebCore::V8XMLHttpRequest::sendCallback):
6508         * html/File.cpp:
6509         (WebCore::File::File):
6510         * html/File.h:
6511         (WebCore::File::create):
6512         (WebCore::File::name):
6513         (WebCore::File::fileName):
6514         (WebCore::File::fileSize):
6515         * html/File.idl:
6516         * xml/XMLHttpRequest.cpp:
6517         (WebCore::XMLHttpRequest::send):
6518         * xml/XMLHttpRequest.h:
6519
6520 2010-01-20  Chris Fleizach  <cfleizach@apple.com>
6521
6522         Reviewed by Beth Dakin.
6523
6524         WAI-ARIA popup buttons spoken as simply 'button'
6525         https://bugs.webkit.org/show_bug.cgi?id=33922
6526
6527         Test: platform/mac/accessibility/aria-popup.html
6528
6529         * accessibility/AccessibilityRenderObject.cpp:
6530         (WebCore::AccessibilityRenderObject::actionElement):
6531         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
6532         * html/HTMLAttributeNames.in:
6533
6534 2010-01-19  David Levin  <levin@chromium.org>
6535
6536         Reviewed by Oliver Hunt.
6537
6538         CrossThreadCopier needs to support ThreadSafeShared better.
6539         https://bugs.webkit.org/show_bug.cgi?id=33698
6540
6541         Now the copier is able to handle types that derive from ThreadSafeShared.
6542
6543         No change functionality so no new tests.
6544
6545         * loader/WorkerThreadableLoader.cpp:
6546         (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel): Remove unnecessary cast.
6547         (WebCore::WorkerThreadableLoader::MainThreadBridge::clearClientWrapper): Ditto.
6548         * loader/WorkerThreadableLoader.h:
6549         Change to use the derived class instead of the ThreadSafeShared version.
6550         * platform/CrossThreadCopier.cpp:
6551         Add the new template parameter throughout the classes and adjust the class that 
6552         handles ThreadSafeShared to allow for derived types.
6553         * platform/CrossThreadCopier.h:
6554         Add another template parameter to be able to detect classes that derive 
6555         from ThreadSafeShared.
6556         * websockets/WorkerThreadableWebSocketChannel.cpp:
6557         Removed unnecessary casts and changed a type to use the derived class instead of
6558         the ThreadSafeShared version.
6559         (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
6560         (WebCore::workerContextDidSend):
6561         (WebCore::workerContextDidGetBufferedAmount):
6562         (WebCore::workerContextDidConnect):
6563         (WebCore::workerContextDidReceiveMessage):
6564         (WebCore::workerContextDidClose):
6565         (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
6566         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
6567         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
6568         (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
6569         (WebCore::WorkerThreadableWebSocketChannel::Bridge::clearClientWrapper):
6570         (WebCore::WorkerThreadableWebSocketChannel::Bridge::setMethodNotCompleted):
6571         (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
6572         * websockets/WorkerThreadableWebSocketChannel.h:
6573         (WebCore::WorkerThreadableWebSocketChannel::Peer::create): Changed a type to use the
6574         derived class instead of the ThreadSafeShared version.
6575
6576 2010-01-20  Jon Honeycutt  <jhoneycutt@apple.com>
6577
6578         <rdar://problem/7086565> Crash in WebCore::PlugInView::dispatchNPEvent
6579
6580         Reviewed by Sam Weinig.
6581
6582         * plugins/PluginView.cpp:
6583         (WebCore::PluginView::handleEvent):
6584         Ref the PluginView to protect it from deletion while calling into the
6585         plug-in.
6586
6587 2010-01-20  Jon Honeycutt  <jhoneycutt@apple.com>
6588
6589         MSAA: accSelect() is not implemented
6590
6591         https://bugs.webkit.org/show_bug.cgi?id=33918
6592         <rdar://problem/7436861>
6593
6594         Reviewed by Darin Adler.
6595
6596         Test: platform/win/accessibility/selection-and-focus.html
6597
6598         * accessibility/AccessibilityMenuListOption.cpp:
6599         (WebCore::AccessibilityMenuListOption::setSelected):
6600         Return early if the object is not selectable.
6601
6602 2010-01-20  Nikolas Zimmermann  <nzimmermann@rim.com>
6603
6604         Not reviewed. Fix chromium build, introduced a copy&paste error.
6605
6606         * bindings/v8/ScriptEventListener.cpp:
6607         (WebCore::createAttributeEventListener):
6608
6609 2010-01-20  Dan Bernstein  <mitz@apple.com>
6610
6611         Reviewed by Darin Adler.
6612
6613         <rdar://problem/6579204> Exception thrown when opening a <select> pop-up that
6614         uses a web font
6615         https://bugs.webkit.org/show_bug.cgi?id=23911
6616
6617         * platform/mac/PopupMenuMac.mm:
6618         (WebCore::PopupMenu::populate): Use the (bold) system font if an NSFont cannot
6619         be obtained.
6620
6621 2010-01-19  Nikolas Zimmermann  <nzimmermann@rim.com>
6622
6623         Reviewed by Alexey Proskuryakov. 
6624
6625         svg/custom/use-instanceRoot-event-bubbling.xhtml is flakey
6626         https://bugs.webkit.org/show_bug.cgi?id=33835
6627
6628         mouseEvent fires mutiple times in svg/custom/use-instanceRoot-as-event-target.xhtml
6629         https://bugs.webkit.org/show_bug.cgi?id=32519
6630
6631         Test: svg/custom/use-instanceRoot-event-listener-liveness.xhtml
6632
6633         Stabilize <use> scripting support - use tests are reliable now (tested using --repeach-each 50 --random -p)
6634
6635         Do not reclone trees anymore because of event listener changes, instead keep correspondingElement & shadowTreeElement
6636         synchronized for each SVGElementInstance - any mutations on any event listeners are live, and take immediate effect,
6637         w/o having to rely on a reclone - this was the root of several race conditions making the <use> tests flakey.
6638
6639         Fix SVGUseElement::instanceRoot() to force shadow tree creation, even if it was not attached so far - we can't wait
6640         for finishedParsing() to be called which would recalculate the document style and attach the shadow tree as result.
6641         This is now matching Operas behaviour.
6642
6643         Optimize createAttributeEventListener() to not create event listeners if the supplied Attribute isNull() - otherwhise
6644         DOM calls like removeAttribute("onclick") cause a temporary JSEventListener to be created, added to the event listener
6645         cache and removed afterwards.
6646
6647         * bindings/js/ScriptEventListener.cpp:
6648         (WebCore::createAttributeEventListener): Return early if the supplied attribute is null as discussed with Geoffrey.
6649         * bindings/v8/ScriptEventListener.cpp:
6650         (WebCore::createAttributeEventListener): Ditto.
6651         * dom/Node.cpp: Synchronize event listeners with all element instances, instead of marking the use elements to reclone.
6652         (WebCore::instancesForSVGElement):
6653         (WebCore::tryAddEventListener):
6654         (WebCore::Node::addEventListener): When adding a listener, get a list of element instances and add it their as well.
6655         (WebCore::tryRemoveEventListener):
6656         (WebCore::Node::removeEventListener): Ditto for removals, but with special logic for listeners created from markup (see comments)
6657         * svg/SVGElementInstance.cpp: Cleaned up, removing unncessary checks of correspondingElement() - there is an ASSERT in the ctor.
6658         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
6659         (WebCore::SVGElementInstance::scriptExecutionContext):
6660         (WebCore::SVGElementInstance::addEventListener):
6661         (WebCore::SVGElementInstance::removeEventListener):
6662         (WebCore::SVGElementInstance::removeAllEventListeners):
6663         (WebCore::SVGElementInstance::eventTargetData):
6664         (WebCore::SVGElementInstance::ensureEventTargetData):
6665         * svg/SVGUseElement.cpp: Call document()->updateLayoutIgnorePendingStylesheets() to force shadow tree creation, just like CSSStyleDecl works.
6666         (WebCore::SVGUseElement::instanceRoot):
6667
6668 2010-01-20  Dmitry Titov  <dimich@chromium.org>
6669
6670         Reviewed by Darin Adler.
6671
6672         Move local utility class DocumentWeakReference entirely from Document.h into Document.cpp
6673         since it is only used there. It is a followup for http://trac.webkit.org/changeset/53345.
6674
6675         No new tests since no change in functionality.
6676
6677         * dom/Document.cpp: Move definitions of the methods into declaration of the class, remove 'inline'.
6678         * dom/Document.h: Replace DocumentWeakReference declaration with a forward declaration.
6679
6680 2010-01-20  Oliver Hunt  <oliver@apple.com>
6681
6682         No review, rolling out r53561.
6683         http://trac.webkit.org/changeset/53561
6684         https://bugs.webkit.org/show_bug.cgi?id=16318
6685
6686         broke selection repaint for transformed text in html
6687
6688         * rendering/RenderBlock.cpp:
6689         (WebCore::RenderBlock::paintSelection):
6690         * rendering/RenderForeignObject.cpp:
6691         * rendering/RenderForeignObject.h:
6692
6693 2010-01-19  Oliver Hunt  <oliver@apple.com>
6694
6695         Reviewed by Beth Dakin.
6696
6697         Insufficient repaint issues with html embedded in foreignObject
6698         https://bugs.webkit.org/show_bug.cgi?id=16318
6699
6700         Partial fix for selection repaint in foreignObject, basically we
6701         just need to make sure foreignObject correctly applies the svg
6702         transform to the selection rect.
6703
6704         * rendering/RenderBlock.cpp:
6705         (WebCore::RenderBlock::paintSelection):
6706         * rendering/RenderForeignObject.cpp:
6707         (WebCore::RenderForeignObject::mapLocalToContainer):
6708         * rendering/RenderForeignObject.h:
6709
6710 2010-01-20  Kevin Ollivier  <kevino@theolliviers.com>
6711
6712         Build fix for !ENABLE(SVG).
6713
6714         * rendering/TrailingFloatsRootInlineBox.h:
6715         (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
6716
6717 2010-01-20  David Levin  <levin@chromium.org>
6718
6719         No review, rolling out r53552.
6720         http://trac.webkit.org/changeset/53552
6721         https://bugs.webkit.org/show_bug.cgi?id=32554
6722
6723         Caused lots of fast/profile test failures.
6724
6725         * bindings/js/JSInjectedScriptHostCustom.cpp:
6726         (WebCore::JSInjectedScriptHost::databaseForId):
6727         (WebCore::JSInjectedScriptHost::inspectedWindow):
6728         (WebCore::JSInjectedScriptHost::wrapCallback):
6729         (WebCore::JSInjectedScriptHost::currentCallFrame):
6730         (WebCore::JSInjectedScriptHost::nodeForId):
6731         (WebCore::JSInjectedScriptHost::wrapObject):
6732         (WebCore::JSInjectedScriptHost::unwrapObject):
6733         (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
6734         (WebCore::JSInjectedScriptHost::selectDatabase):
6735         (WebCore::JSInjectedScriptHost::selectDOMStorage):
6736         * bindings/js/ScriptCallStack.h:
6737         (WebCore::ScriptCallStack::state):
6738         * bindings/js/ScriptController.cpp:
6739         * bindings/js/ScriptController.h:
6740         * bindings/js/ScriptObject.h:
6741         * bindings/js/ScriptValue.cpp:
6742         (WebCore::ScriptValue::quarantineValue):
6743         * bindings/js/ScriptValue.h:
6744         * bindings/v8/ScriptObject.h:
6745         * bindings/v8/ScriptValue.h:
6746         (WebCore::ScriptValue::quarantineValue):
6747         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
6748         (WebCore::V8InjectedScriptHost::inspectedWindowCallback):
6749         (WebCore::V8InjectedScriptHost::wrapCallbackCallback):
6750         (WebCore::V8InjectedScriptHost::wrapObjectCallback):
6751         (WebCore::V8InjectedScriptHost::unwrapObjectCallback):
6752         * inspector/ConsoleMessage.cpp:
6753         (WebCore::ConsoleMessage::ConsoleMessage):
6754         (WebCore::ConsoleMessage::addToConsole):
6755         (WebCore::ConsoleMessage::isEqual):
6756         * inspector/ConsoleMessage.h:
6757         * inspector/InjectedScriptHost.cpp:
6758         (WebCore::InjectedScriptHost::wrapObject):
6759         (WebCore::InjectedScriptHost::unwrapObject):
6760         * inspector/InjectedScriptHost.h:
6761         * inspector/InjectedScriptHost.idl:
6762         * inspector/InspectorBackend.cpp:
6763         (WebCore::InspectorBackend::dispatchOnInjectedScript):
6764         (WebCore::InspectorBackend::releaseWrapperObjectGroup):
6765         * inspector/InspectorBackend.h:
6766         * inspector/InspectorBackend.idl:
6767         * inspector/InspectorController.cpp:
6768         (WebCore::InspectorController::InspectorController):
6769         (WebCore::InspectorController::clearConsoleMessages):
6770         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
6771         (WebCore::InspectorController::windowScriptObjectAvailable):
6772         (WebCore::InspectorController::scriptObjectReady):
6773         (WebCore::InspectorController::setFrontendProxyObject):
6774         (WebCore::InspectorController::close):
6775         (WebCore::InspectorController::resetScriptObjects):
6776         (WebCore::InspectorController::didPause):
6777         (WebCore::InspectorController::wrapObject):
6778         (WebCore::InspectorController::unwrapObject):
6779         (WebCore::InspectorController::releaseWrapperObjectGroup):
6780         (WebCore::InspectorController::resetInjectedScript):
6781         (WebCore::InspectorController::deleteCookie):
6782         * inspector/InspectorController.h:
6783         * inspector/InspectorFrontend.cpp:
6784         (WebCore::InspectorFrontend::addConsoleMessage):
6785         (WebCore::InspectorFrontend::pausedScript):
6786         * inspector/InspectorFrontend.h:
6787         * inspector/front-end/AuditsPanel.js:
6788         (WebInspector.AuditsPanel.prototype._reloadResources):
6789         * inspector/front-end/ConsoleView.js:
6790         (WebInspector.ConsoleView.prototype.requestClearMessages):
6791         (WebInspector.ConsoleView.prototype.completions):
6792         (WebInspector.ConsoleView.prototype.doEvalInWindow):
6793         (WebInspector.ConsoleView.prototype._formatnode):
6794         (WebInspector.ConsoleView.prototype._formatarray):
6795         * inspector/front-end/DOMAgent.js:
6796         (WebInspector.DOMNode):
6797         (WebInspector.CSSStyleDeclaration):
6798         (WebInspector.CSSStyleDeclaration.parseRule):
6799         * inspector/front-end/Database.js:
6800         (WebInspector.Database.prototype.executeSql):
6801         * inspector/front-end/ElementsPanel.js:
6802         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
6803         (WebInspector.ElementsPanel.prototype.setDocument):
6804         (WebInspector.ElementsPanel.prototype.searchCanceled):
6805         (WebInspector.ElementsPanel.prototype.performSearch):
6806         * inspector/front-end/ElementsTreeOutline.js:
6807         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
6808         * inspector/front-end/EventListenersSidebarPane.js:
6809         ():
6810         * inspector/front-end/InjectedScript.js:
6811         (InjectedScript.dispatch):
6812         (InjectedScript.toggleStyleEnabled):
6813         (InjectedScript._serializeRule):
6814         (InjectedScript._serializeStyle):
6815         (InjectedScript.getProperties):
6816         (InjectedScript.setPropertyValue):
6817         (InjectedScript._evaluateAndWrap):
6818         (InjectedScript.getCallFrames):
6819         (InjectedScript._inspectObject):
6820         (InjectedScript._ensureCommandLineAPIInstalled):
6821         (InjectedScript._resolveObject):
6822         (InjectedScript._window):
6823         (InjectedScript._objectForId):
6824         (InjectedScript.createProxyObject):
6825         (InjectedScript.executeSql):
6826         (InjectedScript.executeSql.errorCallback):
6827         (InjectedScript.executeSql.queryTransaction):
6828         (Object.type):
6829         (String.prototype.escapeCharacters):
6830         * inspector/front-end/InjectedScriptAccess.js:
6831         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
6832         (InjectedScriptAccess._installHandler):
6833         * inspector/front-end/MetricsSidebarPane.js:
6834         (WebInspector.MetricsSidebarPane):
6835         (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
6836         (WebInspector.MetricsSidebarPane.prototype.update):
6837         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
6838         * inspector/front-end/ObjectPropertiesSection.js:
6839         (WebInspector.ObjectPropertiesSection.prototype.update):
6840         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
6841         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
6842         * inspector/front-end/ObjectProxy.js:
6843         (WebInspector.ObjectProxy):
6844         (WebInspector.ObjectProxy.getPropertiesAsync):
6845         * inspector/front-end/PropertiesSidebarPane.js:
6846         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
6847         (WebInspector.PropertiesSidebarPane.prototype.update):
6848         * inspector/front-end/ResourcesPanel.js:
6849         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
6850         * inspector/front-end/ScriptsPanel.js:
6851         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
6852         * inspector/front-end/StylesSidebarPane.js:
6853         (WebInspector.StylesSidebarPane.prototype.update):
6854         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
6855         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
6856         (WebInspector.StylePropertyTreeElement.prototype):
6857         * inspector/front-end/WatchExpressionsSidebarPane.js:
6858         (WebInspector.WatchExpressionsSection.prototype.update):
6859         * inspector/front-end/inspector.js:
6860         (WebInspector.loaded):
6861         (WebInspector.pausedScript):
6862         (WebInspector.addConsoleMessage):
6863         (WebInspector.log.logMessage):
6864         (WebInspector.log):
6865
6866 2010-01-20  Steve Block  <steveblock@google.com>
6867
6868         Reviewed by David Levin.
6869
6870         Renames jni_runtime.[cpp|h] to JNIBridge.[cpp|h]
6871         https://bugs.webkit.org/show_bug.cgi?id=33899
6872
6873         No new tests, refactoring only.
6874
6875         * Android.jscbindings.mk: Modified. Removes jni_runtime.cpp and adds JNIBridge.cpp
6876         * GNUmakefile.am: Modified. Removes jni_runtime.h and adds JNIBridge.h
6877         * WebCore.xcodeproj/project.pbxproj: Modified. Removes jni_runtime.[cpp|h] and adds JNIBridge.[cpp|h]
6878         * bridge/jni/JNIBridge.cpp: Copied from WebCore/bridge/jni/jni_runtime.cpp.
6879         * bridge/jni/JNIBridge.h: Copied from WebCore/bridge/jni/jni_runtime.h.
6880         * bridge/jni/jni_jsobject.mm: Modified. Updated to include JNIBridge.h
6881         * bridge/jni/jni_runtime.cpp: Removed.
6882         * bridge/jni/jni_runtime.h: Removed.
6883         * bridge/jni/jsc/JNIUtilityPrivate.cpp: Modified. Updated to include JNIBridge.h
6884         * bridge/jni/jsc/JavaClassJSC.cpp: Modified. Removed superfluous include
6885         * bridge/jni/jsc/JavaClassJSC.h: Modified. Updated to include JNIBridge.h
6886         * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Updated to include JNIBridge.h
6887
6888 2010-01-20  Alexey Proskuryakov  <ap@apple.com>
6889
6890         Reviewed by Simon Fraser.
6891
6892         https://bugs.webkit.org/show_bug.cgi?id=33913
6893         Crash under Media::matchMedium in detached frame
6894
6895         Also took the opportunity to fix JS bindings for the Media object.
6896
6897         Test: fast/media/lifetime.html
6898
6899         * css/Media.h:
6900         (WebCore::Media::create): Take and store a Frame pointer, like other similar objects do.
6901         (WebCore::Media::disconnectFrame): Zero out the frame pointer (this is called from
6902         DOMWindow::clear()).
6903
6904         * css/Media.cpp:
6905         (WebCore::Media::Media): Updated to storing Frame pointer.
6906         (WebCore::Media::type): Ditto.
6907         (WebCore::Media::matchMedium): Removed null check for document element - every document has
6908         one. Also, every Frame has a document, so we only need to check for m_frame being zero.
6909
6910         * bindings/js/JSDOMWindowCustom.cpp:
6911         (WebCore::JSDOMWindow::markChildren):
6912         * page/DOMWindow.cpp:
6913         (WebCore::DOMWindow::clear):
6914         (WebCore::DOMWindow::media):
6915         * page/DOMWindow.h:
6916         (WebCore::DOMWindow::optionalMedia):
6917         Make sure there's only one Media object per window, and keep its wrapper alive.
6918
6919 2010-01-20  Steve Falkenburg  <sfalken@apple.com>
6920
6921         Reviewed by Darin Adler and Adam Roben.
6922
6923         Feature defines are difficult to maintain on Windows builds
6924         https://bugs.webkit.org/show_bug.cgi?id=33883
6925
6926         FeatureDefines.vsprops are now maintained in a way similar to
6927         Configurations/FeatureDefines.xcconfig, with the added advantage
6928         of having a single FeatureDefines file across all projects.
6929
6930         * Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync.
6931         * WebCore.vcproj/MigrateIDLAndScripts: Remove reference to file that no longer exists.
6932         * WebCore.vcproj/QTMovieWin.vcproj: Add FeatureDefines.vsprops inherited property sheet.
6933         * WebCore.vcproj/WebCore.vcproj: Add FeatureDefines.vsprops inherited property sheet.
6934         * WebCore.vcproj/WebCoreCommon.vsprops: Remove ENABLE_ preprocessor definitions.
6935         * WebCore.vcproj/WebCoreGenerated.vcproj: Added Cairo configuration for selecting proper features.
6936         * WebCore.vcproj/WebCoreMediaQT.vsprops: Remove ENABLE_VIDEO. This is picked up from FeatureDefines.vsprops.
6937         * WebCore.vcproj/build-generated-files.sh: Pick up features from FeatureDefines.vsprops or FeatureDefinesCairo.vsprops.
6938
6939 2010-01-20  Yury Semikhatsky  <yurys@chromium.org>
6940
6941         Reviewed by Pavel Feldman.
6942
6943         Inject inspector script directly into the inspected context. All the
6944         communication between the script and the frontend is serialized into
6945         JSON strings. It allows to get rid of object quarantines in Web Inspector.
6946
6947         https://bugs.webkit.org/show_bug.cgi?id=32554
6948
6949         Test: inspector/console-log-before-inspector-open.html
6950
6951         * bindings/js/JSInjectedScriptHostCustom.cpp:
6952         (WebCore::JSInjectedScriptHost::databaseForId):
6953         (WebCore::JSInjectedScriptHost::currentCallFrame):
6954         (WebCore::JSInjectedScriptHost::nodeForId):
6955         (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
6956         (WebCore::JSInjectedScriptHost::selectDatabase):
6957         (WebCore::JSInjectedScriptHost::selectDOMStorage):
6958         * bindings/js/ScriptCallStack.h:
6959         (WebCore::ScriptCallStack::state):
6960         * bindings/js/ScriptController.cpp:
6961         (WebCore::ScriptController::mainWorldScriptState):
6962         * bindings/js/ScriptController.h:
6963         * bindings/js/ScriptObject.h:
6964         (WebCore::ScriptObject::scriptState):
6965         * bindings/js/ScriptValue.cpp:
6966         * bindings/js/ScriptValue.h:
6967         * bindings/v8/ScriptObject.h:
6968         (WebCore::ScriptObject::scriptState):
6969         * bindings/v8/ScriptValue.h:
6970         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
6971         * inspector/ConsoleMessage.cpp:
6972         (WebCore::ConsoleMessage::ConsoleMessage):
6973         (WebCore::ConsoleMessage::addToConsole):
6974         (WebCore::ConsoleMessage::isEqual):
6975         * inspector/ConsoleMessage.h:
6976         * inspector/InjectedScriptHost.cpp:
6977         (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
6978         * inspector/InjectedScriptHost.h:
6979         * inspector/InjectedScriptHost.idl:
6980         * inspector/InspectorBackend.cpp:
6981         (WebCore::InspectorBackend::setInjectedScriptSource):
6982         (WebCore::InspectorBackend::dispatchOnInjectedScript):
6983         (WebCore::InspectorBackend::releaseWrapperObjectGroup):
6984         * inspector/InspectorBackend.h:
6985         * inspector/InspectorBackend.idl:
6986         * inspector/InspectorController.cpp:
6987         (WebCore::InspectorController::InspectorController):
6988         (WebCore::InspectorController::clearConsoleMessages):
6989         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
6990         (WebCore::InspectorController::windowScriptObjectAvailable):
6991         (WebCore::InspectorController::scriptObjectReady):
6992         (WebCore::InspectorController::setFrontendProxyObject):
6993         (WebCore::InspectorController::close):
6994         (WebCore::InspectorController::resetScriptObjects):
6995         (WebCore::InspectorController::didPause):
6996         (WebCore::InspectorController::injectedScriptForNodeId):
6997         * inspector/InspectorController.h:
6998         * inspector/InspectorFrontend.cpp:
6999         (WebCore::InspectorFrontend::addConsoleMessage):
7000         (WebCore::InspectorFrontend::pausedScript):
7001         * inspector/InspectorFrontend.h:
7002         * inspector/front-end/AuditsPanel.js:
7003         (WebInspector.AuditsPanel.prototype._reloadResources):
7004         * inspector/front-end/ConsoleView.js:
7005         (WebInspector.ConsoleView.prototype.requestClearMessages):
7006         (WebInspector.ConsoleView.prototype.doEvalInWindow):
7007         * inspector/front-end/DOMAgent.js:
7008         (WebInspector.DOMNode):
7009         (WebInspector.CSSStyleDeclaration):
7010         (WebInspector.CSSStyleDeclaration.parseRule):
7011         * inspector/front-end/Database.js:
7012         (WebInspector.Database.prototype.executeSql):
7013         * inspector/front-end/ElementsPanel.js:
7014         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode):
7015         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
7016         (WebInspector.ElementsPanel.prototype.setDocument):
7017         (WebInspector.ElementsPanel.prototype.searchCanceled):
7018         (WebInspector.ElementsPanel.prototype.performSearch):
7019         * inspector/front-end/ElementsTreeOutline.js:
7020         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
7021         * inspector/front-end/EventListenersSidebarPane.js:
7022         ():
7023         * inspector/front-end/InjectedScript.js:
7024         (injectedScriptConstructor):
7025         (injectedScriptConstructor.):
7026         * inspector/front-end/InjectedScriptAccess.js:
7027         (InjectedScriptAccess):
7028         (InjectedScriptAccess.getDefault):
7029         (get InjectedScriptAccess):
7030         (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
7031         (InjectedScriptAccess._installHandler):
7032         * inspector/front-end/MetricsSidebarPane.js:
7033         (WebInspector.MetricsSidebarPane):
7034         (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
7035         * inspector/front-end/ObjectPropertiesSection.js:
7036         * inspector/front-end/ObjectProxy.js:
7037         (WebInspector.ObjectProxy):
7038         * inspector/front-end/PropertiesSidebarPane.js:
7039         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
7040         * inspector/front-end/ResourcesPanel.js:
7041         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
7042         * inspector/front-end/ScriptsPanel.js:
7043         * inspector/front-end/StylesSidebarPane.js:
7044         (WebInspector.StylePropertyTreeElement.prototype):
7045         * inspector/front-end/WatchExpressionsSidebarPane.js:
7046         (WebInspector.WatchExpressionsSection.prototype.update):
7047         * inspector/front-end/inspector.js:
7048         (WebInspector.loaded):
7049         (WebInspector.pausedScript):
7050         (WebInspector.addConsoleMessage):
7051         (WebInspector.log.logMessage):
7052         (WebInspector.log):
7053
7054 2010-01-20  Kent Tamura  <tkent@chromium.org>
7055
7056         Reviewed by Darin Adler.
7057
7058         HTMLInputElement::valueAsDate setter support for type=time.
7059         https://bugs.webkit.org/show_bug.cgi?id=33825
7060
7061         Introduce ISODateTime::setMillisecondsSinceMidnight() and add a
7062         SecondFormat parameter to ISODateTime::toString(). The main code
7063         logic for type=time is implemented in
7064         setMillisecondsSinceMidnightInternal() and toStringForTime()
7065         because the logic is going to be used for other types.
7066
7067         * html/HTMLInputElement.cpp:
7068         (WebCore::HTMLInputElement::setValueAsDate):
7069         * html/ISODateTime.cpp:
7070         (WebCore::positiveFmod):
7071         (WebCore::ISODateTime::setMillisecondsSinceMidnightInternal):
7072         (WebCore::ISODateTime::setMillisecondsSinceMidnight):
7073         (WebCore::ISODateTime::toStringForTime):
7074         (WebCore::ISODateTime::toString):
7075         * html/ISODateTime.h:
7076         (WebCore::ISODateTime::):
7077
7078 2010-01-20  Csaba Osztrogonác  <ossy@webkit.org>
7079
7080         [Qt] Unreviewed buildfix for r53547.
7081
7082         * WebCore.pri:
7083
7084 2010-01-20  Ben Murdoch  <benm@google.com>
7085
7086         Reviewed by Simon Hausmann.
7087
7088         The touchcancel event is not supported.
7089         https://bugs.webkit.org/show_bug.cgi?id=33598
7090
7091         This change adds support for the touchcancel event in WebCore and adds a test.
7092
7093         Test: fast/events/touch/send-oncancel-event.html
7094
7095         * bindings/js/ScriptController.cpp:
7096         (WebCore::ScriptController::processingUserGestureEvent): Considers touchcancel with the other touch events when working out if the event is a user gesture.
7097         * dom/Document.cpp:
7098         (WebCore::Document::addListenerTypeIfNeeded): Adds a check to consider ontouchcancel a touch event listener.
7099         * dom/Document.h: Add the touchcancel attribute event listener.
7100         * dom/Document.idl: ditto.
7101         * dom/Element.h: ditto.
7102         * dom/Element.idl: ditto.
7103         * dom/EventNames.h: Adds touchcancel as an event name.
7104         * html/HTMLAttributeNames.in:Adds touchcancel as an HTML attribute name.
7105         * html/HTMLElement.cpp:
7106         (WebCore::HTMLElement::parseMappedAttribute): Parses the ontouchcancel attribute.
7107         * page/DOMWindow.h: Adds the touchcancel attribute event listener.
7108         * page/DOMWindow.idl: ditto.
7109         * page/EventHandler.cpp:
7110         (WebCore::EventHandler::handleTouchEvent): Add code to detect and dispatch touchcancel events.
7111         * platform/PlatformTouchEvent.h:
7112         (WebCore::): Add TouchCancel as a touch event type.
7113         * platform/PlatformTouchPoint.h:
7114         (WebCore::PlatformTouchPoint::): Add TouchCanceled as a touch point state.
7115
7116 2010-01-20  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
7117
7118         Reviewed by Simon Hausmann.
7119
7120         [Qt] Make extraCompilers for generated sources depend on their scripts
7121
7122         * DerivedSources.pro:
7123         * WebCore.pri:
7124
7125 2010-01-20  Kent Tamura  <tkent@chromium.org>
7126
7127         Reviewed by Adam Barth.
7128
7129         [Chromium][V8] Fix null pointer dereference in V8Proxy::retrieve().
7130         https://bugs.webkit.org/show_bug.cgi?id=33886
7131
7132         This is equivalent to r53433, and fix a crash by
7133         LayoutTests/http/tests/appcache/destroyed-iframe.html.
7134
7135         * bindings/v8/V8Proxy.cpp:
7136         (WebCore::V8Proxy::retrieve): Check if context is null.
7137
7138 2010-01-20  Alexander Pavlov  <apavlov@chromium.org>
7139
7140         Reviewed by Timothy Hatcher.
7141
7142         Optimize resize event handling for hidden views
7143         https://bugs.webkit.org/show_bug.cgi?id=33803
7144
7145         * inspector/front-end/AbstractTimelinePanel.js:
7146         (WebInspector.AbstractTimelinePanel.prototype.resize):
7147         (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth):
7148         * inspector/front-end/AuditsPanel.js:
7149         * inspector/front-end/Panel.js:
7150         (WebInspector.Panel.prototype.updateSidebarWidth):
7151         (WebInspector.Panel.prototype.resize):
7152         * inspector/front-end/PanelEnablerView.js:
7153         (WebInspector.PanelEnablerView):
7154         (WebInspector.PanelEnablerView.prototype.show):
7155         (WebInspector.PanelEnablerView.prototype.resize):
7156         * inspector/front-end/ProfilesPanel.js:
7157         (WebInspector.ProfilesPanel.prototype.show):
7158         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
7159         (WebInspector.ProfilesPanel.prototype.showProfile):
7160         (WebInspector.ProfilesPanel.prototype.showView):
7161         (WebInspector.ProfilesPanel.prototype.closeVisibleView):
7162         (WebInspector.ProfilesPanel.prototype._updateInterface):
7163         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
7164         * inspector/front-end/ResourcesPanel.js:
7165         (WebInspector.ResourcesPanel.prototype.show):
7166         (WebInspector.ResourcesPanel.prototype.get visibleView):
7167         (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
7168         * inspector/front-end/Settings.js:
7169         * inspector/front-end/StoragePanel.js:
7170         (WebInspector.StoragePanel.prototype.updateMainViewWidth):
7171         * inspector/front-end/WelcomeView.js:
7172         (WebInspector.WelcomeView):
7173         (WebInspector.WelcomeView.prototype.show):
7174         (WebInspector.WelcomeView.prototype.resize):
7175         * inspector/front-end/inspector.css:
7176         * inspector/front-end/inspector.js:
7177         (WebInspector.windowResize):
7178
7179 2010-01-20  Steve Block  <steveblock@google.com>
7180
7181         Reviewed by David Levin.
7182
7183         Fixes style in WebCore/bridge/Bridge
7184         https://bugs.webkit.org/show_bug.cgi?id=33839
7185
7186         No new tests, style fixes only.
7187
7188         * bridge/Bridge.cpp: Modified.
7189         * bridge/Bridge.h: Modified.
7190         * bridge/c/c_instance.cpp: Modified.
7191         (JSC::Bindings::CInstance::invokeMethod): Modified. Use renamed m_rootObject member
7192         (JSC::Bindings::CInstance::invokeDefaultMethod): Modified. Use renamed m_rootObject member
7193         (JSC::Bindings::CInstance::invokeConstruct): Modified. Use renamed m_rootObject member
7194         * bridge/jni/jni_runtime.cpp: Modified.
7195         (JavaArray::JavaArray): Modified. Use renamed m_rootObject member
7196         (JavaArray::rootObject): Modified. Use renamed m_rootObject member
7197         * bridge/objc/objc_instance.mm: Modified.
7198         (ObjcInstance::invokeMethod): Modified. Use renamed m_rootObject member
7199         (ObjcInstance::invokeDefaultMethod): Modified. Use renamed m_rootObject member
7200         (ObjcInstance::getValueOfUndefinedField): Modified. Use renamed m_rootObject member
7201         * bridge/objc/objc_runtime.mm: Modified.
7202         (JSC::Bindings::ObjcArray::valueAt): Modified. Use renamed m_rootObject member
7203         * bridge/qt/qt_runtime.cpp: Modified.
7204         (JSC::Bindings::::rootObject): Modified. Use renamed m_rootObject member
7205
7206 2010-01-20  Daniel Bates  <dbates@webkit.org>
7207
7208         Reviewed by Eric Seidel.
7209
7210         https://bugs.webkit.org/show_bug.cgi?id=33885
7211
7212         Fixes style errors exposed by the style bot in the patch
7213         for bug #33770. Moreover, fixes all style errors reported
7214         by check-webkit-style.
7215
7216         No functionality was changed. So, no new tests.
7217
7218         * bindings/js/JSWebGLRenderingContextCustom.cpp:
7219         (WebCore::dataFunctionf):
7220         (WebCore::dataFunctioni):
7221         (WebCore::dataFunctionMatrix):
7222
7223 2010-01-19  Steve Block  <steveblock@google.com>
7224
7225         Reviewed by David Levin.
7226
7227         Fixes style in WebCore/bridge/JNIUtility
7228         https://bugs.webkit.org/show_bug.cgi?id=33870
7229
7230         No new tests, style fixes only.
7231
7232         * bridge/jni/JNIUtility.cpp:
7233         * bridge/jni/JNIUtility.h:
7234
7235 2010-01-20  Simon Hausmann  <simon.hausmann@nokia.com>
7236
7237         Reviewed by Tor Arne Vestbø.
7238
7239         On Linux link QtWebKit with -no-undefined to catch build breakages due to missing
7240         files in the .pro file, resulting in unresolved symbols.
7241
7242         * WebCore.pro:
7243
7244 2010-01-20  Simon Hausmann  <simon.hausmann@nokia.com>
7245
7246         Reviewed by Tor Arne Vestbø.
7247
7248         [Qt] Make it possible to link with -no-undefined.
7249
7250         * WebCore.pro: Add missing explicit dependency to libXrender due to the
7251         use of XRenderFindVisualFormat in the X11 plugin code.
7252
7253 2010-01-20  Simon Hausmann  <simon.hausmann@nokia.com>
7254
7255         Reviewed by Tor Arne Vestbø.
7256
7257         Add missing files to the build.
7258
7259         * WebCore.pro:
7260
7261 2010-01-20  Shinichiro Hamaji  <hamaji@chromium.org>
7262
7263         Reviewed by Darin Fisher.
7264
7265         [Chromium] computePageRectsForFrame seems to be unnecessary
7266         https://bugs.webkit.org/show_bug.cgi?id=33881
7267
7268         * WebCore.gypi: Removed FrameChromium.h
7269         * page/chromium/FrameChromium.cpp: Removed computePageRectsForFrame.
7270         * page/chromium/FrameChromium.h: Removed.
7271
7272 2010-01-20  Roland Steiner  <rolandsteiner@chromium.org>
7273
7274         Reviewed by Dan Bernstein.
7275
7276         Bug 33266 - WebCore::InlineFlowBox::determineSpacingForFlowBoxes ReadAV@NULL (43c64e8abbda6766e5f5edbd254c2d57)
7277         (https://bugs.webkit.org/show_bug.cgi?id=33266)
7278         
7279         Ruby did not handle malformed cases correctly when the ruby base was in
7280         block flow. Changed the code to handle all possible cases.
7281         Also, added some simplification methods to RenderBlock.
7282
7283         Tests: fast/ruby/ruby-illegal-1.html
7284                fast/ruby/ruby-illegal-2.html
7285                fast/ruby/ruby-illegal-3.html
7286                fast/ruby/ruby-illegal-4.html
7287                fast/ruby/ruby-illegal-5.html
7288                fast/ruby/ruby-illegal-6.html
7289                fast/ruby/ruby-illegal-7.html
7290                fast/ruby/ruby-illegal-combined.html
7291                fast/ruby/rubyDOM-insert-rt-block-1.html
7292                fast/ruby/rubyDOM-insert-rt-block-2.html
7293                fast/ruby/rubyDOM-insert-rt-block-3.html
7294                fast/ruby/rubyDOM-remove-rt-block-1.html
7295                fast/ruby/rubyDOM-remove-rt-block-2.html
7296                fast/ruby/rubyDOM-remove-rt-block-3.html
7297
7298         * rendering/RenderBlock.cpp:
7299         (WebCore::RenderBlock::moveAllChildrenTo): useful for anonymous block manipulation
7300         (WebCore::RenderBlock::removeChild): making use of moveAllChildrenTo
7301         * rendering/RenderBlock.h:
7302         * rendering/RenderRubyBase.cpp:
7303         (WebCore::RenderRubyBase::hasOnlyWrappedInlineChildren):
7304         (WebCore::RenderRubyBase::moveChildren):
7305         (WebCore::RenderRubyBase::moveInlineChildren):
7306         (WebCore::RenderRubyBase::moveBlockChildren):
7307         (WebCore::RenderRubyBase::mergeBlockChildren):
7308         * rendering/RenderRubyBase.h:
7309         * rendering/RenderRubyRun.cpp:
7310         (WebCore::RenderRubyRun::addChild):
7311         (WebCore::RenderRubyRun::removeChild):
7312
7313 2010-01-19  Dan Bernstein  <mitz@apple.com>
7314
7315         Build fix after r53514
7316
7317         * WebCore.base.exp: Removed threadGlobalData(), which was inlined in r53514.
7318
7319 2010-01-19  Simon Fraser  <simon.fraser@apple.com>
7320
7321         Reviewed by Dan Bernstein.
7322
7323         Avoid calling NSEqualRects() on the garbage rect obtained
7324         by calling -frame on a null view.
7325
7326         * platform/mac/WidgetMac.mm:
7327         (WebCore::Widget::setFrameRect):
7328
7329 2010-01-19  Maciej Stachowiak  <mjs@apple.com>
7330
7331         Unreviewed build fix.
7332
7333         Remove currentWorld from the exports file again, since it is now inline.
7334
7335         * WebCore.base.exp:
7336
7337 2010-01-19  Brian Weinstein  <bweinstein@apple.com>
7338
7339         Reviewed by Tim Hatcher.
7340
7341         Part of <http://webkit.org/b/28622>.
7342         Caught exceptions still pause the debugger.
7343         
7344         Update JavaScriptDebugServer::exception to take a hasHandler parameter,
7345         so later we can differentiate between a caught and an uncaught exception.
7346         
7347         This just adds a new parameter, no behavior is changed.
7348
7349         No change in functionality, so no tests.
7350
7351         * inspector/JavaScriptDebugServer.cpp:
7352         (WebCore::JavaScriptDebugServer::exception):
7353         * inspector/JavaScriptDebugServer.h:
7354
7355 2010-01-18  Maciej Stachowiak  <mjs@apple.com>
7356
7357         Reviewed by Adam Barth.
7358
7359         Inline functions that are hot in DOM manipulation
7360         https://bugs.webkit.org/show_bug.cgi?id=33820
7361
7362         (3% speedup on Dromaeo DOM Core tests)
7363
7364         * bindings/js/JSDOMBinding.h:
7365         (WebCore::currentWorld): Inlined.
7366         (WebCore::jsString): Inlined String& overload and split off slow case.
7367         * bindings/js/JSDOMBinding.cpp:
7368         (WebCore::jsStringSlowCase): Slow case for the above.
7369         * dom/Document.h:
7370         (WebCore::Document::isHTMLDocument): Use a bit and an inline method
7371         instead of a virtual method, since this is so hot and size of Document
7372         is not a prime concern.
7373         (WebCore::Document::create): Adapt for above.
7374         (WebCore::Document::createXHTML): ditto
7375         * dom/Document.cpp:
7376         (WebCore::Document::Document): ditto
7377         * html/HTMLDocument.cpp:
7378         (WebCore::HTMLDocument::HTMLDocument): ditto
7379         * html/HTMLDocument.h: ditto
7380         * loader/PlaceholderDocument.h:
7381         (WebCore::PlaceholderDocument::PlaceholderDocument): ditto
7382         * svg/SVGDocument.cpp:
7383         (WebCore::SVGDocument::SVGDocument): ditto
7384         * dom/Element.h:
7385         (WebCore::Element::attributes): Inlined.
7386         (WebCore::Element::updateId): Inlined.
7387         * dom/Element.cpp: (Remove inlined methods.)
7388         * dom/NamedAttrMap.h:
7389         (WebCore::NamedNodeMap::getAttributeItem): Inlined and split off slow case.
7390         * dom/NamedAttrMap.cpp:
7391         (WebCore::NamedNodeMap::getAttributeItemSlowCase): Slow case for the above.
7392         * inspector/InspectorController.cpp:
7393         * inspector/InspectorController.h:
7394         (WebCore::InspectorController::didInsertDOMNode): Inlined so the fast case
7395         early exit doesn't incur a function call.
7396         (WebCore::InspectorController::didRemoveDOMNode): ditto
7397         (WebCore::InspectorController::didModifyDOMAttr): ditto
7398         * platform/ThreadGlobalData.h:
7399         (WebCore::threadGlobalData): Inlined.
7400         * platform/ThreadGlobalData.cpp: (Removed inline methods).
7401         * platform/Timer.h:
7402         (WebCore::TimerBase::isActive): Inlined.
7403         * platform/Timer.cpp: (Removed inline methods).
7404         * WebCore.xcodeproj/project.pbxproj: Install new heares.
7405         * WebCore.base.exp: Add appropriate exports.
7406
7407 2010-01-19  Jon Honeycutt  <jhoneycutt@apple.com>
7408
7409         Chromium build fix.
7410
7411         * accessibility/chromium/AccessibilityObjectChromium.cpp:
7412         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
7413         Call correct function.
7414
7415 2010-01-17  Jon Honeycutt  <jhoneycutt@apple.com>
7416
7417         MSAA: The child <option> elements of a non-multiple <select> are not
7418         exposed
7419
7420         https://bugs.webkit.org/show_bug.cgi?id=33773
7421         <rdar://problem/7550556>
7422
7423         Reviewed by Alice Liu.
7424
7425         This exposes the child <option> elements in a format similar to
7426         Firefox's: the <select> element has one child, a hidden list object,
7427         and this list has as its children the <option> elements.
7428
7429         * GNUmakefile.am:
7430         * WebCore.gypi:
7431         * WebCore.vcproj/WebCore.vcproj:
7432         * WebCore.xcodeproj/project.pbxproj:
7433         Add new files to project.
7434
7435         * accessibility/AXObjectCache.cpp:
7436         (WebCore::AXObjectCache::getOrCreate):
7437         If the element is a RenderMenuList, create an AccessibilityMenuList.
7438         (WebCore::AXObjectCache::getOrCreate):
7439         Add new types to create by role value.
7440
7441         * accessibility/AccessibilityMenuList.cpp: Added.
7442         (WebCore::AccessibilityMenuList::AccessibilityMenuList):
7443         Call the base class constructor. Assert that the RenderObject passed
7444         is a RenderMenuList.
7445         (WebCore::AccessibilityMenuList::press):
7446         Show or hide the popup menu.
7447         (WebCore::AccessibilityMenuList::addChildren):
7448         Create an AccessibilityMenuListPopup. If the platform ignores its
7449         accessibility, remove it from the object cache and return early.
7450         Otherwise, set its parent object to this object, add it to our list of
7451         children, and tell it to add its children.
7452         (WebCore::AccessibilityMenuList::childrenChanged):
7453         Tell our child hidden list that its children changed.
7454         (WebCore::AccessibilityMenuList::isCollapsed):
7455         Return whether the popup menu is visible.
7456
7457         * accessibility/AccessibilityMenuList.h: Added.
7458         (WebCore::AccessibilityMenuList::create):
7459         Adopt and return a new RenderMenuList.
7460         (WebCore::AccessibilityMenuList::isMenuList):
7461         (WebCore::AccessibilityMenuList::roleValue):
7462         (WebCore::AccessibilityMenuList::accessibilityIsIgnored):
7463         (WebCore::AccessibilityMenuList::canSetFocusAttribute):
7464
7465         * accessibility/AccessibilityMenuListOption.cpp: Added.
7466         (WebCore::AccessibilityMenuListOption::AccessibilityMenuListOption):
7467         Initialize the pointer to our parent popup menu.
7468         (WebCore::AccessibilityMenuListOption::setElement):
7469         Assert that the element is an <option> element.
7470         (WebCore::AccessibilityMenuListOption::actionElement):
7471         Return our element.
7472         (WebCore::AccessibilityMenuListOption::parentObject):
7473         Return our parent popup menu.
7474         (WebCore::AccessibilityMenuListOption::isEnabled):
7475         Return true if the element itself is enabled.
7476         (WebCore::AccessibilityMenuListOption::isVisible):
7477         Return true if the popup is visible, or return true if the popup is
7478         collapsed but the element is selected.
7479         (WebCore::AccessibilityMenuListOption::isOffScreen):
7480         Return true if the object is invisible.
7481         (WebCore::AccessibilityMenuListOption::isSelected):
7482         (WebCore::AccessibilityMenuListOption::setSelected):
7483         (WebCore::AccessibilityMenuListOption::nameForMSAA):
7484         Return the <option> element's text.
7485         (WebCore::AccessibilityMenuListOption::canSetSelectedAttribute):
7486         Return true if enabled.
7487         (WebCore::AccessibilityMenuListOption::elementRect):
7488         Return the AccessibilityMenuList's rect.
7489
7490         * accessibility/AccessibilityMenuListOption.h: Added.
7491         (WebCore::AccessibilityMenuListOption::create):
7492         Adopt and return a new AccessibilityMenuListOption.
7493         (WebCore::AccessibilityMenuListOption::setParent):
7494         (WebCore::AccessibilityMenuListOption::isMenuListOption):
7495         (WebCore::AccessibilityMenuListOption::roleValue):
7496         (WebCore::AccessibilityMenuListOption::canHaveChildren):
7497         (WebCore::AccessibilityMenuListOption::size):
7498
7499         * accessibility/AccessibilityMenuListPopup.cpp: Added.
7500         (WebCore::AccessibilityMenuListPopup::AccessibilityMenuListPopup):
7501         Initialize the pointer to our parent list.
7502         (WebCore::AccessibilityMenuListPopup::isVisible):
7503         Return false; we're never considered visible.
7504         (WebCore::AccessibilityMenuListPopup::isOffScreen):
7505         Return true if the popup is collapsed.
7506         (WebCore::AccessibilityMenuListPopup::parentObject):
7507         Return our parent AccessibilityMenuList.
7508         (WebCore::AccessibilityMenuListPopup::isEnabled):
7509         Return true if our parent is enabled.
7510         (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
7511         If the element is an <option> element, create a list item for it, and
7512         set the object's element to this element.
7513         (WebCore::AccessibilityMenuListPopup::press):
7514         Call our parent's press() function to show or hide the popup menu.
7515         (WebCore::AccessibilityMenuListPopup::addChildren):
7516         Walk the select element's children, and create list items for them. Add
7517         them to our list of children.
7518         (WebCore::AccessibilityMenuListPopup::childrenChanged):
7519         If any of our children have been detached from the document, remove
7520         them from the AXObjectCache and from our child list.
7521         (WebCore::AccessibilityMenuListPopup::setMenuList):
7522
7523         * accessibility/AccessibilityMenuListPopup.h: Added.
7524         (WebCore::AccessibilityMenuListPopup::create):
7525         Adopt and return an AccessibilityMenuListPopup.
7526         (WebCore::AccessibilityMenuListPopup::isMenuListPopup):
7527         (WebCore::AccessibilityMenuListPopup::elementRect):
7528         (WebCore::AccessibilityMenuListPopup::size):
7529         (WebCore::AccessibilityMenuListPopup::roleValue):
7530
7531         * accessibility/AccessibilityObject.cpp:
7532         (WebCore::AccessibilityObject::actionVerb):
7533         Add the menuListAction and menuListPopupAction verbs.
7534
7535         * accessibility/AccessibilityObject.h:
7536         (WebCore::):
7537         Add new roles.
7538         (WebCore::AccessibilityObject::isMenuList):
7539         Stubbed.
7540         (WebCore::AccessibilityObject::isMenuListHiddenList):
7541         Stubbed.
7542         (WebCore::AccessibilityObject::isMenuListOption):
7543         Stubbed.
7544         (WebCore::AccessibilityObject::isVisible):
7545         Stubbed.
7546
7547         * accessibility/chromium/AccessibilityObjectChromium.cpp:
7548         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
7549         Ignore the new object type.
7550
7551         * accessibility/gtk/AccessibilityObjectAtk.cpp:
7552         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
7553         Ditto.
7554
7555         * accessibility/mac/AccessibilityObjectMac.mm:
7556         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
7557         Ditto.
7558
7559         * accessibility/qt/AccessibilityObjectQt.cpp:
7560         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
7561         Ditto.
7562
7563         * accessibility/win/AccessibilityObjectWin.cpp:
7564         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
7565         Allow the new object types.
7566
7567         * accessibility/wx/AccessibilityObjectWx.cpp:
7568         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
7569         Ignore the new object type.
7570
7571         * accessibility/win/AccessibilityObjectWin.cpp:
7572         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
7573         If the object is an AccessibilityMenuListHiddenList or
7574         AccessibilityMenuListOption, include it.
7575
7576         * html/HTMLOptionElement.cpp:
7577         (WebCore::HTMLOptionElement::disabled):
7578         Call ownElementDisabled().
7579
7580         * html/HTMLOptionElement.h:
7581         (WebCore::HTMLOptionElement::ownElementDisabled):
7582         Return the base class implementation of disabled, which returns
7583         whether this <option> itself is disabled.
7584
7585         * platform/LocalizedStrings.h:
7586         Declare new localized string functions.
7587
7588         * platform/gtk/LocalizedStringsGtk.cpp:
7589         (WebCore::AXMenuListPopupActionVerb):
7590         Stubbed.
7591         (WebCore::AXMenuListActionVerb):
7592         Stubbed.
7593
7594         * platform/haiku/LocalizedStringsHaiku.cpp:
7595         (WebCore::AXMenuListPopupActionVerb):
7596         Stubbed.
7597         (WebCore::AXMenuListActionVerb):
7598         Stubbed.
7599
7600         * platform/mac/LocalizedStringsMac.mm:
7601         (WebCore::AXMenuListPopupActionVerb):
7602         Call the view factory's method.
7603         (WebCore::AXMenuListActionVerb):
7604         Ditto.
7605
7606         * platform/qt/Localizations.cpp:
7607         (WebCore::AXMenuListPopupActionVerb):
7608         Stubbed.
7609         (WebCore::AXMenuListActionVerb):
7610         Stubbed.
7611
7612         * platform/wx/LocalizedStringsWx.cpp:
7613         (WebCore::AXMenuListPopupActionVerb):
7614         Stubbed.
7615         (WebCore::AXMenuListActionVerb):
7616         Stubbed.
7617
7618 2010-01-19  Simon Fraser  <simon.fraser@apple.com>
7619
7620         Reviewed by Dan Bernstein.
7621
7622         Support reflections on WebGL
7623         https://bugs.webkit.org/show_bug.cgi?id=33754
7624
7625         Support reflections of WebGL content, by ensuring that when the Canvas3DLayer containing the
7626         WebGL content gets displayed, we correctly copy its content to the clone layers.
7627         
7628         Test: compositing/webgl/webgl-reflection.html
7629
7630         * platform/graphics/GraphicsLayer.h:
7631         (WebCore::GraphicsLayer::didDisplay): Give the didDisplay() client method a parameter
7632         which is the layer that displayed.
7633         * platform/graphics/mac/Canvas3DLayer.mm:
7634         (-[Canvas3DLayer display]): Override -[CALayer display], and call the client didDisplay().
7635         * platform/graphics/mac/GraphicsLayerCA.h: didDisplay() takes a PlatformLayer parameter.
7636
7637         * platform/graphics/mac/GraphicsLayerCA.mm:
7638         (WebCore::GraphicsLayerCA::~GraphicsLayerCA): We need to clear the layer owner on the content
7639         layer, since we're setting it for WebGL layers now.
7640         
7641         (WebCore::GraphicsLayerCA::didDisplay): Handle didDisplay() calls for the content layer,
7642         as well as the main layer now, getting the correct layer to copy contents from, and using
7643         the correct clone map.
7644         
7645         (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): Set the layer owner for WebGL
7646         layers, because we need the didDisplay() callback.
7647
7648         * platform/graphics/mac/WebLayer.mm:
7649         (-[WebLayer display]): didDisplay() takes a layer argument.
7650         * platform/graphics/mac/WebTiledLayer.mm:
7651         (-[WebTiledLayer display]): ditto.
7652
7653 2010-01-19  Mark Rowe  <mrowe@apple.com>
7654
7655         Reviewed by Oliver Hunt.
7656
7657         <rdar://problem/7555330> <http://webkit.org/b/33770> dataFunctionMatrix leaks the array allocated by toArray
7658
7659         Rework toArray to extract elements in to a vector rather than handing out raw pointers.  This prevents
7660         callers from forgetting to free the memory, and gives them the option of using stack buffers for
7661         sufficiently small allocations.
7662
7663         * bindings/js/JSWebGLRenderingContextCustom.cpp:
7664         (WebCore::JSWebGLRenderingContext::texSubImage2D):
7665         (WebCore::toVector):
7666         (WebCore::dataFunctionf):
7667         (WebCore::dataFunctioni):
7668         (WebCore::dataFunctionMatrix):
7669
7670 2010-01-19  Carol Szabo  <carol.szabo@nokia.com>
7671
7672         Reviewed by Darin Adler.
7673
7674         Another crazy counters bug
7675         https://bugs.webkit.org/show_bug.cgi?id=11031
7676
7677         This patch actually provides for counter updating when the style
7678         of a renderer changes.
7679
7680         Tests: fast/css/counters/counter-increment-002.html
7681                fast/css/counters/counter-reset-000.html
7682                fast/css/counters/counter-reset-002.html
7683
7684         * rendering/RenderCounter.cpp:
7685         (WebCore::RenderCounter::rendererStyleChanged):
7686         This function is added to update the counter hierarchy in 
7687         response to changes to the style of a renderer.
7688         * rendering/RenderCounter.h:
7689         * rendering/RenderObject.cpp:
7690         (WebCore::RenderObject::styleDidChange):
7691         For changes that may include the counter directives added a
7692         call to RenderCounter::rendererStyleChanged.
7693
7694 2010-01-19  Gustavo Noronha Silva  <gns@gnome.org>
7695
7696         Unreviewed. Build fixes for make distcheck - missing files.
7697
7698         * GNUmakefile.am:
7699
7700 2010-01-19  Alexey Proskuryakov  <ap@apple.com>
7701
7702         Reviewed by Oliver Hunt.
7703
7704         https://bugs.webkit.org/show_bug.cgi?id=33850
7705         Attr.childNodes does not get updated after DOM mutations
7706
7707         Test: fast/dom/Attr/child-nodes-cache.html
7708
7709         * dom/Node.cpp: (WebCore::Node::notifyLocalNodeListsAttributeChanged): If the node is an
7710         attribute, then changing it shouldn't take the shortcut that only resets a subset of caches.
7711
7712 2010-01-19  John Sullivan  <sullivan@apple.com>
7713
7714         https://bugs.webkit.org/show_bug.cgi?id=33854
7715         Would like a variant of WebHTMLRepresentation's searchForLabelsBeforeElement that returns 
7716         more info about where the result was found
7717
7718         Reviewed by Darin Adler.
7719
7720         No new tests. This just adds a couple of out parameters for the benefit of WebKit clients.
7721
7722         * WebCore.base.exp:
7723         Updated mangled signature for export.
7724
7725         * page/Frame.cpp:
7726         (WebCore::Frame::searchForLabelsAboveCell):
7727         Now fills in an out parameter with the number of characters from the start of the cell.
7728         (WebCore::Frame::searchForLabelsBeforeElement):
7729         Now fills in an out parameter with the distance as a number of characters, and another
7730         with a bool for whether the result was in a table cell above the current cell (otherwise
7731         it was found in the text before this element and after the previous element or start of form).
7732
7733         * page/Frame.h:
7734         Updated signatures.
7735
7736         * page/mac/FrameMac.mm:
7737         (WebCore::Frame::searchForNSLabelsAboveCell):
7738         Same as above. This is a parallel copy of the function using Mac-specific data structures.
7739         (WebCore::Frame::searchForLabelsBeforeElement):
7740         Ditto
7741
7742 2010-01-19  Jakob Petsovits  <jpetsovits@rim.com>
7743
7744         Reviewed by Nikolas Zimmermann.
7745
7746         [OpenVG] Add (EGL) surface/context management
7747         https://bugs.webkit.org/show_bug.cgi?id=33403
7748
7749         The foundations for a new OpenVG port.
7750
7751         OpenVG is not tied to EGL per se, EGL just happens to be
7752         the only usable backend for OpenVG state and painting
7753         at the time of writing.
7754
7755         The purpose of the SurfaceOpenVG class is to provide
7756         an EGL-independent interface for OpenVG-specific code.
7757         The EGLDisplayOpenVG class takes care of keeping track
7758         of EGL displays, surfaces and contexts. It also makes
7759         sure that all created contexts are interoperable, and
7760         that different surfaces use a single context if possible.
7761
7762         * platform/graphics/openvg/EGLDisplayOpenVG.cpp: Added.
7763         (WebCore::displayManagers):
7764         (WebCore::EGLDisplayOpenVG::currentSurface):
7765         (WebCore::EGLDisplayOpenVG::registerPlatformSurface):
7766         (WebCore::EGLDisplayOpenVG::unregisterPlatformSurface):
7767         (WebCore::EGLDisplayOpenVG::setCurrentDisplay):
7768         (WebCore::EGLDisplayOpenVG::current):
7769         (WebCore::EGLDisplayOpenVG::forDisplay):
7770         (WebCore::EGLDisplayOpenVG::EGLDisplayOpenVG):
7771         (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG):
7772         (WebCore::EGLDisplayOpenVG::setDefaultPbufferConfig):
7773         (WebCore::EGLDisplayOpenVG::defaultPbufferConfig):
7774         (WebCore::EGLDisplayOpenVG::setDefaultWindowConfig):
7775         (WebCore::EGLDisplayOpenVG::defaultWindowConfig):
7776         (WebCore::EGLDisplayOpenVG::sharedPlatformSurface):
7777         (WebCore::EGLDisplayOpenVG::createPbufferSurface):
7778         (WebCore::EGLDisplayOpenVG::surfaceForWindow):
7779         (WebCore::EGLDisplayOpenVG::surfacesCompatible):
7780         (WebCore::EGLDisplayOpenVG::destroySurface):
7781         (WebCore::EGLDisplayOpenVG::contextForSurface):
7782         * platform/graphics/openvg/EGLDisplayOpenVG.h: Added.
7783         (WebCore::EGLDisplayOpenVG::display):
7784         * platform/graphics/openvg/EGLUtils.h: Added.
7785         (toEGLErrorConstant):
7786         * platform/graphics/openvg/SurfaceOpenVG.cpp: Added.
7787         (WebCore::SurfaceOpenVG::currentSurface):
7788         (WebCore::SurfaceOpenVG::SurfaceOpenVG):
7789         (WebCore::SurfaceOpenVG::~SurfaceOpenVG):
7790         (WebCore::SurfaceOpenVG::isValid):
7791         (WebCore::SurfaceOpenVG::width):
7792         (WebCore::SurfaceOpenVG::height):
7793         (WebCore::SurfaceOpenVG::sharedSurface):
7794         (WebCore::SurfaceOpenVG::makeCurrent):
7795         (WebCore::SurfaceOpenVG::makeCompatibleCurrent):
7796         (WebCore::SurfaceOpenVG::flush):
7797         * platform/graphics/openvg/SurfaceOpenVG.h: Added.
7798         (WebCore::SurfaceOpenVG::eglDisplay):
7799         (WebCore::SurfaceOpenVG::eglSurface):
7800         (WebCore::SurfaceOpenVG::eglContext):
7801         * platform/graphics/openvg/VGUtils.h: Added.
7802         (toVGErrorConstant):
7803
7804 2010-01-19  Steve Block  <steveblock@google.com>
7805
7806         Reviewed by David Levin.
7807
7808         Renames jni_utility and jni_utility_private to JNIUtility and JNIUtilityPrivate
7809         https://bugs.webkit.org/show_bug.cgi?id=33843
7810
7811         No new tests, refactoring only.
7812
7813         * Android.jscbindings.mk:
7814         * Android.v8bindings.mk:
7815         * GNUmakefile.am:
7816         * WebCore.xcodeproj/project.pbxproj:
7817         * bridge/jni/JNIUtility.cpp: Copied from WebCore/bridge/jni/jni_utility.cpp.
7818         * bridge/jni/JNIUtility.h: Copied from WebCore/bridge/jni/jni_utility.h.
7819         * bridge/jni/jni_jsobject.mm:
7820         * bridge/jni/jni_objc.mm:
7821         * bridge/jni/jni_runtime.cpp:
7822         * bridge/jni/jni_runtime.h:
7823         * bridge/jni/jni_utility.cpp: Removed.
7824         * bridge/jni/jni_utility.h: Removed.
7825         * bridge/jni/jsc/JNIUtilityPrivate.cpp: Copied from WebCore/bridge/jni/jsc/jni_utility_private.cpp.
7826         (JSC::Bindings::convertValueToJValue):
7827         * bridge/jni/jsc/JNIUtilityPrivate.h: Copied from WebCore/bridge/jni/jsc/jni_utility_private.h.
7828         * bridge/jni/jsc/JavaClassJSC.cpp:
7829         * bridge/jni/jsc/JavaInstanceJSC.cpp:
7830         * bridge/jni/jsc/JavaStringJSC.h:
7831         * bridge/jni/jsc/jni_utility_private.cpp: Removed.
7832         * bridge/jni/jsc/jni_utility_private.h: Removed.
7833         * platform/android/GeolocationServiceBridge.cpp:
7834         * platform/android/GeolocationServiceBridge.h:
7835         * platform/android/TemporaryLinkStubs.cpp:
7836
7837 2010-01-19  Simon Fraser  <simon.fraser@apple.com>
7838
7839         Reviewed by Dan Bernstein.
7840
7841         Occasional crash when interacting with page with reflected WebGL
7842         https://bugs.webkit.org/show_bug.cgi?id=33863
7843         
7844         If updateCompositingLayers() was called with an updateRoot that was a reflection layer,
7845         then we would determine that the layer does not require compositing, and tear down its
7846         backing (without clearing replicaLayer() on the source layer's GraphicsLayer).
7847         
7848         Fix by changing requiresCompositingLayer() on a reflection layer to always give the
7849         same answer for a reflection and its original.
7850         
7851         Also add various belt-and-brances code and null checks to ensure that if we ever end up
7852         with a non-composited reflection layer, we won't crash.
7853         
7854         No new tests, because the crash depends on timing issues that are hard to reproduce in a test.
7855
7856         * platform/graphics/GraphicsLayer.h:
7857         (WebCore::GraphicsLayer::replicaLayer): Make this public so we can use it in an assertion.
7858         
7859         * rendering/RenderLayerCompositor.cpp:
7860         (WebCore::RenderLayerCompositor::updateBacking): Clear the source layer's replica layer
7861         pointer if tearing down backing store of a reflection.
7862         
7863         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Null-check reflection->backing().
7864         (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Null-check reflection->backing().
7865         (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): reflection->backing().
7866         (WebCore::RenderLayerCompositor::requiresCompositingLayer): If being called for a reflection layer,
7867         use the source layer to answer the question.        
7868
7869 2010-01-19  Simon Fraser  <simon.fraser@apple.com>
7870
7871         Reviewed by Dan Bernstein.
7872
7873         Some composited reflections incorrectly positioned
7874         https://bugs.webkit.org/show_bug.cgi?id=33856
7875         
7876         When setting the position of the replicated layer inside the reflection, we need to take
7877         into account the bounds of the original layer, and the replica layer to get the
7878         reflection in the right place.
7879
7880         Tests: compositing/reflections/nested-reflection-transformed2.html
7881                compositing/reflections/reflection-positioning2.html
7882
7883         * rendering/RenderLayerBacking.cpp:
7884         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
7885
7886 2010-01-19  Enrica Casucci  <enrica@apple.com>
7887
7888         Reviewed by Simon Fraser.
7889
7890         REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
7891         https://bugs.webkit.org/show_bug.cgi?id=33864
7892         <rdar://problem/7552959>
7893         
7894         Regression has been introduced by changeset 53085.
7895         The original fix had to be limited to editable content.
7896
7897         Test: editing/selection/selection-applet.html
7898
7899         * dom/Position.cpp:
7900         (WebCore::Position::getInlineBoxAndOffset):
7901
7902 2010-01-19  Kristian Amlie <kristian.amlie@nokia.com>
7903
7904         Reviewed by Laszlo Gombos.
7905
7906         [Qt] Fix qmake warning with qmake in Qt for Symbian
7907         https://bugs.webkit.org/show_bug.cgi?id=33786
7908
7909         * WebCore.pro: Use QMAKE_LFLAGS instead of MMP_RULES.
7910
7911 2010-01-19  Daniel Bates  <dbates@rim.com>
7912
7913         Reviewed by Darin Adler.
7914
7915         https://bugs.webkit.org/show_bug.cgi?id=33851
7916
7917         Fixes an issue in the Apple Mac port where ScrollView::platformVisibleContentRect
7918         returns the rectangle of the document within the content view of
7919         the scroll view (i.e. the rectangle not including scrollbars) when
7920         the parameter includeScrollbars == true
7921
7922         Currently, this behavior contradicts both the comment in ScrollView.h
7923         for method visibleContentRect as well as the behavior in
7924         ScrollView::visibleContentRect() for a platform-independent scroll view.
7925
7926         Instead, it should return the rectangle whose dimensions include
7927         the scrollbars.
7928
7929         Also, removes some extra whitespace at the end of the lines.
7930
7931         No tests included because we cannot test this using either DRT
7932         or a manual test.
7933
7934         * platform/mac/ScrollViewMac.mm:
7935         (WebCore::ScrollView::platformVisibleContentRect): If includeScrollbars == true
7936         then return the rectangle whose dimensions are that of
7937         the frame (i.e. -[NSScrollView frame]).
7938
7939 2010-01-19  Steve Block  <steveblock@google.com>
7940
7941         Reviewed by David Levin.
7942
7943         Fixes style in WebCore/bridge/jni/jsc/JavaClassJSC
7944         https://bugs.webkit.org/show_bug.cgi?id=33819
7945
7946         No new tests, style fixes only.
7947
7948         * bridge/jni/jsc/JavaClassJSC.cpp: Modified.
7949         * bridge/jni/jsc/JavaClassJSC.h: Modified.
7950
7951 2010-01-19  Jaime Yap  <jaimeyap@google.com>
7952
7953         Reviewed by Pavel Feldman.
7954         
7955         Refactors the TimelineRecordFactory and InspectorTimelineAgent to support reporting data
7956         when closing a record. Also includes grabbing the start and end line number for parse HTML
7957         records as a reference use case for the above refactor
7958
7959         Tests updated:
7960             inspector/timeline-parse-html-expected.txt
7961             inspector/timeline-layout-expected.txt
7962             inspector/timeline-recalculate-styles-expected.txt
7963
7964         https://bugs.webkit.org/show_bug.cgi?id=33853
7965
7966         * html/HTMLTokenizer.cpp:
7967         (WebCore::HTMLTokenizer::write):
7968         * inspector/InspectorTimelineAgent.cpp:
7969         (WebCore::InspectorTimelineAgent::willDispatchEvent):
7970         (WebCore::InspectorTimelineAgent::willLayout):
7971         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
7972         (WebCore::InspectorTimelineAgent::willPaint):
7973         (WebCore::InspectorTimelineAgent::willWriteHTML):
7974         (WebCore::InspectorTimelineAgent::didWriteHTML):
7975         (WebCore::InspectorTimelineAgent::didInstallTimer):
7976         (WebCore::InspectorTimelineAgent::didRemoveTimer):
7977         (WebCore::InspectorTimelineAgent::willFireTimer):
7978         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
7979         (WebCore::InspectorTimelineAgent::willLoadXHR):
7980         (WebCore::InspectorTimelineAgent::willEvaluateScript):
7981         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
7982         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
7983         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
7984         (WebCore::InspectorTimelineAgent::didMarkTimeline):
7985         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
7986         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
7987         * inspector/InspectorTimelineAgent.h:
7988         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
7989         * inspector/TimelineRecordFactory.cpp:
7990         (WebCore::TimelineRecordFactory::createEventDispatchData):
7991         (WebCore::TimelineRecordFactory::createGenericTimerData):
7992         (WebCore::TimelineRecordFactory::createTimerInstallData):
7993         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
7994         (WebCore::TimelineRecordFactory::createXHRLoadData):
7995         (WebCore::TimelineRecordFactory::createEvaluateScriptData):
7996         (WebCore::TimelineRecordFactory::createMarkTimelineData):
7997         (WebCore::TimelineRecordFactory::createResourceSendRequestData):
7998         (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
7999         (WebCore::TimelineRecordFactory::createResourceFinishData):
8000         (WebCore::TimelineRecordFactory::createPaintData):
8001         (WebCore::TimelineRecordFactory::createParseHTMLData):
8002         * inspector/TimelineRecordFactory.h:
8003
8004 2010-01-19 Joanmarie Diggs  <joanmarie.diggs@gmail.com>
8005
8006         Reviewed by Xan Lopez.
8007
8008         https://bugs.webkit.org/show_bug.cgi?id=30883
8009         [Gtk] Implement AtkText for HTML elements which contain text
8010
8011         Moves the text assembling functionality from getPangoLayoutForAtk to
8012         textForObject, which webkit_accessible_text_get_text now falls back on
8013         when it comes up empty.
8014
8015         Adds a check in textForObject so that we don't double-add newlines
8016         when we have a BR.
8017
8018         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
8019         (textForObject):
8020         (getPangoLayoutForAtk):
8021         (webkit_accessible_text_get_text):
8022
8023 2010-01-19  Eric Carlson  <eric.carlson@apple.com>
8024
8025         Reviewed by Adam Roben.
8026
8027         error events don't fire if no <source> elements passed to media engine
8028         https://bugs.webkit.org/show_bug.cgi?id=33855
8029
8030         Test: media/video-source-error-no-candidate.html
8031
8032         * html/HTMLMediaElement.cpp:
8033         (WebCore::HTMLMediaElement::selectMediaResource): Only bail early if
8034         there is no 'src' attribute and no <source> child elements at all.
8035
8036 2010-01-19  Daniel Bates  <dbates@webkit.org>
8037
8038         Reviewed by Adam Roben.
8039
8040         https://bugs.webkit.org/show_bug.cgi?id=33822
8041
8042         REGRESSION(r53273): Fixes redefinition of XFORM error when building
8043         WebKit using Qt Windows with the MinGW compiler.
8044  
8045         Note, MinGW has a slightly different declaration of the struct XFORM
8046         from that in the Microsoft SDK. So, we need to substitute an alternative
8047         typedef for XFORM when compiling with MinGW.
8048
8049         No functionality was changed. So, no new tests.
8050
8051         * platform/graphics/transforms/TransformationMatrix.h:
8052
8053 2010-01-19  Stephen White  <senorblanco@chromium.org>
8054
8055         Reviewed by Dimitri Glazkov.
8056
8057         Fix for crash on large TransparencyWin allocation.  The fix is
8058         to leave m_layerValid false when the allocPixels of
8059         OwnedBuffers::m_referenceBitmap fails.  Then TransparencyWin won't
8060         attempt to use it.
8061
8062         Will be covered by a new unit test in Chromium's test_shell_tests (when
8063         this is rolled into Chromium).
8064
8065         https://bugs.webkit.org/show_bug.cgi?id=33844
8066
8067         * platform/graphics/chromium/TransparencyWin.cpp:
8068         (WebCore::TransparencyWin::initializeNewContext):
8069         Early return when m_referenceBitmap or its pixels is NULL, leaving
8070         m_layerValid false.
8071
8072 2010-01-19  Eric Carlson  <eric.carlson@apple.com>
8073
8074         Reviewed by Adam Roben.
8075
8076         video.networkState remains NETWORK_LOADING indefinitely when no <source> element was able to be loaded
8077         https://bugs.webkit.org/show_bug.cgi?id=33744
8078
8079         Test: media/video-source-none-supported.html
8080
8081         * html/HTMLMediaElement.cpp:
8082         (WebCore::HTMLMediaElement::loadNextSourceChild): Call waitForSourceChange if
8083             there are no valid source elements.
8084         (WebCore::HTMLMediaElement::waitForSourceChange): New, set networkState to NETWORK_NO_SOURCE.
8085         (WebCore::HTMLMediaElement::setNetworkState): Call waitForSourceChange if the movie
8086             hasn't reached HAVE_METADATA and there are no more <source> elements to try.
8087         * html/HTMLMediaElement.h: Declare waitForSourceChange.
8088
8089 2010-01-19  Daniel Bates  <dbates@rim.com>
8090
8091         Reviewed by Adam Treat.
8092
8093         https://bugs.webkit.org/show_bug.cgi?id=33408
8094
8095         Implements an optimization to ignore fixed background images
8096         (i.e. background-attachment: fixed) when a page does not contain
8097         any fixed position elements so as to allow fast repaints (via bit
8098         blit) when scrolling a page.
8099
8100         Currently, if a page has elements that specify either a fixed
8101         background or a fixed position then we perform a slow repaint
8102         (i.e disable blitting) so as to avoid rendering artifacts.
8103         However, on low-powered/mobile devices slow repaints can cause
8104         noticeable delays when scrolling a page with a fixed background
8105         image. By sacrificing support for fixed background images when
8106         there are no fixed elements on the page and with come care, we
8107         don't need to force slow repaints and can avoid rendering artifacts.
8108         Hence, on such devices we can improve the responsiveness of
8109         scrolling a page with a fixed background image.
8110
8111         Note, this optimization is only enabled if the WebKit is built
8112         with FAST_MOBILE_SCROLLING enabled.
8113
8114         Tests: fast/fast-mobile-scrolling/fixed-position-element.html
8115                fast/fast-mobile-scrolling/no-fixed-position-elements.html
8116
8117         * rendering/RenderBoxModelObject.cpp:
8118         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
8119         Disable fixed background attachment if we can blit on scroll.
8120         * rendering/RenderObject.cpp:
8121         (WebCore::RenderObject::styleWillChange):
8122
8123 2010-01-19  Dave Hyatt  <hyatt@apple.com>
8124
8125         Build bustage fix.  Land modified WebCore.base.exp file that includes export of currentWorld().
8126
8127         * WebCore.base.exp:
8128
8129 2010-01-19  Brady Eidson  <beidson@apple.com>
8130
8131         Reviewed by Alexey Proskuryakov.
8132
8133         Crash in Page::backForwardList when using History object from a detached window
8134         <rdar://problem/7556252> and https://bugs.webkit.org/show_bug.cgi?id=33828
8135
8136         Test: fast/loader/stateobjects/state-api-on-detached-frame-crash.html
8137
8138         * page/History.cpp:
8139         (WebCore::History::stateObjectAdded): Do an early return when detached. The spec
8140           doesn't really cover expected behavior and we already do something similar in 
8141           other places, such as in History::length().
8142
8143 2010-01-19  Yury Semikhatsky  <yurys@chromium.org>
8144
8145         Reviewed by NOBODY (build fix).
8146
8147         Revert r53467. Browser crashes on opening inspector if there
8148         are messages in console.
8149
8150         * bindings/js/JSInjectedScriptHostCustom.cpp:
8151         (WebCore::JSInjectedScriptHost::databaseForId):
8152         (WebCore::JSInjectedScriptHost::inspectedWindow):
8153         (WebCore::JSInjectedScriptHost::wrapCallback):
8154         (WebCore::JSInjectedScriptHost::currentCallFrame):
8155         (WebCore::JSInjectedScriptHost::nodeForId):
8156         (WebCore::JSInjectedScriptHost::wrapObject):
8157         (WebCore::JSInjectedScriptHost::unwrapObject):
8158         (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
8159         (WebCore::JSInjectedScriptHost::selectDatabase):
8160         (WebCore::JSInjectedScriptHost::selectDOMStorage):
8161         * bindings/js/ScriptController.cpp:
8162         * bindings/js/ScriptController.h:
8163         * bindings/js/ScriptObject.h:
8164         * bindings/js/ScriptValue.cpp:
8165         (WebCore::ScriptValue::quarantineValue):
8166         * bindings/js/ScriptValue.h:
8167         * bindings/v8/ScriptObject.h:
8168         * bindings/v8/ScriptValue.h:
8169         (WebCore::ScriptValue::quarantineValue):
8170         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
8171         (WebCore::V8InjectedScriptHost::inspectedWindowCallback):
8172         (WebCore::V8InjectedScriptHost::wrapCallbackCallback):
8173         (WebCore::V8InjectedScriptHost::wrapObjectCallback):
8174         (WebCore::V8InjectedScriptHost::unwrapObjectCallback):
8175         * inspector/ConsoleMessage.cpp:
8176         (WebCore::ConsoleMessage::ConsoleMessage):
8177         (WebCore::ConsoleMessage::addToConsole):
8178         (WebCore::ConsoleMessage::isEqual):
8179         * inspector/ConsoleMessage.h:
8180         * inspector/InjectedScriptHost.cpp:
8181         (WebCore::InjectedScriptHost::wrapObject):
8182         (WebCore::InjectedScriptHost::unwrapObject):
8183         * inspector/InjectedScriptHost.h:
8184         * inspector/InjectedScriptHost.idl:
8185         * inspector/InspectorBackend.cpp:
8186         (WebCore::InspectorBackend::dispatchOnInjectedScript):
8187         (WebCore::InspectorBackend::releaseWrapperObjectGroup):
8188         * inspector/InspectorBackend.h:
8189         * inspector/InspectorBackend.idl:
8190         * inspector/InspectorController.cpp:
8191         (WebCore::InspectorController::InspectorController):
8192         (WebCore::InspectorController::clearConsoleMessages):
8193         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
8194         (WebCore::InspectorController::windowScriptObjectAvailable):
8195         (WebCore::InspectorController::scriptObjectReady):
8196         (WebCore::InspectorController::setFrontendProxyObject):
8197         (WebCore::InspectorController::close):
8198         (WebCore::InspectorController::resetScriptObjects):
8199         (WebCore::InspectorController::didPause):
8200         (WebCore::InspectorController::wrapObject):
8201         (WebCore::InspectorController::unwrapObject):
8202         (WebCore::InspectorController::releaseWrapperObjectGroup):
8203         (WebCore::InspectorController::resetInjectedScript):
8204         * inspector/InspectorController.h:
8205         * inspector/InspectorFrontend.cpp:
8206         (WebCore::InspectorFrontend::addConsoleMessage):
8207         (WebCore::InspectorFrontend::pausedScript):
8208         * inspector/InspectorFrontend.h:
8209         * inspector/front-end/AuditsPanel.js:
8210         (WebInspector.AuditsPanel.prototype._reloadResources):
8211         * inspector/front-end/ConsoleView.js:
8212         (WebInspector.ConsoleView.prototype.requestClearMessages):
8213         (WebInspector.ConsoleView.prototype.completions):
8214         (WebInspector.ConsoleView.prototype.doEvalInWindow):
8215         (WebInspector.ConsoleView.prototype._formatnode):
8216         (WebInspector.ConsoleView.prototype._formatarray):
8217         * inspector/front-end/DOMAgent.js:
8218         (WebInspector.DOMNode):
8219         (WebInspector.CSSStyleDeclaration):
8220         (WebInspector.CSSStyleDeclaration.parseRule):
8221         * inspector/front-end/Database.js:
8222         (WebInspector.Database.prototype.executeSql):
8223         * inspector/front-end/ElementsPanel.js:
8224         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
8225         (WebInspector.ElementsPanel.prototype.setDocument):
8226         (WebInspector.ElementsPanel.prototype.searchCanceled):
8227         (WebInspector.ElementsPanel.prototype.performSearch):
8228         * inspector/front-end/ElementsTreeOutline.js:
8229         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
8230         * inspector/front-end/EventListenersSidebarPane.js:
8231         ():
8232         * inspector/front-end/InjectedScript.js:
8233         (InjectedScript.dispatch):
8234         (InjectedScript.toggleStyleEnabled):
8235         (InjectedScript._serializeRule):
8236         (InjectedScript._serializeStyle):
8237         (InjectedScript.getProperties):
8238         (InjectedScript.setPropertyValue):
8239         (InjectedScript._evaluateAndWrap):
8240         (InjectedScript.getCallFrames):
8241         (InjectedScript._inspectObject):
8242         (InjectedScript._ensureCommandLineAPIInstalled):
8243         (InjectedScript._resolveObject):
8244         (InjectedScript._window):
8245         (InjectedScript._objectForId):
8246         (InjectedScript.createProxyObject):
8247         (InjectedScript.executeSql):
8248         (InjectedScript.executeSql.errorCallback):
8249         (InjectedScript.executeSql.queryTransaction):
8250         (Object.type):
8251         (String.prototype.escapeCharacters):
8252         * inspector/front-end/InjectedScriptAccess.js:
8253         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
8254         (InjectedScriptAccess._installHandler):
8255         * inspector/front-end/MetricsSidebarPane.js:
8256         (WebInspector.MetricsSidebarPane):
8257         (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
8258         (WebInspector.MetricsSidebarPane.prototype.update):
8259         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
8260         * inspector/front-end/ObjectPropertiesSection.js:
8261         (WebInspector.ObjectPropertiesSection.prototype.update):
8262         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
8263         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
8264         * inspector/front-end/ObjectProxy.js:
8265         (WebInspector.ObjectProxy):
8266         (WebInspector.ObjectProxy.getPropertiesAsync):
8267         * inspector/front-end/PropertiesSidebarPane.js:
8268         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
8269         (WebInspector.PropertiesSidebarPane.prototype.update):
8270         * inspector/front-end/ResourcesPanel.js:
8271         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
8272         * inspector/front-end/ScriptsPanel.js:
8273         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
8274         * inspector/front-end/StylesSidebarPane.js:
8275         (WebInspector.StylesSidebarPane.prototype.update):
8276         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
8277         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
8278         (WebInspector.StylePropertyTreeElement.prototype):
8279         * inspector/front-end/WatchExpressionsSidebarPane.js:
8280         (WebInspector.WatchExpressionsSection.prototype.update):
8281         * inspector/front-end/inspector.js:
8282         (WebInspector.loaded):
8283         (WebInspector.pausedScript):
8284         (WebInspector.addConsoleMessage):
8285         (WebInspector.log.logMessage):
8286         (WebInspector.log):
8287
8288 2010-01-19  Yury Semikhatsky  <yurys@chromium.org>
8289
8290         Reviewed by Pavel Feldman.
8291
8292         Inject inspector script directly into the inspected context. All the
8293         communication between the script and the frontend is serialized into
8294         JSON strings. It allows to get rid of object quarantines in Web Inspector.
8295
8296         https://bugs.webkit.org/show_bug.cgi?id=32554
8297
8298         * bindings/js/JSInjectedScriptHostCustom.cpp:
8299         (WebCore::JSInjectedScriptHost::databaseForId):
8300         (WebCore::JSInjectedScriptHost::currentCallFrame):
8301         (WebCore::JSInjectedScriptHost::nodeForId):
8302         (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
8303         (WebCore::JSInjectedScriptHost::selectDatabase):
8304         (WebCore::JSInjectedScriptHost::selectDOMStorage):
8305         * bindings/js/ScriptController.cpp:
8306         (WebCore::ScriptController::mainWorldScriptState):
8307         * bindings/js/ScriptController.h:
8308         * bindings/js/ScriptObject.h:
8309         (WebCore::ScriptObject::scriptState):
8310         * bindings/js/ScriptValue.cpp:
8311         * bindings/js/ScriptValue.h:
8312         * bindings/v8/ScriptObject.h:
8313         (WebCore::ScriptObject::scriptState):
8314         * bindings/v8/ScriptValue.h:
8315         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
8316         * inspector/ConsoleMessage.cpp:
8317         (WebCore::ConsoleMessage::ConsoleMessage):
8318         (WebCore::ConsoleMessage::addToConsole):
8319         (WebCore::ConsoleMessage::isEqual):
8320         * inspector/ConsoleMessage.h:
8321         * inspector/InjectedScriptHost.cpp:
8322         (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
8323         * inspector/InjectedScriptHost.h:
8324         * inspector/InjectedScriptHost.idl:
8325         * inspector/InspectorBackend.cpp:
8326         (WebCore::InspectorBackend::setInjectedScriptSource):
8327         (WebCore::InspectorBackend::dispatchOnInjectedScript):
8328         (WebCore::InspectorBackend::releaseWrapperObjectGroup):
8329         * inspector/InspectorBackend.h:
8330         * inspector/InspectorBackend.idl:
8331         * inspector/InspectorController.cpp:
8332         (WebCore::InspectorController::InspectorController):
8333         (WebCore::InspectorController::clearConsoleMessages):
8334         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
8335         (WebCore::InspectorController::windowScriptObjectAvailable):
8336         (WebCore::InspectorController::scriptObjectReady):
8337         (WebCore::InspectorController::setFrontendProxyObject):
8338         (WebCore::InspectorController::close):
8339         (WebCore::InspectorController::resetScriptObjects):
8340         (WebCore::InspectorController::didPause):
8341         (WebCore::InspectorController::injectedScriptForNodeId):
8342         * inspector/InspectorController.h:
8343         * inspector/InspectorFrontend.cpp:
8344         (WebCore::InspectorFrontend::addConsoleMessage):
8345         (WebCore::InspectorFrontend::pausedScript):
8346         * inspector/InspectorFrontend.h:
8347         * inspector/front-end/AuditsPanel.js:
8348         (WebInspector.AuditsPanel.prototype._reloadResources):
8349         * inspector/front-end/ConsoleView.js:
8350         (WebInspector.ConsoleView.prototype.requestClearMessages):
8351         (WebInspector.ConsoleView.prototype.doEvalInWindow):
8352         * inspector/front-end/DOMAgent.js:
8353         (WebInspector.DOMNode):
8354         (WebInspector.CSSStyleDeclaration):
8355         (WebInspector.CSSStyleDeclaration.parseRule):
8356         * inspector/front-end/Database.js:
8357         (WebInspector.Database.prototype.executeSql):
8358         * inspector/front-end/ElementsPanel.js:
8359         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode):
8360         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
8361         (WebInspector.ElementsPanel.prototype.setDocument):
8362         (WebInspector.ElementsPanel.prototype.searchCanceled):
8363         (WebInspector.ElementsPanel.prototype.performSearch):
8364         * inspector/front-end/ElementsTreeOutline.js:
8365         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
8366         * inspector/front-end/EventListenersSidebarPane.js:
8367         ():
8368         * inspector/front-end/InjectedScript.js:
8369         (injectedScriptConstructor):
8370         (injectedScriptConstructor.):
8371         * inspector/front-end/InjectedScriptAccess.js:
8372         (InjectedScriptAccess):
8373         (InjectedScriptAccess.getDefault):
8374         (get InjectedScriptAccess):
8375         (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
8376         (InjectedScriptAccess._installHandler):
8377         * inspector/front-end/MetricsSidebarPane.js:
8378         (WebInspector.MetricsSidebarPane):
8379         (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
8380         * inspector/front-end/ObjectPropertiesSection.js:
8381         * inspector/front-end/ObjectProxy.js:
8382         (WebInspector.ObjectProxy):
8383         * inspector/front-end/PropertiesSidebarPane.js:
8384         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
8385         * inspector/front-end/ResourcesPanel.js:
8386         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
8387         * inspector/front-end/ScriptsPanel.js:
8388         * inspector/front-end/StylesSidebarPane.js:
8389         (WebInspector.StylePropertyTreeElement.prototype):
8390         * inspector/front-end/WatchExpressionsSidebarPane.js:
8391         (WebInspector.WatchExpressionsSection.prototype.update):
8392         * inspector/front-end/inspector.js:
8393         (WebInspector.loaded):
8394         (WebInspector.pausedScript):
8395         (WebInspector.addConsoleMessage):
8396         (WebInspector.log.logMessage):
8397         (WebInspector.log):
8398
8399 2010-01-19  Steve Block  <steveblock@google.com>
8400
8401         Unreviewed build fix.
8402
8403         Fixes Windows build due to http://trac.webkit.org/changeset/53464
8404         Updates WebCore.vcproj to reflect renaming of runtime.[cpp|h] to Bridge.[cpp|h]
8405
8406         No new tests, build fix only.
8407
8408         * WebCore.vcproj/WebCore.vcproj:
8409
8410 2010-01-19  Steve Block  <steveblock@google.com>
8411
8412         Reviewed by Adam Barth.
8413
8414         Renames WebCore/bridge/runtime.[cpp|h] to WebCore/bridge/Bridge.[cpp|h]
8415         https://bugs.webkit.org/show_bug.cgi?id=33801
8416
8417         runtime.[cpp|h] contains general interface classes for use in the bridge,
8418         so Bridge is a more appropriate name than runtime.
8419
8420         No new tests, renaming only.
8421
8422         * Android.jscbindings.mk:
8423         * GNUmakefile.am:
8424         * WebCore.pro:
8425         * WebCore.xcodeproj/project.pbxproj:
8426         * WebCoreSources.bkl:
8427         * bindings/js/JSPluginElementFunctions.cpp:
8428         * bindings/js/ScriptControllerGtk.cpp:
8429         * bindings/js/ScriptControllerHaiku.cpp:
8430         * bindings/js/ScriptControllerMac.mm:
8431         * bindings/js/ScriptControllerQt.cpp:
8432         * bindings/js/ScriptControllerWin.cpp:
8433         * bindings/js/ScriptControllerWx.cpp:
8434         * bindings/js/ScriptInstance.h:
8435         * bindings/objc/WebScriptObject.mm:
8436         * bridge/Bridge.cpp: Copied from WebCore/bridge/runtime.cpp.
8437         * bridge/Bridge.h: Copied from WebCore/bridge/runtime.h.
8438         * bridge/c/c_class.h:
8439         * bridge/c/c_instance.h:
8440         * bridge/c/c_runtime.h:
8441         * bridge/jni/jni_instance.h:
8442         * bridge/objc/objc_runtime.h:
8443         * bridge/qt/qt_class.h:
8444         * bridge/qt/qt_instance.h:
8445         * bridge/qt/qt_runtime.cpp:
8446         * bridge/qt/qt_runtime.h:
8447         * bridge/runtime.cpp: Removed.
8448         * bridge/runtime.h: Removed.
8449         * bridge/runtime_array.h:
8450         * bridge/runtime_method.h:
8451         * bridge/runtime_object.h:
8452         * bridge/runtime_root.cpp:
8453         * bridge/testbindings.cpp:
8454         * bridge/testbindings.mm:
8455         * bridge/testqtbindings.cpp:
8456         * page/win/FrameWin.cpp:
8457         * platform/graphics/wince/MediaPlayerProxy.cpp:
8458         * plugins/PluginView.cpp:
8459         * plugins/gtk/PluginViewGtk.cpp:
8460         * plugins/mac/PluginViewMac.cpp:
8461         * plugins/qt/PluginViewQt.cpp:
8462         * plugins/symbian/PluginViewSymbian.cpp:
8463         * plugins/win/PluginViewWin.cpp:
8464
8465 2010-01-19  Geoffrey Garen  <ggaren@apple.com>
8466
8467         Reviewed by Oliver Hunt.
8468
8469         REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
8470         https://bugs.webkit.org/show_bug.cgi?id=33826
8471
8472         Test: fast/workers/worker-gc2.html
8473
8474         * bindings/js/WorkerScriptController.cpp:
8475         (WebCore::WorkerScriptController::~WorkerScriptController): Removed some
8476         ASSERTs that have moved to JavaScriptCore.
8477
8478 2010-01-19  Gavin Barraclough  <barraclough@apple.com>
8479
8480         Reviewed by NOBODY (build fix).
8481
8482         Reverting r53455, breaks 2 javascriptcore tests.
8483
8484         * bindings/js/WorkerScriptController.cpp:
8485         (WebCore::WorkerScriptController::~WorkerScriptController):
8486
8487 2010-01-18  Geoffrey Garen  <ggaren@apple.com>
8488
8489         Reviewed by Oliver Hunt.
8490
8491         REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
8492         https://bugs.webkit.org/show_bug.cgi?id=33826
8493
8494         Test: fast/workers/worker-gc2.html
8495
8496         * bindings/js/WorkerScriptController.cpp:
8497         (WebCore::WorkerScriptController::~WorkerScriptController): Removed some
8498         ASSERTs that have moved to JavaScriptCore.
8499
8500 2010-01-18  Daniel Bates  <dbates@webkit.org>
8501
8502         Reviewed by Darin Adler.
8503
8504         https://bugs.webkit.org/show_bug.cgi?id=33089
8505
8506         Implements all of the alphabetic CSS3 list-style-types as per
8507         section 4.4 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#alphabetic>.
8508
8509         Test: fast/lists/w3-css3-list-styles-alphabetic.html
8510
8511         * css/CSSParser.cpp:
8512         (WebCore::CSSParser::parseValue): Updated comment to include
8513         added list-style-types.
8514         * css/CSSPrimitiveValueMappings.h:
8515         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added new list style types,
8516         alphabetized enums, and removed indent to conform to the WebKit Code Style Guidelines.
8517         * css/CSSValueKeywords.in:
8518         * inspector/front-end/CSSSourceSyntaxHighlighter.js:
8519         (WebInspector.CSSSourceSyntaxHighlighter): Added new list style types
8520         and alphabetized array valueKeywords.
8521         * platform/text/CharacterNames.h: Added constant ethiopicPrefaceColon.
8522         * rendering/RenderListMarker.cpp:
8523         (WebCore::toAlphabetic):
8524         (WebCore::listMarkerSuffix): Added.
8525         (WebCore::listMarkerText):
8526         (WebCore::RenderListMarker::paint): Modified to call WebCore::listMarkerSuffix.
8527         (WebCore::RenderListMarker::calcPrefWidths): Ditto.
8528         (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
8529         * rendering/style/RenderStyle.h:
8530         (WebCore::):
8531         * rendering/style/RenderStyleConstants.h:
8532         (WebCore::):
8533
8534 2010-01-18  Daniel Bates  <dbates@webkit.org>
8535
8536         Unreviewed, fix misspelling of the word maximum in comment.
8537
8538         * html/HTMLInputElement.cpp:
8539         (WebCore::HTMLInputElement::maximum):
8540
8541 2010-01-18  Dan Bernstein  <mitz@apple.com>
8542
8543         Rubber-stamped by Sam Weinig.
8544
8545         <rdar://problem/7476957> REGRESSION (r49567): Business widget list does not line up: too tall due to line height rounding change
8546
8547         Reverted r49567.
8548
8549         * css/CSSComputedStyleDeclaration.cpp:
8550         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
8551         * rendering/InlineFlowBox.cpp:
8552         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
8553         * rendering/RenderBR.cpp:
8554         (WebCore::RenderBR::lineHeight):
8555         * rendering/style/RenderStyle.h:
8556         (WebCore::InheritedFlags::computedLineHeight):
8557
8558 2010-01-18  Steve Block  <steveblock@google.com>
8559
8560         Reviewed by Adam Barth.
8561
8562         Moves JSC-specific implementation of JavaString to a private implementation class.
8563         https://bugs.webkit.org/show_bug.cgi?id=33558
8564
8565         Also modifies JavaField::name and JavaMethod::name to return const JavaString&, rather than UString::Rep*,
8566         which is JSC-specific. This allows this code to be used with both JSC and V8, as required by Android.
8567
8568         No new tests, refactoring only.
8569
8570         * WebCore.xcodeproj/project.pbxproj: Modified. Added JavaStringJSC.h
8571         * bridge/jni/jni_class.cpp: Modified.
8572         (JavaClass::JavaClass): Modified. Updates call sites of JavaField::name and JavaMethod::name.
8573         * bridge/jni/jni_runtime.h: Modified.
8574         (JSC::Bindings::JavaString::JavaString): Modified. Pass through to implementation.
8575         (JSC::Bindings::JavaString::UTF8String): Modified. Pass through to implementation.
8576         (JSC::Bindings::JavaString::uchars): Modified. Pass through to implementation.
8577         (JSC::Bindings::JavaString::length): Modified. Pass through to implementation.
8578         (JSC::Bindings::JavaString::operator UString): Modified. Pass through to implementation.
8579         (JSC::Bindings::JavaField::name): Modified. Pass through to implementation.
8580         (JSC::Bindings::JavaMethod::name): Modified. Pass through to implementation.
8581         * bridge/jni/jsc/JavaStringJSC.h: Added.
8582         (JSC::Bindings::JavaStringImpl::~JavaStringImpl):
8583         (JSC::Bindings::JavaStringImpl::init):
8584         (JSC::Bindings::JavaStringImpl::UTF8String):
8585         (JSC::Bindings::JavaStringImpl::uchars):
8586         (JSC::Bindings::JavaStringImpl::length):
8587         (JSC::Bindings::JavaStringImpl::uString):
8588
8589 2010-01-18  Yuzo Fujishima  <yuzo@google.com>
8590
8591         Reviewed by Darin Adler.
8592
8593         Skip an error after invalid blocks in a CSS expression.
8594         https://bugs.webkit.org/show_bug.cgi?id=33650
8595
8596         * css/CSSGrammar.y:
8597
8598 2010-01-15  Gavin Barraclough  <barraclough@apple.com>
8599
8600         Reviewed by Darin Adler & Oliver Hunt.
8601
8602         https://bugs.webkit.org/show_bug.cgi?id=33731
8603         Remove uses of PtrAndFlags from WebCore::StringImpl.
8604
8605         These break the OS X Leaks tool.  Move the management of null-terminated copies
8606         out from StringImpl to String, and use a bit stolen from the refCount to hold the
8607         'InTable' flag.
8608
8609         * platform/sql/SQLiteFileSystem.cpp:
8610         (WebCore::SQLiteFileSystem::openDatabase):
8611         * platform/sql/SQLiteStatement.cpp:
8612         (WebCore::SQLiteStatement::prepare):
8613         * platform/sql/SQLiteStatement.h:
8614         * platform/text/PlatformString.h:
8615         * platform/text/String.cpp:
8616         (WebCore::String::copyWithNullTermination):
8617         * platform/text/StringImpl.cpp:
8618         (WebCore::StringImpl::StringImpl):
8619         (WebCore::StringImpl::~StringImpl):
8620         (WebCore::StringImpl::create):
8621         (WebCore::StringImpl::crossThreadString):
8622         (WebCore::StringImpl::sharedBuffer):
8623         * platform/text/StringImpl.h:
8624         (WebCore::StringImpl::inTable):
8625         (WebCore::StringImpl::setInTable):
8626
8627 2010-01-18  Nikolas Zimmermann  <nzimmermann@rim.com>
8628
8629         Reviewed by Dirk Schulze.
8630
8631         Rewrite SVG <use> support in a modern-fashion
8632         https://bugs.webkit.org/show_bug.cgi?id=33776
8633
8634         Tests: svg/custom/relative-sized-deep-shadow-tree-content.xhtml
8635                svg/custom/relative-sized-shadow-tree-content.xhtml
8636
8637         Fixes: svg/W3C-SVG-1.1/animate-elem-30-t.svg (animated circle sometimes takes wrong path)
8638
8639         Rewrite <use> support in less intrusive way. Try hard to avoid recloning where possible, and do it lazily.
8640         Introduce RenderSVGShadowTreeRootContainer as special renderer for SVGUseElement, that now manages the
8641         render tree, instead of SVGUseElement manually hacking around it's own renderer from the DOM side.
8642
8643         Instead of recloning the whole shadow tree for every attribute change (DOM setAttribute / SVG DOM changes / CSS changes / childrenChanged()...)
8644         just notify the RenderSVGShadowTreeRootContainer that it's supposed to reclone the tree upon the next updateFromElement() call.
8645
8646         updateFromElement() is fired from SVGUseElement::attach() / recalcStyle(), as it's done for HTMLFormControlElement/HTMLMediaElement, thus
8647         lazily recloning the shadow tree if necessary.
8648
8649         Animations for <use> elements was a real performance bottlenck as the tree got recloned on every attribute change. Reclones are _completly_
8650         avoided for animations now - the SVGAnim*Element classes already updated the instances of an element manually, though that resulted in a reclone
8651         nontheless, and thus killing performance. <use> elements can only be recloned through mutations of the elements that they reference to.
8652         For example referencing a <rect> element from a <use> element and scripting the <rect> element (setAttribute, or child tree mutations etc.).
8653         We reclone instead of trying to synchronize trees - as it's currenty implemented - because it's very hard to do it right.
8654
8655         Any DOM / SVG DOM / CSS change on the <use> element don't reclone the tree anymore, this is a huge speed benefit.
8656         x/y attribute changes are correctly handled in the render tree now (by an additional local transformation), now percentual values work
8657         as expected, and resize on window changes - affecting lots of testcases.
8658
8659         The <use> implementation is much safer now, not doing any mutations synchronously from svgAttributeChanged etc.
8660         Remove hack to force garbage collection on SVGElementInstance destruction - can't reproduce it anymore.
8661
8662         * Android.mk: Add new files to build.
8663         * GNUmakefile.am: Ditto.
8664         * WebCore.gypi: Ditto.
8665         * WebCore.pro: Ditto.
8666         * WebCore.vcproj/WebCore.vcproj: Ditto.
8667         * WebCore.xcodeproj/project.pbxproj: Ditto.
8668         * rendering/RenderSVGShadowTreeRootContainer.cpp: Added. This is the rendered now created by SVGUseElement.
8669         (WebCore::RenderSVGShadowTreeRootContainer::RenderSVGShadowTreeRootContainer):
8670         (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
8671         (WebCore::RenderSVGShadowTreeRootContainer::updateStyle): Used form SVGUseElement to request style recalculations for the shadow tree renderers
8672         (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): Used from SVGUseElement attach/recalcStyle to eventually request shadow tree updates.
8673         (WebCore::RenderSVGShadowTreeRootContainer::styleDidChange): Used to propage style updates across shadow tree boundaries.
8674         * rendering/RenderSVGShadowTreeRootContainer.h: Added.
8675         (WebCore::RenderSVGShadowTreeRootContainer::markShadowTreeForRecreation): Marks the shadow tree for a reclone, next time updateFromElement is used.
8676         * rendering/RenderSVGTransformableContainer.cpp:
8677         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Take containerTranslation() into account, supplied by RenderSVGSDhadowTreeContainer.
8678         * rendering/SVGShadowTreeElements.cpp: Added. This is the root element of the SVG shadow tree residing as (hidden) child of SVGUseElement (DOM wise).
8679         (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement):
8680         (WebCore::SVGShadowTreeContainerElement::~SVGShadowTreeContainerElement):
8681         (WebCore::SVGShadowTreeContainerElement::containerTranslation): Used from calculateLocalTransform() to take x/y translation into account for shadow tree container elements.
8682         (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement):
8683         (WebCore::SVGShadowTreeRootElement::~SVGShadowTreeRootElement):
8684         (WebCore::SVGShadowTreeRootElement::attachElement): Used by RenderSVGShadowTreeRootContainer, instead of attach(), as we're a shadow tree root node.
8685         * rendering/SVGShadowTreeElements.h: Added. This is the root element of each SVG shadow sub-tree (whenever a <use> element is expanded in the shadow tree).
8686         (WebCore::SVGShadowTreeContainerElement::isShadowTreeContainerElement): Return true here.
8687         (WebCore::SVGShadowTreeContainerElement::setContainerOffset): Used from SVGUseElement to propagate x/y translation values set on <use> elements in the shadow tree.
8688         (WebCore::SVGShadowTreeRootElement::isShadowNode): Identify us as shadow node.
8689         (WebCore::SVGShadowTreeRootElement::shadowParentNode): Ditto. Return actual shadow parent node (== corresponding use element).
8690         * svg/SVGElement.cpp: Shrink size of all SVG*Elements, by removing the m_shadowParent parent. SVGShadowTreeRootElement is the new base class for shadow tree.
8691         (WebCore::SVGElement::SVGElement):
8692         (WebCore::SVGElement::eventParentNode): Call virtual shadowParentNode() method, instead of accessing m_shadowParent.
8693         * svg/SVGElement.h: Remove isShadowNode() / shadowParentNode() / setShadowParentNode().
8694         * svg/SVGElementInstance.cpp: Remove the hack, calling garbage collection before destruction. Can't reproduce this anymore, let's see what the bots say.
8695         (WebCore::SVGElementInstance::SVGElementInstance): Remove now unnecessary m_needsUpdate flag.
8696         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Don't invalidate if instance updates are blocked (see SVGStyledElement changes)
8697         * svg/SVGElementInstance.h: Remove m_needsUpdate, and forgetWrapper() method.
8698         * svg/SVGGElement.h:
8699         (WebCore::SVGGElement::isShadowTreeContainerElement): Add new virtual method here returning false by default, SVGShadowTreeContainerElement will override it.
8700         * svg/SVGStyledElement.cpp: Remove gElementsWithInstanceUpdatesBlocked HashSet tracking the state of instancesUpdatesBlocked() per SVGStyledElement - make it a member variable.
8701         * svg/SVGStyledElement.h: Add inline getter/setters around m_instanceUpdatesBlocked.
8702         (WebCore::SVGStyledElement::instanceUpdatesBlocked):
8703         (WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
8704         * svg/SVGUseElement.cpp: Full rewrite of <use> support, a detailed discussion would blow the ChangeLog - see short version above.
8705         (WebCore::SVGUseElement::SVGUseElement):
8706         (WebCore::SVGUseElement::instanceRoot):
8707         (WebCore::SVGUseElement::insertedIntoDocument):
8708         (WebCore::SVGUseElement::removedFromDocument):
8709         (WebCore::SVGUseElement::svgAttributeChanged):
8710         (WebCore::updateContainerOffset):
8711         (WebCore::SVGUseElement::updateContainerOffsets):
8712         (WebCore::SVGUseElement::recalcStyle):
8713         (WebCore::dumpInstanceTree):
8714         (WebCore::SVGUseElement::buildPendingResource):
8715         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
8716         (WebCore::SVGUseElement::createRenderer):
8717         (WebCore::updateFromElementCallback):
8718         (WebCore::SVGUseElement::attach):
8719         (WebCore::SVGUseElement::detach):
8720         (WebCore::SVGUseElement::toClipPath):
8721         (WebCore::SVGUseElement::buildInstanceTree):
8722         (WebCore::SVGUseElement::handleDeepUseReferencing):
8723         (WebCore::SVGUseElement::buildShadowTree):
8724         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
8725         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
8726         (WebCore::SVGUseElement::instanceForShadowTreeElement):
8727         (WebCore::SVGUseElement::invalidateShadowTree):
8728         (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):
8729         * svg/SVGUseElement.h:
8730         (WebCore::SVGUseElement::isPendingResource):
8731
8732 2010-01-18  Kent Tamura  <tkent@chromium.org>
8733
8734         Reviewed by Darin Adler.
8735
8736         HTMLInputElement::valueAsDate setter support for type=month.
8737         https://bugs.webkit.org/show_bug.cgi?id=33021
8738
8739         Introduce ISODateTime::setMillisecondsSinceEpochForMonth() and
8740         toString() for the Month type, and HTMLInputElement::setValueAsDate()
8741         calls them.
8742
8743         * html/HTMLInputElement.cpp:
8744         (WebCore::HTMLInputElement::setValueAsDate):
8745         * html/ISODateTime.cpp:
8746         (WebCore::beforeGregorianStartDate):
8747         (WebCore::ISODateTime::addDay): Use beforeGregorianStartDate().
8748         (WebCore::ISODateTime::parseMonth): Use beforeGregorianStartDate().
8749         (WebCore::ISODateTime::setMillisecondsSinceEpochForDateInternal):
8750         (WebCore::ISODateTime::setMillisecondsSinceEpochForMonth):
8751         (WebCore::ISODateTime::toString): Implement only for the Month type.
8752         * html/ISODateTime.h:
8753
8754 2010-01-18  Enrica Casucci  <enrica@apple.com>
8755
8756         Reviewed by Darin Adler.
8757
8758         Script attributes are copied and pasted, making cross-domain attacks possible (30019)
8759         <rdar://problem/6008809>
8760         https://bugs.webkit.org/show_bug.cgi?id=30019
8761
8762         When we create the document fragment from a markup string,
8763         either to perform a paste operation or a drag and drop, we
8764         want to remove all the event handlers and any attribute that contain
8765         a value that leads to code execution.
8766         The HTMLParser class is now aware of the needs of stripping these attributes.
8767         I've modified the call to createMarkupString for every platform.
8768
8769         Test: editing/pasteboard/paste-noscript.html
8770
8771         * WebCore.base.exp:
8772         * dom/Element.cpp:
8773         (WebCore::isEventHandlerAttribute):
8774         (WebCore::Element::setAttributeMap):
8775         * dom/Element.h:
8776         * dom/MappedAttributeEntry.h:
8777         (WebCore::):
8778         * editing/markup.cpp:
8779         (WebCore::createFragmentFromMarkup):
8780         * editing/markup.h:
8781         * html/HTMLElement.cpp:
8782         (WebCore::HTMLElement::createContextualFragment):
8783         * html/HTMLElement.h:
8784         * html/HTMLParser.cpp:
8785         (WebCore::HTMLParser::HTMLParser):
8786         (WebCore::HTMLParser::parseToken):
8787         * html/HTMLParser.h:
8788         * html/HTMLTokenizer.cpp:
8789         (WebCore::HTMLTokenizer::HTMLTokenizer):
8790         (WebCore::parseHTMLDocumentFragment):
8791         * html/HTMLTokenizer.h:
8792         * platform/chromium/DragDataChromium.cpp:
8793         (WebCore::DragData::asFragment):
8794         * platform/chromium/PasteboardChromium.cpp:
8795         (WebCore::Pasteboard::documentFragment):
8796         * platform/gtk/PasteboardGtk.cpp:
8797         (WebCore::Pasteboard::documentFragment):
8798         * platform/mac/PasteboardMac.mm:
8799         (WebCore::Pasteboard::documentFragment):
8800         * platform/qt/DragDataQt.cpp:
8801         (WebCore::DragData::asFragment):
8802         * platform/qt/PasteboardQt.cpp:
8803         (WebCore::Pasteboard::documentFragment):
8804         * platform/win/ClipboardUtilitiesWin.cpp:
8805         (WebCore::fragmentFromCF_HTML):
8806         (WebCore::fragmentFromHTML):
8807
8808 2010-01-18  Steve Falkenburg  <sfalken@apple.com>
8809
8810         Reviewed by Sam Weinig.
8811
8812         <https://bugs.webkit.org/show_bug.cgi?id=33816>        
8813         Crashes in Geolocation code due to refcounting, observer balance issues.
8814         
8815         Hold a ref to the GeoNotifier while dispatching a callback. The code was
8816         copying a data member to avoid accessing a freed this ptr, but was still
8817         using the this ptr.
8818         
8819         Geolocation::removeObserver calls are not always balanced with addObserver.
8820         Instead of asserting and continuing, don't try to remove non-existant
8821         observers.
8822
8823         * page/Geolocation.cpp:
8824         (WebCore::Geolocation::GeoNotifier::timerFired): Protect notifier.
8825         * page/GeolocationController.cpp:
8826         (WebCore::GeolocationController::removeObserver): Change ASSERT into an if with early return.
8827
8828 2010-01-18  Alexey Proskuryakov  <ap@apple.com>
8829
8830         Reviewed by Darin Adler.
8831
8832         https://bugs.webkit.org/show_bug.cgi?id=33815
8833         Crash when using DOMTimer from a detached frame
8834
8835         Test: fast/dom/Window/timer-null-script-execution-context.html
8836
8837         * bindings/js/JSDOMWindowCustom.cpp:
8838         (WebCore::JSDOMWindow::setTimeout):
8839         (WebCore::JSDOMWindow::setInterval):
8840         * page/DOMWindow.h:
8841         * page/DOMWindow.idl:
8842         Make setTimer and setInterval raise an exception. It is not specified in HTML5, but both
8843         IE and Firefox do raise an exception in this situation, although different ones.
8844
8845         * page/DOMWindow.cpp:
8846         (WebCore::DOMWindow::setTimeout): Raise INVALID_ACCESS_ERR if script execution context is
8847         null (meaning that the window is detached).
8848         (WebCore::DOMWindow::setInterval): Ditto.
8849         (WebCore::DOMWindow::clearTimeout): Silently return early if there is no script execution
8850         context.
8851         (WebCore::DOMWindow::clearInterval): Ditto.
8852         Raise INVALID_ACCESS_ERR if script execution context is null (meaning .
8853
8854 2010-01-18  Steve Block  <steveblock@google.com>
8855
8856         Reviewed by Adam Barth.
8857
8858         Moves JSC-specific version of JavaClass from bridge/jni/jni_class to bridge/jni/jsc/JavaClassJSC
8859         https://bugs.webkit.org/show_bug.cgi?id=33561
8860
8861         No new tests, refactoring only.
8862
8863         * Android.jscbindings.mk: Modified. Removed jni_class.cpp and added JavaClassJSC.cpp
8864         * GNUmakefile.am: Modified. Removed jni_class.h and added JavaClassJSC.h
8865         * WebCore.xcodeproj/project.pbxproj: Modified. Removed jni_class.[cpp|h] and added JavaClassJSC.[cpp|h]
8866         * bridge/jni/jni_class.cpp: Removed.
8867         * bridge/jni/jni_class.h: Removed.
8868         * bridge/jni/jsc/JavaClassJSC.cpp: Copied from WebCore/bridge/jni/jni_class.cpp.
8869         * bridge/jni/jsc/JavaClassJSC.h: Copied from WebCore/bridge/jni/jni_class.h.
8870         * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Includes JavaClassJSC.h
8871
8872 2010-01-18  Steve Block  <steveblock@google.com>
8873
8874         Reviewed by Adam Barth.
8875
8876         Fix style in WebCore/bridge/jni/jsc/JavaInstanceJSC.[cpp|h]
8877         https://bugs.webkit.org/show_bug.cgi?id=33792
8878
8879         No new tests, style fixes only.
8880
8881         * bridge/jni/jni_runtime.cpp: Modified.
8882         (JavaField::dispatchValueFromInstance): Modified. Updated to use renamed JavaInstance::m_instance
8883         (JavaField::dispatchSetValueToInstance): Modified. Updated to use renamed JavaInstance::m_instance
8884         (JavaArray::JavaArray): Modified. Updated to use renamed JavaInstance::m_instance
8885         * bridge/jni/jni_runtime.h: Modified.
8886         (JSC::Bindings::JavaArray::javaArray): Modified. Updated to use renamed JavaInstance::m_instance
8887         * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Fixed style
8888         * bridge/jni/jsc/JavaInstanceJSC.h: Modified. Fixed style
8889
8890 2010-01-18  Chris Marrin  <cmarrin@apple.com>
8891
8892         Reviewed by Oliver Hunt.
8893
8894         https://bugs.webkit.org/show_bug.cgi?id=30073
8895         Moved reshape to HTMLCanvasElement::reset and have it always
8896         set the size to the canvas width and height attrs.
8897
8898         This is not testable with LayoutTests, so I instead added logic
8899         to the demo at:
8900
8901         https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/webkit/SpinningBox.html
8902
8903         * html/HTMLCanvasElement.cpp:
8904         (WebCore::HTMLCanvasElement::reset):
8905         (WebCore::HTMLCanvasElement::paint):
8906
8907 2010-01-18  Alexey Proskuryakov  <ap@apple.com>
8908
8909         Reviewed by Geoffrey Garen.
8910
8911         https://bugs.webkit.org/show_bug.cgi?id=33813
8912         <rdar://problem/7545104> Crash when using DOMApplicationCache from a destroyed frame
8913
8914         Test: http/tests/appcache/destroyed-frame.html
8915
8916         * loader/appcache/DOMApplicationCache.cpp:
8917         (WebCore::DOMApplicationCache::scriptExecutionContext): Return null when there is no frame.
8918
8919 2010-01-18  Dan Bernstein  <mitz@apple.com>
8920
8921         Reviewed by Darin Adler.
8922
8923         REGRESSION (r53420): incomplete repaint of bottom of bugs.webkit.org comment field
8924         https://bugs.webkit.org/show_bug.cgi?id=33809
8925
8926         Test: fast/repaint/trailing-floats-root-line-box-overflow.html
8927
8928         * rendering/RenderBlockLineLayout.cpp:
8929         (WebCore::RenderBlock::layoutInlineChildren): Copy bottom overflow from the last
8930         root box to the trailing floats box, which is becoming the last root box. This is
8931         needed because painting code assumes that the last line in a block is the one with the
8932         lowest overflow bottom.
8933
8934 2010-01-18  Csaba Osztrogonác  <ossy@webkit.org>
8935
8936         [Qt] Unreviewed trivial buildfix. (r53429)
8937
8938         * WebCore.pri: missing XMLNS_NAMES added.
8939
8940 2010-01-18  Geoffrey Garen  <ggaren@apple.com>
8941
8942         Reviewed by Darin Adler.
8943
8944         Removed unnecessary use of scriptExecutionContext() when creating a JS event listener.
8945         https://bugs.webkit.org/show_bug.cgi?id=33811
8946
8947         This change simplifies a bunch of code, and also reduces
8948         the number of places that use the difficult-to-understand and possibly
8949         crashy-null scriptExecutionContext() idiom.
8950
8951         * bindings/js/JSDOMGlobalObject.cpp:
8952         * bindings/js/JSDOMGlobalObject.h:
8953         * bindings/js/JSEventListener.h:
8954         (WebCore::createJSAttributeEventListener):
8955         * bindings/scripts/CodeGeneratorJS.pm:
8956
8957 2010-01-18  Alexey Proskuryakov  <ap@apple.com>
8958
8959         Reviewed by Darin Adler.
8960
8961         https://bugs.webkit.org/show_bug.cgi?id=33787
8962         Add constants for more XML strings
8963
8964         No change in functionality, so no tests.
8965
8966         * WebCore/xml/xmlnsattrs.in: Added a new file for xmlns namespace and attribute - 
8967         XMLNames.{h,cpp} are auto-generated, and I dodn't see a reasonable way to extend it.
8968
8969         * platform/text/AtomicString.cpp: (WebCore::AtomicString::init):
8970         * platform/text/AtomicString.h:
8971         Added atomic strings for "xml" and "xmlns".
8972
8973         * page/Frame.cpp: (WebCore::Frame::Frame): Call XMLNSNames::init().
8974
8975         * dom/Attr.cpp: (WebCore::Attr::setPrefix):
8976         * dom/Document.cpp:
8977         (WebCore::Document::hasPrefixNamespaceMismatch):
8978         (WebCore::Document::createAttributeNS):
8979         * dom/Node.cpp:
8980         (WebCore::Node::checkSetPrefix):
8981         (WebCore::Node::isDefaultNamespace):
8982         (WebCore::Node::lookupNamespaceURI):
8983         (WebCore::Node::lookupNamespacePrefix):
8984         * dom/XMLTokenizerLibxml2.cpp:
8985         (WebCore::XMLTokenizer::XMLTokenizer):
8986         (WebCore::handleElementNamespaces):
8987         * editing/markup.cpp:
8988         (WebCore::shouldAddNamespaceAttr):
8989         (WebCore::appendNamespace):
8990         * xml/XPathStep.cpp:
8991         (WebCore::XPath::nodeMatchesBasicTest):
8992         (WebCore::XPath::Step::nodesInAxis):
8993         Use the new constants.
8994
8995         * Android.derived.mk:
8996         * DerivedSources.make:
8997         * GNUmakefile.am:
8998         * WebCore.gyp/WebCore.gyp:
8999         * WebCore.pri:
9000         * WebCore.vcproj/WebCore.vcproj:
9001         * WebCore.xcodeproj/project.pbxproj:
9002         * WebCoreSources.bkl:
9003         Added the new files to projects.
9004
9005 2010-01-18  Anders Carlsson  <andersca@apple.com>
9006
9007         Fix !ENABLE(3D_CANVAS) build.
9008
9009         * rendering/RenderLayerBacking.cpp:
9010         (WebCore::is3DCanvas):
9011
9012 2010-01-18  Timothy Hatcher  <timothy@apple.com>
9013
9014         Adjust the scroll position when doing a full page zoom, so the content
9015         stays in relatively the same position.
9016
9017         <rdar://problem/6150099> Zooming should keep the page content in the same place
9018
9019         Reviewed by Oliver Hunt.
9020
9021         * page/Frame.cpp:
9022         (WebCore::Frame::setZoomFactor): Apply the zoom percent difference to
9023         the scroll position, only when doing a full page zoom.
9024
9025 2010-01-18  Adam Roben  <aroben@apple.com>
9026
9027         Add SecurityOrigin::{set,is}DomainRelaxationForbiddenForURLScheme and
9028         respect it
9029
9030         WebCore part of fixing <http://webkit.org/b/33806>
9031         <rdar://problem/7552837> Would like API to disallow setting of
9032         document.domain for pages with certain URL schemes
9033
9034         Test: http/tests/security/setDomainRelaxationForbiddenForURLScheme.html
9035
9036         Reviewed by Sam Weinig.
9037
9038         * WebCore.base.exp: Export
9039         SecurityOrigin::setDomainRelaxationForbiddenForURLScheme.
9040
9041         * dom/Document.cpp:
9042         (WebCore::Document::setDomain): If domain relaxation is forbidden for
9043         our security origin's scheme, throw an exception and don't allow
9044         the domain to be set.
9045
9046         * page/SecurityOrigin.cpp:
9047         (WebCore::schemesForbiddenFromDomainRelaxation): Added. Returns a
9048         global set of schemes.
9049         (WebCore::SecurityOrigin::setDomainRelaxationForbiddenForURLScheme):
9050         Add or remove the scheme to schemesForbiddenFromDomainRelaxation, as
9051         appropriate.
9052         (WebCore::SecurityOrigin::isDomainRelaxationForbiddenForURLScheme):
9053         Returns true if the scheme is in schemesForbiddenFromDomainRelaxation.
9054
9055         * page/SecurityOrigin.h: Added
9056         {set,is}DomainRelaxationForbiddenForURLScheme.
9057
9058 2010-01-18  Dan Bernstein  <mitz@apple.com>
9059
9060         Address review comments on the last change
9061
9062         * rendering/TrailingFloatsRootInlineBox.h:
9063         (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
9064
9065 2010-01-18  Dan Bernstein  <mitz@apple.com>
9066
9067         Reviewed by Darin Adler.
9068
9069         <rdar://problem/6892207> REGRESSION (Safari 4): Menus at sciencedirect.com push the main article context down the page
9070         <rdar://problem/7546035> Second right floated image misplacment
9071         https://bugs.webkit.org/show_bug.cgi?id=33245
9072
9073         Test: fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2.html
9074
9075         When the last line of a block contains a line break and there are floats
9076         after the line break, it is incorrect to put those floats in the last line’s
9077         floats vector (along with floats from before the break). Instead, create
9078         an additional line box (a TrailingFloatsRootInlineBox) and put those floats
9079         in its floats vector. 
9080
9081         * WebCore.vcproj/WebCore.vcproj: Added TrailingFloatsRootInlineBox.h
9082         * WebCore.xcodeproj/project.pbxproj: Ditto.
9083         * rendering/RenderBlock.cpp:
9084         (WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added an optional
9085         parameter, which is the highest line to dirty.
9086         * rendering/RenderBlock.h:
9087         * rendering/RenderBlockLineLayout.cpp:
9088         (WebCore::RenderBlock::layoutInlineChildren): Create a TrailingFloatsRootInlineBox
9089         for the floats occurring after the line break on the last line.
9090         (WebCore::RenderBlock::determineStartPosition): Prevent dirtying of lines
9091         above the first dirty line.
9092         * rendering/TrailingFloatsRootInlineBox.h: Added.
9093         (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox): Call
9094         setHasVirtualHeight().
9095         (WebCore::TrailingFloatsRootInlineBox::virtualHeight): Return 0.
9096
9097 2010-01-18  Gavin Barraclough  <barraclough@apple.com>
9098
9099         Reviewed by NOBODY (build fix).
9100
9101         Eeeep! reverting r53416 & r53417, more to be done to fix windows.
9102
9103         * WebCore.base.exp:
9104         * platform/sql/SQLiteFileSystem.cpp:
9105         (WebCore::SQLiteFileSystem::openDatabase):
9106         * platform/sql/SQLiteStatement.cpp:
9107         (WebCore::SQLiteStatement::prepare):
9108         * platform/sql/SQLiteStatement.h:
9109         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
9110         (WebCore::SQLiteFileSystem::openDatabase):
9111         * platform/text/PlatformString.h:
9112         * platform/text/String.cpp:
9113         (WebCore::String::charactersWithNullTermination):
9114         * platform/text/StringImpl.cpp:
9115         (WebCore::StringImpl::operator new):
9116         (WebCore::StringImpl::operator delete):
9117         (WebCore::StringImpl::StringImpl):
9118         (WebCore::StringImpl::~StringImpl):
9119         (WebCore::StringImpl::create):
9120         (WebCore::StringImpl::createWithTerminatingNullCharacter):
9121         (WebCore::StringImpl::crossThreadString):
9122         (WebCore::StringImpl::sharedBuffer):
9123         * platform/text/StringImpl.h:
9124         (WebCore::StringImpl::hasTerminatingNullCharacter):
9125         (WebCore::StringImpl::inTable):
9126         (WebCore::StringImpl::setInTable):
9127         (WebCore::StringImpl::):
9128         * platform/win/ClipboardUtilitiesWin.cpp:
9129         (WebCore::createGlobalData):
9130         * storage/OriginUsageRecord.cpp:
9131         (WebCore::OriginUsageRecord::addDatabase):
9132         (WebCore::OriginUsageRecord::markDatabase):
9133
9134 2010-01-18  Gavin Barraclough  <barraclough@apple.com>
9135
9136         Reviewed by NOBODY (windows build fix).
9137
9138         * platform/win/ClipboardUtilitiesWin.cpp:
9139         (WebCore::createGlobalData):
9140
9141 2010-01-15  Gavin Barraclough  <barraclough@apple.com>
9142
9143         Reviewed by Darin Adler.
9144
9145         https://bugs.webkit.org/show_bug.cgi?id=33731
9146         Remove uses of PtrAndFlags from WebCore::StringImpl.
9147
9148         These break the OS X Leaks tool.  Move the management of null-terminated copies
9149         out from StringImpl to String, and use a bit stolen from the refCount to hold the
9150         'InTable' flag.
9151
9152         * platform/sql/SQLiteFileSystem.cpp:
9153         (WebCore::SQLiteFileSystem::openDatabase):
9154         * platform/sql/SQLiteStatement.cpp:
9155         (WebCore::SQLiteStatement::prepare):
9156         * platform/sql/SQLiteStatement.h:
9157         * platform/text/PlatformString.h:
9158         * platform/text/String.cpp:
9159         (WebCore::String::copyWithNullTermination):
9160         * platform/text/StringImpl.cpp:
9161         (WebCore::StringImpl::StringImpl):
9162         (WebCore::StringImpl::~StringImpl):
9163         (WebCore::StringImpl::create):
9164         (WebCore::StringImpl::crossThreadString):
9165         (WebCore::StringImpl::sharedBuffer):
9166         * platform/text/StringImpl.h:
9167         (WebCore::StringImpl::inTable):
9168         (WebCore::StringImpl::setInTable):
9169
9170 2010-01-18  Chris Marrin  <cmarrin@apple.com>
9171
9172         Reviewed by Darin Adler.
9173
9174         Made root compositing layer scroll rather than scroll parent.
9175         https://bugs.webkit.org/show_bug.cgi?id=32279
9176         
9177         There's some general cleanup here so the frames, bounds and
9178         positions of all the associated layers are correct.
9179         I also changed API of setScrollFrame to use an IntRect.
9180
9181         * platform/graphics/win/WKCACFLayerRenderer.cpp:
9182         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
9183         (WebCore::WKCACFLayerRenderer::setScrollFrame):
9184         (WebCore::WKCACFLayerRenderer::setRootChildLayer):
9185         (WebCore::WKCACFLayerRenderer::createRenderer):
9186         (WebCore::WKCACFLayerRenderer::resize):
9187         * platform/graphics/win/WKCACFLayerRenderer.h:
9188
9189 2010-01-18  Ilya Tikhonovsky  <loislo@chromium.org>
9190
9191         Reviewed by Pavel Feldman.
9192
9193         WebInspector: Timeline panel scrolling speed can be 2 times faster.
9194         https://bugs.webkit.org/show_bug.cgi?id=33794
9195
9196         * inspector/front-end/TimelinePanel.js:
9197         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
9198         (WebInspector.TimelinePanel.prototype._refreshRecords):
9199         (WebInspector.TimelineCalculator):
9200         (WebInspector.TimelineCalculator.prototype.calculateWindow):
9201         (WebInspector.TimelineCalculator.prototype.reset):
9202         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
9203         (WebInspector.TimelineRecordGraphRow.prototype.update):
9204
9205 2010-01-18  Steve Block  <steveblock@google.com>
9206
9207         Reviewed by Adam Barth.
9208
9209         Moves JSC-specific version of JavaInstance from bridge/jni/jni_instance to bridge/jni/jsc/JavaInstanceJSC
9210         https://bugs.webkit.org/show_bug.cgi?id=33672
9211
9212         No new tests, refactoring only.
9213
9214         * Android.jscbindings.mk: Modified. Removed jni_instance.cpp and added JavaInstanceJSC.cpp
9215         * GNUmakefile.am: Modified. Removed jni_instance.h and added JavaInstanceJSC.h
9216         * WebCore.xcodeproj/project.pbxproj: Modified. Removed jni_instance.[cpp|h] and added JavaInstanceJSC.[cpp|h]
9217         * bindings/js/ScriptControllerMac.mm: Modified. Includes JavaInstanceJSC.h
9218         * bridge/jni/jni_instance.cpp: Removed.
9219         * bridge/jni/jni_instance.h: Removed.
9220         * bridge/jni/jni_runtime.h: Modified. Includes JavaInstanceJSC.h
9221         * bridge/jni/jsc/JavaInstanceJSC.cpp: Copied from WebCore/bridge/jni/jni_instance.cpp.
9222         * bridge/jni/jsc/JavaInstanceJSC.h: Copied from WebCore/bridge/jni/jni_instance.h.
9223
9224 2010-01-18  Peter Kasting  <pkasting@google.com>
9225
9226         Reviewed by Adam Barth.
9227
9228         Simplify image decoders slightly by using OwnPtr instead of raw pointers
9229         and eliminating a basically-useless wrapper class in the GIF decoder.
9230         https://bugs.webkit.org/show_bug.cgi?id=28751
9231
9232         * platform/graphics/qt/ImageDecoderQt.cpp:
9233         (WebCore::ImageDecoderQt::ImageDecoderQt):
9234         (WebCore::ImageDecoderQt::~ImageDecoderQt):
9235         (WebCore::ImageDecoderQt::setData):
9236         (WebCore::ImageDecoderQt::internalReadImage):
9237         (WebCore::ImageDecoderQt::failRead):
9238         * platform/graphics/qt/ImageDecoderQt.h:
9239         * platform/image-decoders/gif/GIFImageDecoder.cpp:
9240         (WebCore::GIFImageDecoder::GIFImageDecoder):
9241         (WebCore::GIFImageDecoder::~GIFImageDecoder):
9242         (WebCore::GIFImageDecoder::setData):
9243         (WebCore::GIFImageDecoder::frameCount):
9244         (WebCore::GIFImageDecoder::repetitionCount):
9245         (WebCore::GIFImageDecoder::decode):
9246         (WebCore::GIFImageDecoder::decodingHalted):
9247         (WebCore::GIFImageDecoder::initFrameBuffer):
9248         (WebCore::GIFImageDecoder::haveDecodedRow):
9249         (WebCore::GIFImageDecoder::gifComplete):
9250         * platform/image-decoders/gif/GIFImageDecoder.h:
9251         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
9252         (WebCore::JPEGImageDecoder::JPEGImageDecoder):
9253         (WebCore::JPEGImageDecoder::~JPEGImageDecoder):
9254         (WebCore::JPEGImageDecoder::setData):
9255         (WebCore::JPEGImageDecoder::decode):
9256         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
9257         * platform/image-decoders/png/PNGImageDecoder.cpp:
9258         (WebCore::PNGImageDecoder::PNGImageDecoder):
9259         (WebCore::PNGImageDecoder::~PNGImageDecoder):
9260         (WebCore::PNGImageDecoder::setData):
9261         (WebCore::PNGImageDecoder::decode):
9262         (WebCore::PNGImageDecoder::headerAvailable):
9263         (WebCore::PNGImageDecoder::rowAvailable):
9264         * platform/image-decoders/png/PNGImageDecoder.h:
9265
9266 2010-01-18  Daniel Cheng  <dcheng@google.com>
9267
9268         Reviewed by Adam Roben.
9269
9270         DataTransfer interface broken on Windows--types member is always
9271         undefined, and getData() does not work.
9272         https://bugs.webkit.org/show_bug.cgi?id=30527
9273
9274         * platform/win/ClipboardWin.cpp:
9275         (WebCore::addMimeTypesForFormat): pass FORMATETC as a const ref.
9276         (WebCore::ClipboardWin::types): fix calls to IEnumFORMATETC.
9277         (WebCore::ClipboardWin::hasData): fix calls to IEnumFORMATETC.
9278
9279 2010-01-18  Mikhail Naganov  <mnaganov@chromium.org>
9280
9281         Reviewed by Timothy Hatcher.
9282
9283         Don't show Profiles welcome screen on panel switch,
9284         if a profile view is shown.
9285
9286         https://bugs.webkit.org/show_bug.cgi?id=33799
9287
9288         * inspector/front-end/ProfilesPanel.js:
9289         (WebInspector.ProfilesPanel.prototype.show):
9290
9291 2010-01-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
9292
9293         Reviewed by Simon Hausmann.
9294
9295         [Qt] Force qmake to generate a single makefile for DerivedSources.pro
9296
9297         * DerivedSources.pro:
9298
9299 2010-01-18  Jonathan Dixon  <joth@chromium.org>
9300
9301         Reviewed by Adam Barth.
9302
9303         Add support for enabling navigator.geolocation at runtime in the V8 bindings.
9304         Adds the [EnabledAtRuntime] modifier to the navigator IDL.
9305         https://bugs.webkit.org/show_bug.cgi?id=33467
9306
9307         * WebCore.gypi:
9308         * bindings/v8/RuntimeEnabledFeatures.cpp:
9309         * bindings/v8/RuntimeEnabledFeatures.h:
9310         (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled):
9311         (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
9312         * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
9313         (WebCore::V8Navigator::GeolocationEnabled):
9314         * page/Navigator.cpp:
9315         (WebCore::Navigator::geolocation):
9316         * page/Navigator.idl:
9317
9318 2010-01-18  Alexander Pavlov  <apavlov@chromium.org>
9319
9320         Reviewed by Pavel Feldman.
9321
9322         Improve Resources panel performance for lots of resources
9323
9324         DOM properties are extracted into const's, comparisons are faster.
9325         https://bugs.webkit.org/show_bug.cgi?id=33790
9326
9327         * inspector/front-end/AbstractTimelinePanel.js:
9328         (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
9329         * inspector/front-end/Resource.js:
9330         (WebInspector.Resource.CompareByStartTime):
9331         (WebInspector.Resource.CompareByResponseReceivedTime):
9332         (WebInspector.Resource.CompareByEndTime):
9333         (WebInspector.Resource.CompareByDuration):
9334         (WebInspector.Resource.CompareByLatency):
9335         (WebInspector.Resource.CompareBySize):
9336         * inspector/front-end/ResourcesPanel.js:
9337         (WebInspector.ResourceGraph.prototype.refreshLabelPositions):
9338
9339 2010-01-18  Daniel Bates  <dbates@rim.com>
9340
9341         Reviewed by Eric Seidel.
9342
9343         https://bugs.webkit.org/show_bug.cgi?id=33726
9344
9345         Following up on changes made with respect to bug #33498, we should
9346         fix the the style errors found by the style bot.
9347         
9348         Moreover, this fixes all the style errors found by check-webkit-style
9349         except the use of an underline in the variable name _niflags. We should
9350         fix this in a second run through for all the other variables names that
9351         contain an underline because there are many.
9352
9353         No functionality was changed. So, no new tests.
9354
9355         * rendering/style/SVGRenderStyle.h:
9356         (WebCore::SVGRenderStyle::create):
9357         (WebCore::SVGRenderStyle::copy):
9358         (WebCore::SVGRenderStyle::operator!=):
9359         (WebCore::SVGRenderStyle::hasStroke):
9360         (WebCore::SVGRenderStyle::hasFill):
9361         (WebCore::SVGRenderStyle::InheritedFlags::operator==):
9362         (WebCore::SVGRenderStyle::InheritedFlags::operator!=):
9363         (WebCore::SVGRenderStyle::NonInheritedFlags::operator==):
9364         (WebCore::SVGRenderStyle::NonInheritedFlags::operator!=):
9365         (WebCore::SVGRenderStyle::NonInheritedFlags::):
9366         (WebCore::SVGRenderStyle::):
9367         (WebCore::SVGRenderStyle::setBitDefaults):
9368
9369 2010-01-18  Andrei Popescu  <andreip@google.com>
9370
9371         Reviewed by Adam Barth.
9372
9373         [Android] DOMWrapperMap::Visitor needs virtual destructor
9374         https://bugs.webkit.org/show_bug.cgi?id=33675
9375
9376         Add protected virtual dtor to DOMWrapperMap::Visitor. See bug for further discussion.
9377
9378         No new tests needed, functionality not changed.
9379
9380         * bindings/v8/V8DOMMap.h:
9381         (WebCore::DOMWrapperMap::Visitor::~Visitor): Added.
9382
9383 2010-01-18  Simon Hausmann  <simon.hausmann@nokia.com>
9384
9385         Unreviewed Symbian build fix.
9386
9387         If we don't link with def files, then we have to pass EXPORTUNFROZEN,
9388         so that the build system still creates the .dso files in
9389         release/armv5/lib and we can actually link against the created QtWebKit
9390         dlls.
9391
9392         Thanks Iain for the help!
9393
9394         * WebCore.pro:
9395
9396 2010-01-17  Srinidhi Shreedhara  <srinidhi.shreedhara@nokia.com>
9397
9398         Reviewed by Simon Hausmann.
9399
9400         [Qt] [Symbian] SetWindow call in npapi plugin does not happen when the cooridnates are negative
9401         https://bugs.webkit.org/show_bug.cgi?id=33573
9402
9403         * plugins/symbian/PluginViewSymbian.cpp:
9404         (WebCore::PluginView::setNPWindowIfNeeded): Remove tests for negative
9405         coordinates for early return.
9406
9407 2010-01-17  Oliver Hunt  <oliver@apple.com>
9408
9409         Reviewed by Dan Bernstein.
9410
9411         REGRESSION (r52449): SVG mask wrongly clipped when not at origin for recent nightly build
9412         https://bugs.webkit.org/show_bug.cgi?id=33782
9413
9414         Test: svg/custom/transformedMaskFails.svg
9415
9416         When computing the bounds for elements in a mask, we iterate through
9417         all of our children requesting their repaint bounds using
9418         repaintRectInLocalCoordinates(), but we were not converting that
9419         rect into our own coordinate system, thus leading to an incorrect
9420         repaint rect.  This patch simply adds the missing localToParent
9421         transform.
9422
9423         * svg/SVGMaskElement.cpp:
9424         (WebCore::SVGMaskElement::drawMaskerContent):
9425
9426 2010-01-17  Maciej Stachowiak  <mjs@apple.com>
9427
9428         Reviewed by Dan Bernstein.
9429
9430         Avoid slow access to AX objects on attribute access when AX is off
9431         https://bugs.webkit.org/show_bug.cgi?id=33779
9432
9433         ~4% Dromaeo attributes test speedup
9434
9435         * dom/Element.cpp:
9436         (WebCore::Element::updateAfterAttributeChanged): Don't do expensive lookup of
9437         AX object cache unless accessibility is on and an AX-related attribute is
9438         changed.
9439
9440 2010-01-17  Kevin Watters  <kevinwatters@gmail.com>
9441
9442         Reviewed by Kevin Ollivier.
9443
9444         [wx] On Win and GTK, we need to manually apply the transforms when falling back
9445         to GDI / GDK drawing, but this is not needed on Mac since we always use CG there.
9446         
9447         https://bugs.webkit.org/show_bug.cgi?id=33730
9448
9449         * platform/wx/RenderThemeWx.cpp:
9450         (WebCore::RenderThemeWx::paintButton):
9451
9452 2010-01-17  Martin Robinson  <martin.james.robinson@gmail.com>
9453
9454         Reviewed by Gustavo Noronha Silva.
9455
9456         [GTK] GtkWebKit incompatible with rgba colormaps
9457         https://bugs.webkit.org/show_bug.cgi?id=20736
9458
9459         Fix GTK theme rendering onto drawables with RGBA colormaps. Now
9460         each type of colormap has its own collection of GtkWidgets.
9461
9462         This fix does not introduce any functionality changes, so does not
9463         includes new tests.
9464
9465         * platform/gtk/RenderThemeGtk.cpp:
9466         (WebCore::RenderThemeGtk::RenderThemeGtk):
9467         (WebCore::RenderThemeGtk::~RenderThemeGtk):
9468         (WebCore::RenderThemeGtk::partsForDrawable):
9469         (WebCore::adjustMozillaStyle):
9470         (WebCore::setMozillaState):
9471         (WebCore::paintMozillaGtkWidget):
9472         (WebCore::setToggleSize):
9473         (WebCore::RenderThemeGtk::setCheckboxSize):
9474         (WebCore::RenderThemeGtk::paintCheckbox):
9475         (WebCore::RenderThemeGtk::setRadioSize):
9476         (WebCore::RenderThemeGtk::paintRadio):
9477         (WebCore::RenderThemeGtk::paintButton):
9478         (WebCore::RenderThemeGtk::adjustMenuListStyle):
9479         (WebCore::RenderThemeGtk::paintMenuList):
9480         (WebCore::RenderThemeGtk::adjustTextFieldStyle):
9481         (WebCore::RenderThemeGtk::paintTextField):
9482         (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
9483         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
9484         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
9485         * platform/gtk/RenderThemeGtk.h:
9486         * platform/gtk/gtk2drawing.c:
9487         (moz_gtk_use_theme_parts):
9488         (ensure_window_widget):
9489         (setup_widget_prototype):
9490         (ensure_button_widget):
9491         (ensure_hpaned_widget):
9492         (ensure_vpaned_widget):
9493         (ensure_toggle_button_widget):
9494         (ensure_button_arrow_widget):
9495         (ensure_checkbox_widget):
9496         (ensure_radiobutton_widget):
9497         (ensure_scrollbar_widget):
9498         (ensure_spin_widget):
9499         (ensure_scale_widget):
9500         (ensure_entry_widget):
9501         (moz_gtk_get_combo_box_inner_button):
9502         (moz_gtk_get_combo_box_button_inner_widgets):
9503         (ensure_combo_box_widgets):
9504         (moz_gtk_get_combo_box_entry_inner_widgets):
9505         (moz_gtk_get_combo_box_entry_arrow):
9506         (ensure_combo_box_entry_widgets):
9507         (ensure_handlebox_widget):
9508         (ensure_toolbar_widget):
9509         (ensure_toolbar_separator_widget):
9510         (ensure_tooltip_widget):
9511         (ensure_tab_widget):
9512         (ensure_progress_widget):
9513         (ensure_statusbar_widget):
9514         (ensure_frame_widget):
9515         (ensure_menu_bar_widget):
9516         (ensure_menu_bar_item_widget):
9517         (ensure_menu_popup_widget):
9518         (ensure_menu_item_widget):
9519         (ensure_image_menu_item_widget):
9520         (ensure_menu_separator_widget):
9521         (ensure_check_menu_item_widget):
9522         (ensure_tree_view_widget):
9523         (ensure_tree_header_cell_widget):
9524         (ensure_expander_widget):
9525         (ensure_scrolled_window_widget):
9526         (moz_gtk_checkbox_get_metrics):
9527         (moz_gtk_radio_get_metrics):
9528         (moz_gtk_splitter_get_metrics):
9529         (moz_gtk_toggle_paint):
9530         (moz_gtk_scrollbar_button_paint):
9531         (moz_gtk_scrollbar_trough_paint):
9532         (moz_gtk_scrollbar_thumb_paint):
9533         (moz_gtk_spin_paint):
9534         (moz_gtk_spin_updown_paint):
9535         (moz_gtk_scale_paint):
9536         (moz_gtk_scale_thumb_paint):
9537         (moz_gtk_gripper_paint):
9538         (moz_gtk_hpaned_paint):
9539         (moz_gtk_vpaned_paint):
9540         (moz_gtk_caret_paint):
9541         (moz_gtk_treeview_paint):
9542         (moz_gtk_tree_header_cell_paint):
9543         (moz_gtk_tree_header_sort_arrow_paint):
9544         (moz_gtk_treeview_expander_paint):
9545         (moz_gtk_expander_paint):
9546         (moz_gtk_combo_box_paint):
9547         (moz_gtk_downarrow_paint):
9548         (moz_gtk_combo_box_entry_button_paint):
9549         (moz_gtk_container_paint):
9550         (moz_gtk_toggle_label_paint):
9551         (moz_gtk_toolbar_paint):
9552         (moz_gtk_toolbar_separator_paint):
9553         (moz_gtk_tooltip_paint):
9554         (moz_gtk_resizer_paint):
9555         (moz_gtk_frame_paint):
9556         (moz_gtk_progressbar_paint):
9557         (moz_gtk_progress_chunk_paint):
9558         (moz_gtk_get_tab_thickness):
9559         (moz_gtk_tab_paint):
9560         (moz_gtk_tabpanels_paint):
9561         (moz_gtk_tab_scroll_arrow_paint):
9562         (moz_gtk_menu_bar_paint):
9563         (moz_gtk_menu_popup_paint):
9564         (moz_gtk_menu_separator_paint):
9565         (moz_gtk_menu_item_paint):
9566         (moz_gtk_menu_arrow_paint):
9567         (moz_gtk_check_menu_item_paint):
9568         (moz_gtk_window_paint):
9569         (moz_gtk_get_widget_border):
9570         (moz_gtk_get_combo_box_entry_button_size):
9571         (moz_gtk_get_tab_scroll_arrow_size):
9572         (moz_gtk_get_downarrow_size):
9573         (moz_gtk_get_toolbar_separator_width):
9574         (moz_gtk_get_expander_size):
9575         (moz_gtk_get_treeview_expander_size):
9576         (moz_gtk_get_menu_separator_height):
9577         (moz_gtk_get_scalethumb_metrics):
9578         (moz_gtk_get_scrollbar_metrics):
9579         (moz_gtk_images_in_menus):
9580         (moz_gtk_widget_paint):
9581         (moz_gtk_get_scrollbar_widget):
9582         (moz_gtk_shutdown):
9583         (moz_gtk_destroy_theme_parts_widgets):
9584         * platform/gtk/gtkdrawing.h:
9585
9586 2010-01-16  Maciej Stachowiak  <mjs@apple.com>
9587
9588         Reviewed by Oliver Hunt.
9589
9590         Cache JS string values made from DOM strings (Dromaeo speedup)
9591         https://bugs.webkit.org/show_bug.cgi?id=33768
9592         <rdar://problem/7353576>
9593
9594         Added a new cache for JSString values that are created from Strings or AtomicStrings
9595         in the DOM. It's common for the same string to be retrieved from the DOM repeatedly,
9596         and it is wasteful to make a new JS-level string value every time.
9597         
9598         The string cache is per-world, and thus thread-safe and not a
9599         vector for accidental information exchange.
9600         
9601         ~30% speedup on Dromaeo Attributes test, also substantially helps other Dromaeo DOM tests.
9602
9603         * bindings/js/JSDOMBinding.cpp:
9604         (WebCore::jsStringCache): Helper function to get the string cache for the current world.
9605         (WebCore::jsString): Some new overloads including the caching version.
9606         (WebCore::stringWrapperDestroyed): Finalizer callback - remove from relevant caches.
9607         * bindings/js/JSDOMBinding.h:
9608         (WebCore::jsString): Prototype new overloads (and define a few inline).
9609         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
9610         (WebCore::JSJavaScriptCallFrame::type): Explicitly make a UString.
9611         * bindings/js/ScriptFunctionCall.cpp:
9612         (WebCore::ScriptFunctionCall::appendArgument): Ditto.
9613         * WebCore.base.exp: Add new JSString overloads that WebCore gets to see.
9614
9615 2010-01-16  Oliver Hunt  <oliver@apple.com>
9616
9617         Reviewed by Nikolas Zimmermann.
9618
9619         SVG Markers are getting culled incorrectly
9620         https://bugs.webkit.org/show_bug.cgi?id=33767
9621
9622         Use applyTransformToPaintInfo to transform the paintInfo, otherwise
9623         the paint rect is not updated leading to incorrect culling.
9624
9625         * svg/graphics/SVGResourceMarker.cpp:
9626         (WebCore::SVGResourceMarker::draw):
9627
9628 2010-01-15  John Sullivan  <sullivan@apple.com>
9629
9630         https://bugs.webkit.org/show_bug.cgi?id=33751 and <rdar://problem/7538330>
9631         Zip code field is misidentified as street address because id attribute isn't checked.
9632
9633         Reviewed by Darin Adler
9634
9635         No new tests. I believe this code is used only by Safari AutoFill, but in any case
9636         it does not affect page rendering or anything else at the WebCore/WebKit level.
9637
9638         * page/Frame.cpp:
9639         (WebCore::matchLabelsAgainstString):
9640         New function, split out from matchLabelsAgainstElement.
9641         (WebCore::Frame::matchLabelsAgainstElement):
9642         Now calls matchLabelsAgainstString for the id attribute if no match is found for the name attribute.
9643         
9644         * page/mac/FrameMac.mm:
9645         (WebCore::matchLabelsAgainstString):
9646         Same as above. This is a parallel copy of the function using Mac-specific data structures.
9647         (WebCore::Frame::matchLabelsAgainstElement):
9648         Ditto.
9649
9650 2010-01-16  Timothy Hatcher  <timothy@apple.com>
9651
9652         Use String.trim() instead of a regex in the Web Inspector.
9653
9654         https://bugs.webkit.org/show_bug.cgi?id=33765
9655
9656         Reviewed by George Staikos.
9657
9658         * inspector/front-end/ElementsPanel.js:
9659         (WebInspector.ElementsPanel.prototype.performSearch): Use .trim().
9660         * inspector/front-end/ObjectPropertiesSection.js:
9661         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Ditto.
9662         * inspector/front-end/ProfileView.js:
9663         * inspector/front-end/SourceFrame.js:
9664         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): Ditto.
9665         * inspector/front-end/StylesSidebarPane.js:
9666         (WebInspector.StylePropertyTreeElement.prototype): Ditto.
9667         * inspector/front-end/utilities.js:
9668         (String.prototype.trimLeadingWhitespace): Removed.
9669         (String.prototype.trimTrailingWhitespace): Removed.
9670         (String.prototype.trimWhitespace): Removed.
9671
9672 2010-01-16  Oliver Hunt  <oliver@apple.com>
9673
9674         Reviewed by Nikolas Zimmermann.
9675
9676         Copying TransformationMatrix consumed a lot of cpu time while scroll with cursor over content
9677         https://bugs.webkit.org/show_bug.cgi?id=33766
9678
9679         Make localToParentTransform return by reference to avid copy overhead.
9680         This is a little gnarly in places as it means we need to be able to 
9681         return temporary values in a few implementations, so we have to add
9682         class fields to hold them, heppily the classes that these effect are
9683          sufficiently uncommon for this to be okay.
9684
9685         * rendering/RenderForeignObject.cpp:
9686         (WebCore::RenderForeignObject::localToParentTransform):
9687         * rendering/RenderForeignObject.h:
9688         * rendering/RenderObject.cpp:
9689         (WebCore::RenderObject::localTransform):
9690         (WebCore::RenderObject::localToParentTransform):
9691         * rendering/RenderObject.h:
9692         * rendering/RenderPath.cpp:
9693         (WebCore::RenderPath::localToParentTransform):
9694         (WebCore::RenderPath::nodeAtFloatPoint):
9695         * rendering/RenderPath.h:
9696         * rendering/RenderSVGImage.h:
9697         (WebCore::RenderSVGImage::localToParentTransform):
9698         * rendering/RenderSVGRoot.cpp:
9699         (WebCore::RenderSVGRoot::localToParentTransform):
9700         * rendering/RenderSVGRoot.h:
9701         * rendering/RenderSVGText.h:
9702         (WebCore::RenderSVGText::localToParentTransform):
9703         * rendering/RenderSVGTransformableContainer.cpp:
9704         (WebCore::RenderSVGTransformableContainer::localToParentTransform):
9705         * rendering/RenderSVGTransformableContainer.h:
9706         * rendering/RenderSVGViewportContainer.cpp:
9707         (WebCore::RenderSVGViewportContainer::localToParentTransform):
9708         * rendering/RenderSVGViewportContainer.h:
9709
9710 2010-01-16  Darin Adler  <darin@apple.com>
9711
9712         Reviewed by Oliver Hunt and Alexey Proskuryakov.
9713
9714         ValidityState can hold a stale pointer to control
9715         https://bugs.webkit.org/show_bug.cgi?id=33729
9716         rdar://problem/7545114
9717
9718         Test: fast/forms/ValidityState-removed-control.html
9719
9720         * html/HTMLFormControlElement.h: Use OwnPtr instead of
9721         RefPtr to point to the ValidityState object.
9722
9723         * html/ValidityState.cpp: Use a constant instead of a
9724         macro for the email validation regular expression.
9725         (WebCore::ValidityState::validationMessage): Use
9726         m_control instead of control function; we don't need
9727         a function for this. Also marked const.
9728         (WebCore::ValidityState::typeMismatch): Ditto.
9729         Fixed some minor style problems.
9730         (WebCore::ValidityState::rangeUnderflow): Ditto.
9731         (WebCore::ValidityState::rangeOverflow): Ditto.
9732         (WebCore::ValidityState::stepMismatch): Ditto.
9733         (WebCore::ValidityState::valid): Ditto.
9734         (WebCore::ValidityState::isValidEmailAddress):
9735         Changed local variable names for clarity. Got rid of
9736         an unneeded global variable.
9737
9738         * html/ValidityState.h: Removed RefCounted as a base
9739         class, deriving from Noncopyable instead. Changed
9740         creation to use PassOwnPtr instead of PassRefPtr.
9741         Eliminated unneeded control function. Added ref and
9742         deref functions that forward the reference counting
9743         to the control. Moved constructor here and made it
9744         inline.
9745
9746 2010-01-15  Alexey Proskuryakov  <ap@apple.com>
9747
9748         Reviewed by Darin Adler.
9749
9750         https://bugs.webkit.org/show_bug.cgi?id=33752
9751         Assertion failure when getting a href attribute with prefix
9752
9753         This was due to a temporary change made in 2005 (r9639) - checks in checkSetPrefix were
9754         disabled during introduction of QualifiedName, but never re-enabled.
9755
9756         Tests: fast/dom/bad-href-attribute.html
9757                fast/dom/node-prefix-setter-namespace-exception.html
9758
9759         * dom/Attr.cpp: (WebCore::Attr::setPrefix):
9760         * dom/Element.cpp: (WebCore::Element::setPrefix):
9761         * dom/Node.cpp: (WebCore::Node::checkSetPrefix):
9762         Re-enabled the checks. Also, changed the prefix setter to treat "" as null, matching Firefox
9763         (DOM 3 Core spec says this behavior is implementation defined).
9764
9765 2010-01-16  Brady Eidson  <beidson@apple.com>
9766
9767         Reviewed by Darin Adler.
9768
9769         <rdar://problem/7536748> and https://bugs.webkit.org/show_bug.cgi?id=33571
9770         History traversals to a new document do not get the popstate event
9771
9772         State objects now live-on in their HistoryItem indefinitely.
9773         This means any back/forward navigation might result in a popstate event, not just to 
9774         pre-existing documents as was previously the case.
9775
9776         * history/HistoryItem.cpp:
9777         (WebCore::HistoryItem::documentDetached): State objects are held beyond Document lifetime.
9778        
9779         * loader/FrameLoader.cpp:
9780         (WebCore::FrameLoader::begin): If there is a pending state object for this Frame load, pass it
9781           on to the Document after the Document is created.
9782         (WebCore::FrameLoader::transitionToCommitted): If the current history item has a state object,
9783           set it as the FrameLoad's pending state object.
9784         * loader/FrameLoader.h:
9785         
9786         * page/Page.cpp:
9787         (WebCore::Page::goToItem): Remove a now-invalid ASSERT.
9788
9789 2010-01-15  Simon Fraser  <simon.fraser@apple.com>
9790
9791         Reviewed by Dan Bernstein and Adele Peterson.
9792
9793         Support reflections on composited layers
9794         https://bugs.webkit.org/show_bug.cgi?id=31885
9795         
9796         Implement reflections (via -webkit-box-reflect:) on compositing layers.
9797         
9798         We add to the GraphicsLayer the notion of having a replica, and being a replicated layer.
9799         The replica layer is not parented in the tree, but referenced by another layer.
9800         RenderLayerBacking sets this up when it finds RenderLayers for reflections.
9801         
9802         GraphicsLayerCA implements rendering of replica layers by cloning CA layers,
9803         and copying their properties, including animations and contents. Deep reflections
9804         are supported by a hash of clone layers on each GraphicsLayerCA, indexed by
9805         the path down the tree to each replica instance.
9806         
9807         When GraphicsLayerCA properties are changed, in most cases the clones must also
9808         be updated.
9809
9810         Tests: compositing/masks/direct-image-mask.html
9811                compositing/reflections/animation-inside-reflection.html
9812                compositing/reflections/compositing-change-inside-reflection.html
9813                compositing/reflections/deeply-nested-reflections.html
9814                compositing/reflections/masked-reflection-on-composited.html
9815                compositing/reflections/nested-reflection-anchor-point.html
9816                compositing/reflections/nested-reflection-animated.html
9817                compositing/reflections/nested-reflection-mask-change.html
9818                compositing/reflections/nested-reflection-on-overflow.html
9819                compositing/reflections/nested-reflection-opacity.html
9820                compositing/reflections/nested-reflection-size-change.html
9821                compositing/reflections/nested-reflection-transformed.html
9822                compositing/reflections/nested-reflection-transition.html
9823                compositing/reflections/nested-reflection.html
9824                compositing/reflections/reflection-opacity.html
9825                compositing/reflections/reflection-ordering.html
9826                compositing/reflections/reflection-positioning.html
9827                compositing/reflections/transform-inside-reflection.html
9828
9829         * platform/graphics/GraphicsLayer.h:
9830         (WebCore::GraphicsLayer::isReplicated): Returns true when this layer has a replicated layer.
9831         (WebCore::GraphicsLayer::replicatedLayerPosition):
9832         (WebCore::GraphicsLayer::setReplicatedLayerPosition): The position of the replica layer must be 
9833         special-cased; we cannot just copy the position of the original.
9834         (WebCore::GraphicsLayer::didDisplay): Method that indicates that the contents of the layer changed,
9835         which gives us a chance to update clone layers.
9836         (WebCore::GraphicsLayer::replicaLayer): reference to the replica layer.
9837         (WebCore::GraphicsLayer::replicatedLayer): reference to the layer that this (replica) layer is replicating.
9838         (WebCore::GraphicsLayer::setReplicatedLayer):
9839
9840         * platform/graphics/GraphicsLayer.cpp:
9841         (WebCore::GraphicsLayer::GraphicsLayer):
9842         (WebCore::GraphicsLayer::setReplicatedByLayer): Hook up a replica with its replicated layer.
9843         (WebCore::GraphicsLayer::dumpProperties):
9844
9845         * platform/graphics/mac/GraphicsLayerCA.h:
9846         (WebCore::GraphicsLayerCA::primaryLayer): Returns a CALayer, since structural layers may not be WebLayers.
9847         (WebCore::GraphicsLayerCA::isReplicatedRootClone): Given a cloneID (string representation of the path to a clone
9848         down the tree, which is a bitstring of 1 (replica), or 0 (non-replica)), returns true if this ID represents the
9849         root of a replica tree.
9850         (WebCore::GraphicsLayerCA::primaryLayerClones): Returns a pointer to the hash map of clones of the primary layers.
9851
9852         (WebCore::GraphicsLayerCA::ReplicaState::ReplicaState): Small struct used to track original/clone branching
9853         down the tree during recursion, to build cloneID paths.
9854
9855         (WebCore::GraphicsLayerCA::hasCloneLayers): returns true if this layer has clone layers.
9856
9857         * platform/graphics/mac/GraphicsLayerCA.mm:
9858         (WebCore::GraphicsLayerCA::~GraphicsLayerCA): remove the clone layers.
9859         (WebCore::GraphicsLayerCA::setChildren): call noteSublayersChanged() since we may have to update replicas too.
9860         (WebCore::GraphicsLayerCA::addChild): ditto
9861         (WebCore::GraphicsLayerCA::addChildAtIndex): ditto
9862         (WebCore::GraphicsLayerCA::addChildBelow): ditto
9863         (WebCore::GraphicsLayerCA::addChildAbove): ditto
9864         (WebCore::GraphicsLayerCA::replaceChild): ditto
9865         (WebCore::GraphicsLayerCA::removeFromParent): ditto
9866         (WebCore::GraphicsLayerCA::setMaskLayer): call propagateLayerChangeToReplicas()
9867         (WebCore::GraphicsLayerCA::setReplicatedLayer): note replica changed.
9868         (WebCore::GraphicsLayerCA::setReplicatedByLayer): ditto
9869         (WebCore::GraphicsLayerCA::moveOrCopyAllAnimationsForProperty): Enhanced to allow moving or copying animations.
9870         (WebCore::GraphicsLayerCA::moveOrCopyAnimationsForProperty): Ditto.
9871         (WebCore::GraphicsLayerCA::setContentsToImage): call noteSublayersChanged()
9872         (WebCore::GraphicsLayerCA::setContentsToVideo): call noteSublayersChanged()
9873         (WebCore::GraphicsLayerCA::didDisplay): here is our chance to copy updated contents to clone layers.
9874         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
9875         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): pre-order commit, for things that need to be
9876             committed before we recurse on children.
9877         (WebCore::GraphicsLayerCA::commitLayerChangesAfterSublayers): post-order commit, for things that need to be
9878             committed after we recurse on children, like clones.
9879         (WebCore::GraphicsLayerCA::updateLayerNames): New method to match the other 'update' methods.
9880         (WebCore::GraphicsLayerCA::updateSublayerList): Insert replica layers into the hierarchy.
9881         (WebCore::GraphicsLayerCA::updateLayerPosition): update clones.
9882         (WebCore::GraphicsLayerCA::updateLayerSize): ditto
9883         (WebCore::GraphicsLayerCA::updateAnchorPoint): ditto
9884         (WebCore::GraphicsLayerCA::updateTransform): ditto
9885         (WebCore::GraphicsLayerCA::updateChildrenTransform): ditto
9886         (WebCore::GraphicsLayerCA::updateMasksToBounds): ditto
9887         (WebCore::GraphicsLayerCA::updateContentsOpaque): ditto
9888         (WebCore::GraphicsLayerCA::updateBackfaceVisibility): ditto
9889         (WebCore::GraphicsLayerCA::updateStructuralLayer): call ensureStructuralLayer()
9890         (WebCore::moveAnimation): utility to move a CAAnimation from one layer to another.
9891         (WebCore::GraphicsLayerCA::ensureStructuralLayer): refactored code which creates enclosing CALayers for reflection
9892         flattening, or CATransformLayers for preserve-3d.
9893         (WebCore::GraphicsLayerCA::structuralLayerPurpose): indicates why we need a structural layer.
9894         (WebCore::GraphicsLayerCA::updateLayerDrawsContent): update clones
9895         (WebCore::GraphicsLayerCA::updateContentsImage): ditto
9896         (WebCore::GraphicsLayerCA::updateContentsRect): ditto
9897         (WebCore::GraphicsLayerCA::updateMaskLayer): ditto
9898         (WebCore::GraphicsLayerCA::updateReplicatedLayers): This is where we ask for the tree of layers for the replica
9899         and its children, and attach them as sublayers.
9900         (WebCore::GraphicsLayerCA::ReplicaState::cloneID): Build a bitstring from the array of original/clone values; this
9901         string serves to identify clones in the hash map.
9902         (WebCore::GraphicsLayerCA::replicatedLayerRoot): Request the tree of clone layers, set its position and transform,
9903         and return it.
9904         (WebCore::GraphicsLayerCA::setAnimationOnLayer): update clones
9905         (WebCore::GraphicsLayerCA::removeAnimationFromLayer): ditto
9906         (WebCore::GraphicsLayerCA::pauseAnimationOnLayer): ditto
9907         (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): udpate sublayers.
9908         (WebCore::GraphicsLayerCA::suspendAnimations): update clones.
9909         (WebCore::GraphicsLayerCA::resumeAnimations): ditto
9910         (WebCore::GraphicsLayerCA::animatedLayerClones): return the hash map for clones of the appropriate layer for the given property.
9911         (WebCore::GraphicsLayerCA::ensureCloneLayers): create and return clones for the CALayers for this layer.
9912         (WebCore::GraphicsLayerCA::removeCloneLayers): clear out the clone layers.
9913         (WebCore::GraphicsLayerCA::positionForCloneRootLayer): the root of a clonal subtree needs its position and transform to be special-cased,
9914         since it doesn't just copy those properties from the original.
9915         (WebCore::GraphicsLayerCA::propagateLayerChangeToReplicas): push the change flags onto the replica.
9916         (WebCore::GraphicsLayerCA::fetchCloneLayers): recurse down sublayers, creating clones of the CALayers along the way, and returning
9917         the root of the clone tree.
9918         (WebCore::copyAnimation): utility to copy an animation from one layer to another. Animations can be shared between layers.
9919         (WebCore::GraphicsLayerCA::cloneLayer): utility to clone a CALayer, copying those properties which GraphicsLayerCA makes use of
9920         (WebCore::GraphicsLayerCA::setOpacityInternal): push opacity changes to clones.
9921         (WebCore::GraphicsLayerCA::updateOpacityOnLayer): ditto
9922         (WebCore::GraphicsLayerCA::noteSublayersChanged): set the ChildrenChanged flag, and proprate changes to the replica, if any.
9923
9924         * platform/graphics/mac/WebLayer.mm:
9925         (-[WebLayer display]): override -display so we know when to update the contents of clone layers
9926
9927         * platform/graphics/mac/WebTiledLayer.mm:
9928         (-[WebTiledLayer display]): ditto.
9929
9930         * rendering/RenderLayer.h:
9931         (WebCore::RenderLayer::isReflection): New method that returns true if the renderer is a replica.
9932
9933         * rendering/RenderLayer.cpp:
9934         (WebCore::RenderLayer::RenderLayer): initialize m_isReflection
9935         (WebCore::RenderLayer::updateReflectionStyle): call setIsReflection
9936
9937         * rendering/RenderLayerBacking.cpp:
9938         (WebCore::RenderLayerBacking::createGraphicsLayer): Put a name on the reflection layer.
9939         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Hook up the GraphicsLayers for the reflection.
9940         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Reflection overrides preserve-3d (you have to flatten to reflect).
9941         Also hook up updating the reflection layer geometry, and the relica position.
9942         
9943         (WebCore::RenderLayerBacking::paintIntoLayer): We no longer paint the reflection in software.
9944
9945         * rendering/RenderLayerCompositor.cpp:
9946         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Hook reflection layers into the compositing logic.
9947         (WebCore::RenderLayerCompositor::canAccelerateVideoRendering): No longer have to push video into software if it's reflected.
9948         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Update the bounds of the reflection layer.
9949         (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): ditto
9950         (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing): a compositing descendant forces
9951         a reflection ancestor to composite now.
9952         (WebCore::RenderLayerBacking::containsPaintedContent): Reflection layers don't paint anything.
9953         (WebCore::RenderLayerBacking::isDirectlyCompositedImage): No need to fall out of direct compositing mode
9954         for masks or reflections any more.
9955         (WebCore::RenderLayerBacking::paintIntoLayer): No need to paint the reflection manually now.
9956
9957         * rendering/RenderObject.h:
9958         (WebCore::RenderObject::isReplica):
9959         * rendering/RenderReplica.h:
9960         (WebCore::RenderReplica::isReplica):
9961         New method used to determine if a render is a replica.
9962
9963 2010-01-15  Carol Szabo  <carol.szabo@nokia.com>
9964
9965         Reviewed by Darin Adler.
9966
9967         CSS2.1 Counters not updated when new elements are inserted in the DOM.
9968         https://bugs.webkit.org/show_bug.cgi?id=32884
9969
9970         Test: fast/css/counters/adding-nodes.html
9971
9972         * rendering/CounterNode.cpp:
9973         (WebCore::CounterNode::insertAfter):
9974         Modified to handle the addition of nodes with children. Needed when formerly 
9975         root nodes become descendants of a new node.
9976         * rendering/RenderCounter.cpp:
9977         (WebCore::makeCounterNode):
9978         Changed to handle the case when root counter nodes lose their root 
9979         status as a result of a new root counter node creation. 
9980         (WebCore::destroyCounterNodeWithoutMapRemoval):
9981         Refactored more code into destroyCounterNodeChildren and renamed the
9982         function according to its new action.
9983         (WebCore::RenderCounter::destroyCounterNodes):
9984         Simplified to share more code with the new destroyCounterNode.
9985         (WebCore::RenderCounter::destroyCounterNode):
9986         Added to allow for selective counterNode destruction.
9987         (WebCore::RenderCounter::rendererSubtreeAttached):
9988         Added to refresh counter values in response to DOM changes.
9989         For renderers with no attached counters the execution time of this
9990         function cannot be discerned in comparison with the time needed to
9991         add a node or change the style of a node.
9992         (WebCore::updateCounters):
9993         Helper function for rendererSubtreeAttached. Updates the counters
9994         attached to a Renderer in response to the renderer or its ancestors
9995         being attached to the renderer tree.
9996         * rendering/RenderCounter.h:
9997         * rendering/RenderObject.cpp:
9998         (WebCore::RenderObject::addChild):
9999         Changed to update counter values if needed.
10000
10001 2010-01-15  Alejandro G. Castro  <alex@igalia.com>
10002
10003         Reviewed by Xan Lopez.
10004
10005         Original patch by David Ronis <david.ronis@mcgill.ca>
10006
10007         Upgrade 1.1.17->1.1.18 fails: GTK_WIDGET_TOPLEVEL' was not declared in this scope
10008         https://bugs.webkit.org/show_bug.cgi?id=33486
10009
10010         Deprecated symbols replaced for gtk+ versions over 2.18.
10011
10012         * platform/gtk/PlatformScreenGtk.cpp:
10013         (WebCore::getVisual):
10014         (WebCore::screenRect):
10015
10016 2010-01-15  Oliver Hunt  <oliver@apple.com>
10017
10018         Reviewed by Sam Weinig.
10019
10020         Bad DOM performance in large SVG files
10021         https://bugs.webkit.org/show_bug.cgi?id=30055
10022
10023         Improve the performance of the early culling check by avoiding save/restore
10024         of graphics state in culled case.
10025
10026         * rendering/RenderPath.cpp:
10027         (WebCore::RenderPath::paint):
10028
10029 2010-01-15  Eric Seidel  <eric@webkit.org>
10030
10031         No review, rolling out r53344.
10032         http://trac.webkit.org/changeset/53344
10033         https://bugs.webkit.org/show_bug.cgi?id=32920
10034
10035         Broke the Chromium Mac builder.
10036
10037         * WebCore.gypi:
10038         * bindings/scripts/CodeGeneratorV8.pm:
10039         * bindings/v8/SerializedScriptValue.cpp: Removed.
10040         * bindings/v8/SerializedScriptValue.h:
10041         (WebCore::SerializedScriptValue::create):
10042         (WebCore::SerializedScriptValue::release):
10043         (WebCore::SerializedScriptValue::toString):
10044         (WebCore::SerializedScriptValue::SerializedScriptValue):
10045         * bindings/v8/custom/V8DOMWindowCustom.cpp:
10046         (WebCore::V8DOMWindow::postMessageCallback):
10047         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
10048         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
10049         * bindings/v8/custom/V8HistoryCustom.cpp:
10050         (WebCore::V8History::pushStateCallback):
10051         (WebCore::V8History::replaceStateCallback):
10052         * bindings/v8/custom/V8MessageEventCustom.cpp:
10053         (WebCore::V8MessageEvent::initMessageEventCallback):
10054         * bindings/v8/custom/V8MessagePortCustom.cpp:
10055         (WebCore::V8MessagePort::postMessageCallback):
10056         * bindings/v8/custom/V8PopStateEventCustom.cpp:
10057         (WebCore::V8PopStateEvent::initPopStateEventCallback):
10058         (WebCore::V8PopStateEvent::stateAccessorGetter):
10059         * bindings/v8/custom/V8WorkerCustom.cpp:
10060         (WebCore::V8Worker::postMessageCallback):
10061
10062 2010-01-15  Darin Fisher  <darin@chromium.org>
10063
10064         Reviewed by Brady Eidson.
10065
10066         history.length does not return number of elements in history list
10067         https://bugs.webkit.org/show_bug.cgi?id=24472
10068
10069         Test: fast/history/history-length.html
10070
10071         * page/Page.cpp:
10072         (WebCore::Page::getHistoryLength):
10073
10074 2010-01-15  Dmitry Titov  <dimich@chromium.org>
10075
10076         Reviewed by Darin Adler.
10077
10078         Need to ensure that Document::postTask does not provide the Task with a dangling pointer to destroyed Document
10079         https://bugs.webkit.org/show_bug.cgi?id=31633
10080
10081         Don't see a way to add test for it, we don't have a way to reproduce the issue currently.
10082
10083         * dom/Document.cpp:
10084         (WebCore::DocumentWeakReference::DocumentWeakReference):
10085         (WebCore::DocumentWeakReference::document):
10086         (WebCore::DocumentWeakReference::clear):
10087         (WebCore::Document::Document): Create a weak reference to this Document.
10088         (WebCore::Document::~Document): Clear the weak pointer, preventing further execution of tasks.
10089         (WebCore::PerformTaskContext::PerformTaskContext):
10090         (WebCore::performTask): Check if the documentWeakReference is cleared by Document destructor - in this case do not run the task.
10091         (WebCore::Document::postTask):
10092         * dom/Document.h:
10093         (WebCore::DocumentWeakReference::create):
10094
10095 2010-01-15  Vitaly Repeshko  <vitalyr@chromium.org>
10096
10097         Reviewed by David Levin.
10098
10099         [V8] Support SerializedScriptValue.
10100         https://bugs.webkit.org/show_bug.cgi?id=32920
10101         http://crbug.com/30620
10102
10103         Initial implementation of SerializedScriptValue which is used to
10104         to create a serialized representation of JavaScript objects.  This
10105         representation is needed for structured clones and worker messages.
10106
10107         * WebCore.gypi: Added SerializedScriptValue.cpp.
10108         * bindings/scripts/CodeGeneratorV8.pm: Removed conversion to string before using SerializedScriptValue.
10109         * bindings/v8/SerializedScriptValue.cpp: Added.
10110         (WebCore::):
10111         (WebCore::ZigZag::encode):
10112         (WebCore::ZigZag::decode):
10113         (WebCore::Writer::Writer):
10114         (WebCore::Writer::writeUndefined):
10115         (WebCore::Writer::writeNull):
10116         (WebCore::Writer::writeTrue):
10117         (WebCore::Writer::writeFalse):
10118         (WebCore::Writer::writeString):
10119         (WebCore::Writer::writeInt32):
10120         (WebCore::Writer::writeNumber):
10121         (WebCore::Writer::endComposite):
10122         (WebCore::Writer::data):
10123         (WebCore::Writer::doWriteUint32):
10124         (WebCore::Writer::append):
10125         (WebCore::Writer::ensureSpace):
10126         (WebCore::Writer::fillHole):
10127         (WebCore::Writer::charAt):
10128         (WebCore::Serializer::Serializer):
10129         (WebCore::Serializer::serialize):
10130         (WebCore::Serializer::StateBase::~StateBase):
10131         (WebCore::Serializer::StateBase::nextState):
10132         (WebCore::Serializer::StateBase::setNextState):
10133         (WebCore::Serializer::StateBase::composite):
10134         (WebCore::Serializer::StateBase::StateBase):
10135         (WebCore::Serializer::State::composite):
10136         (WebCore::Serializer::State::tag):
10137         (WebCore::Serializer::State::State):
10138         (WebCore::Serializer::StackCleaner::StackCleaner):
10139         (WebCore::Serializer::StackCleaner::~StackCleaner):
10140         (WebCore::Serializer::ArrayState::ArrayState):
10141         (WebCore::Serializer::ArrayState::done):
10142         (WebCore::Serializer::ArrayState::advance):
10143         (WebCore::Serializer::ObjectState::ObjectState):
10144         (WebCore::Serializer::ObjectState::done):
10145         (WebCore::Serializer::ObjectState::advance):
10146         (WebCore::Serializer::ObjectState::nextProperty):
10147         (WebCore::Serializer::doSerialize):
10148         (WebCore::Serializer::push):
10149         (WebCore::Serializer::top):
10150         (WebCore::Serializer::pop):
10151         (WebCore::Serializer::checkComposite):
10152         (WebCore::Reader::Reader):
10153         (WebCore::Reader::isEof):
10154         (WebCore::Reader::read):
10155         (WebCore::Reader::readTag):
10156         (WebCore::Reader::readString):
10157         (WebCore::Reader::readInt32):
10158         (WebCore::Reader::readNumber):
10159         (WebCore::Reader::doReadUint32):
10160         (WebCore::Deserializer::Deserializer):
10161         (WebCore::Deserializer::deserialize):
10162         (WebCore::Deserializer::doDeserialize):
10163         (WebCore::Deserializer::push):
10164         (WebCore::Deserializer::pop):
10165         (WebCore::Deserializer::stackDepth):
10166         (WebCore::Deserializer::element):
10167         (WebCore::SerializedScriptValue::SerializedScriptValue):
10168         (WebCore::SerializedScriptValue::deserialize):
10169         * bindings/v8/SerializedScriptValue.h:
10170         (WebCore::SerializedScriptValue::create):
10171         (WebCore::SerializedScriptValue::createFromWire):
10172         (WebCore::SerializedScriptValue::release):
10173         (WebCore::SerializedScriptValue::toWireString):
10174
10175         Updated uses of SerializedScriptValue:
10176         * bindings/v8/custom/V8DOMWindowCustom.cpp:
10177         (WebCore::V8DOMWindow::postMessageCallback):
10178         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
10179         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
10180         * bindings/v8/custom/V8HistoryCustom.cpp:
10181         (WebCore::V8History::pushStateCallback):
10182         (WebCore::V8History::replaceStateCallback):
10183         * bindings/v8/custom/V8MessageEventCustom.cpp:
10184         (WebCore::V8MessageEvent::initMessageEventCallback):
10185         * bindings/v8/custom/V8MessagePortCustom.cpp:
10186         (WebCore::V8MessagePort::postMessageCallback):
10187         * bindings/v8/custom/V8WorkerCustom.cpp:
10188         (WebCore::V8Worker::postMessageCallback):
10189
10190 2010-01-15  Oliver Hunt  <oliver@apple.com>
10191
10192         Reviewed by Dirk Schulze.
10193
10194         Bad DOM performance in large SVG files
10195         https://bugs.webkit.org/show_bug.cgi?id=30055
10196
10197         Add an early return when we go to paint a RenderPath that
10198         isn't in the current clip.
10199
10200         * rendering/RenderPath.cpp:
10201         (WebCore::RenderPath::paint):
10202         * svg/graphics/SVGImage.cpp:
10203         (WebCore::SVGImage::draw):
10204
10205 2010-01-15  Steve Block  <steveblock@google.com>
10206
10207         Reviewed by Eric Seidel.
10208
10209         Make Geolocation::suspend/resume public.
10210         https://bugs.webkit.org/show_bug.cgi?id=33679
10211
10212         These were made private in Bug 32499, but are required by Android to be public.
10213
10214         No new tests, build fix only.
10215
10216         * page/Geolocation.cpp: Modified
10217         (WebCore::Geolocation::suspend): Added back in
10218         (WebCore::Geolocation::resume): Added back in
10219         * page/Geolocation.h: Modified. Make suspend and resume public
10220
10221 2010-01-15  Alexander Pavlov  <apavlov@chromium.org>
10222
10223         Reviewed by Pavel Feldman.
10224
10225         Set pointer cursor when over a breakpoint in the BreakpointsSidebarPane
10226
10227         https://bugs.webkit.org/show_bug.cgi?id=33713
10228
10229         * inspector/front-end/inspector.css:
10230
10231 2010-01-15  Nate Chapin  <japhet@chromium.org>
10232
10233         Reviewed by Dimitri Glazkov.
10234
10235         [V8] Generate more of the custom behaviors that the v8 bindings attach to v8 FunctionTemplates.
10236
10237         * bindings/scripts/CodeGeneratorV8.pm:
10238         * bindings/v8/V8Binding.cpp:
10239         (WebCore::getToStringName):
10240         (WebCore::constructorToString):
10241         (WebCore::getToStringTemplate):
10242         * bindings/v8/V8Binding.h:
10243         * bindings/v8/V8DOMWindowShell.cpp:
10244         (WebCore::V8DOMWindowShell::createNewContext):
10245         * bindings/v8/V8DOMWrapper.cpp:
10246         (WebCore::V8DOMWrapper::getTemplate):
10247
10248 2010-01-15  Dimitri Glazkov  <dglazkov@chromium.org>
10249
10250         No review, rolling out r53331.
10251         http://trac.webkit.org/changeset/53331
10252         https://bugs.webkit.org/show_bug.cgi?id=30055
10253
10254         Broke fast/borders/svg-as-border-image-3.html. Don't give up,
10255         Oliver! You are really, really close.
10256
10257         * rendering/RenderPath.cpp:
10258         (WebCore::RenderPath::paint):
10259
10260 2010-01-15  Oliver Hunt  <oliver@apple.com>
10261
10262         Reviewed by Nikolas Zimmermann.
10263
10264         Bad DOM performance in large SVG files
10265         https://bugs.webkit.org/show_bug.cgi?id=30055
10266
10267         Add an early return when we go to paint a RenderPath that
10268         isn't in the current clip.
10269
10270         * rendering/RenderPath.cpp:
10271         (WebCore::RenderPath::paint):
10272
10273 2010-01-15  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
10274
10275         Reviewed by Antti Koivisto.
10276
10277         Use OS(MAC_OS_X) instead of PLATFORM(MAC) when determining navigator.platform
10278
10279         https://bugs.webkit.org/show_bug.cgi?id=33711
10280
10281         * page/NavigatorBase.cpp:
10282
10283 2010-01-14  Philippe Normand  <pnormand@igalia.com>
10284
10285         Reviewed by Xan Lopez.
10286
10287         [Gtk] Compiler warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning
10288         https://bugs.webkit.org/show_bug.cgi?id=33575
10289
10290         Patch from Magnus Boman <captain.magnus@gmail.com>
10291
10292         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
10293         (WebCore::mimeTypeCache): fix compiler warnings.
10294
10295 2010-01-14  Mikhail Naganov  <mnaganov@chromium.org>
10296
10297         Reviewed by Timothy Hatcher.
10298
10299         Add welcome screen to Profiles pane to provide some instructions for novices.
10300
10301         https://bugs.webkit.org/show_bug.cgi?id=19268
10302
10303         * English.lproj/localizedStrings.js:
10304         * WebCore.gypi:
10305         * WebCore.vcproj/WebCore.vcproj:
10306         * inspector/front-end/ProfileView.js:
10307         (WebInspector.CPUProfileType.prototype.get welcomeMessage):
10308         * inspector/front-end/ProfilesPanel.js:
10309         (WebInspector.ProfileType.prototype.get welcomeMessage):
10310         (WebInspector.ProfilesPanel):
10311         (WebInspector.ProfilesPanel.prototype.show):
10312         (WebInspector.ProfilesPanel.prototype.registerProfileType):
10313         (WebInspector.ProfilesPanel.prototype._addWelcomeMessage.messageButtonClicked):
10314         (WebInspector.ProfilesPanel.prototype._addWelcomeMessage):
10315         (WebInspector.ProfilesPanel.prototype.showProfile):
10316         (WebInspector.ProfilesPanel.prototype.closeVisibleView):
10317         (WebInspector.ProfilesPanel.prototype._updateInterface):
10318         * inspector/front-end/WebKit.qrc:
10319         * inspector/front-end/WelcomeView.js: Added.
10320         (WebInspector.WelcomeView):
10321         (WebInspector.WelcomeView.prototype._windowResized):
10322         (WebInspector.WelcomeView.prototype.addMessage):
10323         * inspector/front-end/inspector.css:
10324         * inspector/front-end/inspector.html:
10325
10326 2010-01-13  Girish Ramakrishnan  <girish@forwardbias.in>
10327
10328         Reviewed by Simon Hausmann.
10329
10330         [Qt/Win] Flash in QGraphicsWebView does not process hover correctly.
10331         
10332         https://bugs.webkit.org/show_bug.cgi?id=33591
10333         
10334         Mouse hover does not work as expected with the flash in some sites.
10335         - http://www.bbc.co.uk/ Hover over the map
10336         - http://www.barbie.com/ Hover over the menu items (Games, Videos)
10337         The problem appears to be that Flash queries NPNVnetscapeWindow on every
10338         mouse hover. I do not how flash uses this value but returning 0 when flash
10339         is in windowless mode solves the problem (When using QGraphicsWebView we
10340         inject wmode opaque, thereby putting the plugin in windowless mode).
10341
10342         * plugins/win/PluginViewWin.cpp:
10343         (windowHandleForPageClient):
10344
10345 2010-01-15  Zoltan Horvath  <zoltan@webkit.org>
10346
10347         Reviewed by Darin Adler.
10348
10349         Allow custom memory allocation control for Peer class
10350         https://bugs.webkit.org/show_bug.cgi?id=33670
10351
10352         Inherits the following class from Noncopyable because it is 
10353         instantiated by 'new' and no need to be copyable:
10354
10355         class name - instantiated at: WebCore/'location'
10356         class Peer - websockets/WebSocketChannelClient.h:38
10357
10358         * websockets/WorkerThreadableWebSocketChannel.h:
10359
10360 2010-01-15  Zoltan Horvath  <zoltan@webkit.org>
10361
10362         Reviewed by Oliver Hunt.
10363
10364         [Qt] Allow custom memory allocation control for GraphicsContextPlatformPrivate class
10365         https://bugs.webkit.org/show_bug.cgi?id=33669
10366
10367         Inherits the following class from Noncopyable because it is 
10368         instantiated by 'new' and no need to be copyable:
10369
10370         class name                           - instantiated at: WebCore/'location'
10371         class GraphicsContextPlatformPrivate - platform/graphics/qt/GraphicsContextQt.cpp:254
10372
10373         * platform/graphics/qt/GraphicsContextQt.cpp:
10374
10375 2010-01-14  Darin Fisher  <darin@chromium.org>
10376
10377         Reviewed by Brady Eidson.
10378
10379         history.pushState should clear the entire forward history
10380         https://bugs.webkit.org/show_bug.cgi?id=33160
10381
10382         Test: fast/loader/stateobjects/pushstate-clears-forward-history.html
10383
10384         * history/BackForwardList.cpp:
10385         (WebCore::BackForwardList::addItem):
10386         (WebCore::BackForwardList::pushStateItem):
10387         * history/BackForwardList.h:
10388
10389 2010-01-14  Gavin Barraclough  <barraclough@apple.com>
10390
10391         Rubber stamped by Sam Weinig.
10392
10393         Make naming & behaviour of UString[Impl] methods more consistent.
10394         https://bugs.webkit.org/show_bug.cgi?id=33702
10395
10396         WebCore change reflecting UString method name change computedHash() -> existingHash().
10397
10398         * platform/text/AtomicString.cpp:
10399         (WebCore::AtomicString::add):
10400         (WebCore::AtomicString::find):
10401
10402 2010-01-14  Dan Bernstein  <mitz@apple.com>
10403
10404         Reviewed by Simon Fraser.
10405
10406         <rdar://problem/6020083> -webkit-gradient slows down scrolling when page has horizontal scrollbar
10407         https://bugs.webkit.org/show_bug.cgi?id=19650
10408
10409         * platform/graphics/GeneratedImage.cpp:
10410         (WebCore::GeneratedImage::drawPattern): Added call to adjustParametersForTiledDrawing(),
10411         letting the generator substitute the parameters with visually-equivalent values that
10412         are more efficient.
10413         * platform/graphics/Generator.h:
10414         (WebCore::Generator::adjustParametersForTiledDrawing): Added a base class implementation
10415         that does nothing.
10416         * platform/graphics/Gradient.cpp:
10417         (WebCore::Gradient::adjustParametersForTiledDrawing): Added. If the gradient is a horizontal
10418         or vertical linear gradient, changes to use a 1-pixel tall (or wide) tile.
10419         * platform/graphics/Gradient.h:
10420
10421 2010-01-14  Norbert Leser  <norbert.leser@nokia.com>
10422
10423         Reviewed by Laszlo Gombos.
10424
10425         Platform Symbian specific:
10426         Added time-based optimization (-Otime) and increased optimization level to -O3,
10427         conditionally for RVCT compiler (for ARM), for increasing performance
10428         (primarily affecting JavaScript execution).
10429         Default settings are -Ospace and -O2.
10430
10431         No new tests needed because no new funtionality is introduced,
10432         only potential regression on existing tests needs to be evaluated.
10433
10434         * WebCore.pro:
10435
10436 2010-01-14  Jungshik Shin  <jshin@chromium.org>
10437
10438         Unreviewed, attempted build fix on chromium.
10439
10440         Fix a Chromium build failure due to an unused variable in V8 binding.(part 2)
10441
10442         * bindings/v8/V8Collection.h:
10443         (WebCore::getNamedPropertyOfCollection):
10444
10445 2010-01-14  Jungshik Shin  <jshin@chromium.org>
10446
10447         Unreviewed, attempted build fix on chromium.
10448
10449         Fix a Chromium build failure due to an unused variable in V8 binding. 
10450
10451         * bindings/v8/V8Collection.h:
10452         (WebCore::getIndexedPropertyOfCollection):
10453
10454 2010-01-14  Peter Kasting  <pkasting@google.com>
10455
10456         Unreviewed, attempted build fix.
10457
10458         * platform/image-decoders/gif/GIFImageDecoder.cpp:
10459         (WebCore::GIFImageDecoder::haveDecodedRow):
10460
10461 2010-01-14  Peter Kasting  <pkasting@google.com>
10462
10463         Reviewed by Adam Barth.
10464
10465         Simplify image decoders by making downsampling functions available at
10466         all times, allowing much duplicated logic to be collapsed.
10467         https://bugs.webkit.org/show_bug.cgi?id=28751
10468
10469         * platform/graphics/ImageSource.cpp:
10470         (WebCore::ImageSource::setData):
10471         * platform/image-decoders/ImageDecoder.cpp:
10472         (WebCore::ImageDecoder::prepareScaleDataIfNecessary):
10473         * platform/image-decoders/ImageDecoder.h:
10474         (WebCore::ImageDecoder::ImageDecoder):
10475         (WebCore::ImageDecoder::scaledSize):
10476         (WebCore::ImageDecoder::setMaxNumPixels):
10477         * platform/image-decoders/gif/GIFImageDecoder.cpp:
10478         (WebCore::GIFImageDecoder::sizeNowAvailable):
10479         (WebCore::GIFImageDecoder::initFrameBuffer):
10480         (WebCore::GIFImageDecoder::haveDecodedRow):
10481         (WebCore::GIFImageDecoder::frameComplete):
10482         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
10483         (WebCore::JPEGImageDecoder::setSize):
10484         (WebCore::JPEGImageDecoder::outputScanlines):
10485         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
10486         * platform/image-decoders/png/PNGImageDecoder.cpp:
10487         (WebCore::PNGImageDecoder::headerAvailable):
10488         (WebCore::PNGImageDecoder::rowAvailable):
10489
10490 2010-01-14  Jian Li  <jianli@chromium.org>
10491
10492         Reviewed by Eric Seidel.
10493
10494         [chromium] Remove obsolete CF related files from gyp build.
10495         https://bugs.webkit.org/show_bug.cgi?id=33002
10496
10497         * WebCore.gypi:
10498
10499 2010-01-14  Peter Kasting  <pkasting@google.com>
10500
10501         Reviewed by Adam Barth.
10502
10503         Decoding images to scaled output buffers resulted in garbage for
10504         no-alpha PNGs and CMYK JPEGs.
10505         https://bugs.webkit.org/show_bug.cgi?id=33624
10506         
10507         No layout test since I don't have access to a platform that scales the
10508         output buffers.
10509
10510         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
10511         (WebCore::convertCMYKToRGBA):
10512         * platform/image-decoders/png/PNGImageDecoder.cpp:
10513         (WebCore::PNGImageDecoder::rowAvailable):
10514
10515 2010-01-14  Brian Weinstein  <bweinstein@apple.com>
10516
10517         Rubber-stamped by Oliver Hunt.
10518
10519         Fix an assertion that was causing test crashes. Filed a bug
10520         about the weirdness that causes this assertion (inconsistencies 
10521         between DragOperationMove and DragOperationGeneric).
10522
10523         * dom/Clipboard.cpp:
10524         (WebCore::dragOpFromIEOp):
10525         (WebCore::Clipboard::setDestinationOperation):
10526
10527 2010-01-14  Beth Dakin  <bdakin@apple.com>
10528
10529         Reviewed by Sam Weinig.
10530
10531         Fix for https://bugs.webkit.org/show_bug.cgi?id=33498 REGRESSION: 
10532         svg/css/circle-in-mask-with-shadow.svg failing pixel tests
10533         -and corresponding-
10534         <rdar://problem/7544176>
10535
10536         This change makes repaintRectInLocalCoordinates return a rect that 
10537         is -webkit-svg-shadow-aware.
10538
10539         * rendering/RenderPath.cpp:
10540         (WebCore::RenderPath::repaintRectInLocalCoordinates):
10541         * rendering/RenderSVGContainer.cpp:
10542         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
10543         * rendering/RenderSVGImage.cpp:
10544         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
10545         * rendering/RenderSVGRoot.cpp:
10546         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
10547         * rendering/RenderSVGText.cpp:
10548         (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
10549         * rendering/SVGRenderSupport.cpp:
10550         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
10551         * rendering/style/SVGRenderStyle.cpp:
10552         (WebCore::SVGRenderStyle::inflateForShadow):
10553         * rendering/style/SVGRenderStyle.h:
10554
10555 2010-01-14  Brian Weinstein  <bweinstein@apple.com>
10556
10557         Reviewed by Adam Roben.
10558
10559         Drag and Drop source/destination code needs cleanup.
10560         <https://bugs.webkit.org/show_bug.cgi?id=33691>.
10561         
10562         Cleaned up some Drag and Drop code that deals with getting
10563         source and destination operations, and added some ASSERTS to make
10564         sure we don't get in bad states.
10565
10566         * dom/Clipboard.cpp:
10567         (WebCore::Clipboard::sourceOperation): Make this return the operation itself.
10568         (WebCore::Clipboard::destinationOperation): Ditto.
10569         (WebCore::Clipboard::setSourceOperation): Add an assert to make sure we're valud.
10570         (WebCore::Clipboard::setDestinationOperation): Ditto.
10571         * dom/Clipboard.h:
10572         * page/DragController.cpp:
10573         (WebCore::DragController::tryDHTMLDrag):
10574         * page/EventHandler.cpp:
10575         (WebCore::EventHandler::handleDrag):
10576
10577 2010-01-14  Timothy Hatcher  <timothy@apple.com>
10578
10579         Make the Web Inspector's JavaScript debugger work with isolated worlds.
10580         Console evaluation is not performed in the correct world yet, tracked
10581         by bug http://webkit.org/b/33692.
10582
10583         http://webkit.org/b/33690
10584
10585         Reviewed by Adam Roben.
10586
10587         * bindings/js/ScriptCachedFrameData.cpp:
10588         (WebCore::ScriptCachedFrameData::restore): Attach the debugger to
10589         any window shell, not just for the debugger world.
10590         * bindings/js/ScriptController.cpp:
10591         (WebCore::ScriptController::clearWindowShell): Detach the debugger, and
10592         reattach to all window shells, not just for the debugger world.
10593         (WebCore::ScriptController::initScript): Attach the debugger to
10594         any window shell, not just for the debugger world.
10595         (WebCore::ScriptController::attachDebugger): Changed to loop through
10596         all the window shells and call the new overloaded attachDebugger.
10597         (WebCore::ScriptController::attachDebugger): Added. An overload that
10598         takes a window shell to attach the debugger to. Has most of the
10599         logic from the original attachDebugger.
10600         * bindings/js/ScriptController.h: Added the new attachDebugger.
10601
10602 2010-01-14  Adam Roben  <aroben@apple.com>
10603
10604         Make Cache::requestResource return 0 if the resource's load fails
10605         immediately
10606
10607         Fixes <rdar://problem/7543406> <http://webkit.org/b/33687>
10608         window.onload never fires if page contains a <script src=foo> whose
10609         load is cancelled by resource load delegate returning null from
10610         willSendRequest
10611
10612         Test: fast/loader/onload-willSendRequest-null-for-script.html
10613
10614         Reviewed by Dave Hyatt.
10615
10616         * loader/Cache.cpp:
10617         (WebCore::Cache::requestResource): Moved code to handle immediate load
10618         failure out of the "cache is disabled" block so that it will run even
10619         when the cache is enabled.
10620
10621 2010-01-14  Stephen White  <senorblanco@chromium.org>
10622
10623         Reviewed by mitz@webkit.org.
10624
10625         Fix for crash with gradient on table cell.  Pass the correct
10626         background object down to
10627         RenderBoxModelObject::paintFillLayerExtended().  This also allowed a
10628         rework of the fix to bug 18445 by passing the correct RenderObject
10629         from RenderBox::paintRootBoxDecorations() down to
10630         RenderBoxModelObject::paintFillLayerExtended().
10631         https://bugs.webkit.org/show_bug.cgi?id=28426
10632
10633         Covered by new layout test:  LayoutTests/fast/gradients/crash-on-tr.html
10634
10635         * rendering/RenderBox.cpp:
10636         (WebCore::RenderBox::paintFillLayers):
10637         (WebCore::RenderBox::paintFillLayer):
10638         * rendering/RenderBox.h:
10639         Plumb through the correct background RenderObject.
10640         * rendering/RenderBoxModelObject.cpp:
10641         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
10642         Use the passed-in background RenderObject (if present) when painting background images.  Remove the previous fix for bug 18445.
10643         * rendering/RenderBoxModelObject.h:
10644         Plumb through the correct background RenderObject.
10645         * rendering/RenderTableCell.cpp:
10646         Pass in the correct backgroundObject to paintFillLayers().
10647
10648         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
10649
10650 2010-01-14  Nate Chapin  <japhet@chromium.org>
10651
10652         Reviewed by Dimitri Glazkov.
10653
10654         Standardize the rest of the v8 bindings on toNative() wherever possible.
10655
10656         https://bugs.webkit.org/show_bug.cgi?id=33677
10657
10658         * bindings/v8/NPV8Object.cpp:
10659         (v8ObjectToNPObject): Special case for converting NPObjects, since there aren't genereated bindings for them.
10660         * bindings/v8/NPV8Object.h:
10661         * bindings/v8/ScriptController.cpp:
10662         * bindings/v8/V8Collection.cpp:
10663         * bindings/v8/V8Collection.h:
10664         (WebCore::toNativeCollection): Special case for converting V8Collections, since there aren't genereated bindings for them.
10665         * bindings/v8/V8DOMWindowShell.cpp:
10666         * bindings/v8/V8DOMWrapper.cpp:
10667         * bindings/v8/V8DOMWrapper.h:
10668         * bindings/v8/V8NPObject.cpp:
10669         * bindings/v8/V8Proxy.cpp:
10670         * bindings/v8/V8SVGPODTypeWrapper.h:
10671         * bindings/v8/WorkerContextExecutionProxy.cpp:
10672
10673 2010-01-14  Evan Stade  <estade@chromium.org>
10674
10675         Reviewed by Eric Seidel.
10676
10677         Chromium Linux: don't stretch checkboxes
10678         https://bugs.webkit.org/show_bug.cgi?id=28631
10679
10680         Make the default size for checkboxes/radio buttons also the maximum
10681         size.
10682
10683         Based on patch by Adam Langley.
10684
10685         Test: fast/css/non-standard-checkbox-size.html
10686
10687         * rendering/RenderThemeChromiumSkia.cpp:
10688         (WebCore::center):
10689         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
10690         (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
10691         (WebCore::RenderThemeChromiumSkia::paintRadio):
10692
10693 2010-01-14  Brian Weinstein  <bweinstein@apple.com>
10694
10695         Reviewed by Adam Roben.
10696
10697         Follow up to <https://bugs.webkit.org/show_bug.cgi?id=33635>.
10698         
10699         Now that dropEffect and effectAllowed are guaranteed to not be
10700         null, change null checks into asserts to make sure we are returning
10701         a proper DragOperation value.
10702
10703         * dom/Clipboard.cpp:
10704         (WebCore::Clipboard::sourceOperation): Change null check to assert.
10705         (WebCore::Clipboard::destinationOperation): Ditto.
10706
10707 2010-01-14  Brian Weinstein  <bweinstein@apple.com>
10708
10709         Reviewed by Oliver Hunt.
10710
10711         [DnD] effectAllowed and dropEffect can be set to bogus values.
10712         Fixes <https://bugs.webkit.org/show_bug.cgi?id=33635>.
10713         
10714         Test to make aure dropEffect and effectAllowed are being set to valid values
10715         when they are being set (list of valid values given by HTML5 specification).
10716         
10717         Also, drive by change to initialize dropEffect to none (as described in spec).
10718
10719         Test: fast/events/bogus-dropEffect-effectAllowed.html
10720
10721         * dom/Clipboard.cpp:
10722         (WebCore::Clipboard::Clipboard): Initialize m_dropEffect to "none".
10723         (WebCore::Clipboard::setDropEffect): Check if dropEffect is being set to a valid value.
10724         (WebCore::Clipboard::setEffectAllowed): Check if effectAllowed is being set to a valid value.
10725
10726 2010-01-14  Kent Hansen  <kent.hansen@nokia.com>
10727
10728         Reviewed by Darin Adler.
10729
10730         Infinite recursion in RuntimeObjectImp::getOwnPropertyNames()
10731         https://bugs.webkit.org/show_bug.cgi?id=33371
10732
10733         RuntimeObjectImp should not reimplement getPropertyNames();
10734         move the implementation to getOwnPropertyNames().
10735
10736         * bridge/runtime_object.cpp:
10737         (JSC::RuntimeObjectImp::getOwnPropertyNames):
10738         * bridge/runtime_object.h:
10739
10740 2010-01-14  Kwang Yul Seo  <skyul@company100.net>
10741
10742         Reviewed by Alexey Proskuryakov.
10743
10744         Add ENABLE(XSLT) guard to TransformSourceLibxslt.cpp
10745         https://bugs.webkit.org/show_bug.cgi?id=33665
10746
10747         TransformSource is available only when ENABLE(XSLT) guard is true.
10748
10749         * dom/TransformSourceLibxslt.cpp:
10750
10751 2010-01-14  Adam Roben  <aroben@apple.com>
10752
10753         Treat all synchronous loads equally in FrameLoader::loadSubframe
10754
10755         Only loads of the empty URL or about:blank were being treated as
10756         synchronous loads. But other loads can be synchronous (e.g., when we
10757         receive a null ResourceRequest from requestFromDelegate or when a
10758         policy decision of "ignore" is made). We now treat those loads the
10759         same way we treated empty URLs and about:blank.
10760
10761         Fixes <rdar://problem/7533333> <http://webkit.org/b/33533>
10762         window.onload never fires if page contains an <iframe> with a bad
10763         scheme or whose load is cancelled by returning null from resource load
10764         delegate's willSendRequest
10765
10766         Tests: fast/loader/onload-bad-scheme-for-frame.html
10767                fast/loader/onload-policy-ignore-for-frame.html
10768                fast/loader/onload-willSendRequest-null-for-frame.html
10769
10770         Reviewed by Brady Eidson.
10771
10772         * loader/FrameLoader.cpp:
10773         (WebCore::FrameLoader::loadSubframe):
10774           - Detect synchronous loads by checking the subframe's loader's
10775             state, rather than by checking its URL
10776           - Removed unnecessary call to completed(), since checkCompleted()
10777             will call completed() if needed (the call to completed() was added
10778             first and wasn't removed when the call to checkCompleted() was
10779             added in r8316)
10780           - Added more comments about the strange thing this function does
10781             with the subframe's loader
10782
10783 2010-01-14  Diego Gonzalez  <diego.gonzalez@openbossa.org>
10784
10785         Reviewed by Kenneth Christiansen.
10786
10787         [Qt] Missing fileSystemPath() method in Qt KURL implementation
10788         https://bugs.webkit.org/show_bug.cgi?id=33614
10789
10790         No new tests.
10791
10792         * platform/qt/KURLQt.cpp:
10793         (WebCore::KURL::fileSystemPath):
10794
10795 2010-01-13  Alexey Proskuryakov  <ap@apple.com>
10796
10797         Reviewed by Brady Eidson.
10798
10799         https://bugs.webkit.org/show_bug.cgi?id=33652
10800         REGRESSION: Frames stop appearing after browsing for a while
10801
10802         <rdar://problem/7308312> REGRESSION: iBench gets slower after several runs
10803
10804         I do not know how not creating renderers for frames could make iBench slower, but it did.
10805
10806         Test: fast/frames/cached-frame-counter.html
10807
10808         * history/CachedFrame.cpp:
10809         (WebCore::CachedFrame::CachedFrame): A frame that's cached is moved away from Page,
10810         so decrement frame count here.
10811         (WebCore::CachedFrame::open): Increase frame count when a frame is restored.
10812
10813         * history/CachedFrame.h: Remove unneeded forward declarations.
10814
10815         * history/CachedPage.h: Ditto.
10816
10817         * history/CachedPage.cpp: (WebCore::CachedPage::restore): Assert that page frame count is
10818         zero prior to restoring a page from b/f cache.
10819         
10820         * page/Page.cpp: (WebCore::Page::checkFrameCountConsistency): A debug-only method to
10821         check that frame count stored in Page matches the number of frames in frame tree.
10822
10823         * page/Page.h:
10824         (WebCore::Page::decrementFrameCount): Assert that frame count is positive.
10825         (WebCore::Page::frameCount): Call checkFrameCountConsistency().
10826
10827 2010-01-14  Steve Falkenburg  <sfalken@apple.com>
10828
10829         Windows build fixes.
10830         Add forward declarations and additional includes of windows.h.
10831
10832         * platform/Cursor.h: Add forward declaration of HCURSOR. Move destructor implementation into cpp.
10833         * platform/graphics/transforms/TransformationMatrix.h: Add forward declaration of XFORM. Remove windows.h include.
10834         * platform/graphics/win/TransformationMatrixWin.cpp: Add include of windows.h.
10835         * platform/win/CursorWin.cpp: Moved destructor of SharedCursor here.
10836         (WebCore::SharedCursor::~SharedCursor): Moved here.
10837         * platform/win/EventLoopWin.cpp: Add include of windows.h.
10838         * platform/win/SystemInfo.cpp: Add include of windows.h.
10839
10840 2010-01-14  Nate Chapin  <japhet@chromium.org>
10841
10842         Reviewed by Dimitri Glazkov.
10843
10844         Switch the custom V8 bindings to use class toNative() functions.
10845
10846         Refactoring, so no new tests.
10847
10848         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
10849         * bindings/v8/custom/V8AttrCustom.cpp:
10850         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
10851         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
10852         * bindings/v8/custom/V8ClipboardCustom.cpp:
10853         * bindings/v8/custom/V8CoordinatesCustom.cpp:
10854         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
10855         * bindings/v8/custom/V8DOMWindowCustom.cpp:
10856         * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
10857         * bindings/v8/custom/V8DatabaseCustom.cpp:
10858         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
10859         * bindings/v8/custom/V8DocumentCustom.cpp:
10860         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
10861         * bindings/v8/custom/V8ElementCustom.cpp:
10862         * bindings/v8/custom/V8EventCustom.cpp:
10863         * bindings/v8/custom/V8GeolocationCustom.cpp:
10864         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
10865         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
10866         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
10867         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
10868         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
10869         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
10870         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
10871         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
10872         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
10873         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
10874         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
10875         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
10876         * bindings/v8/custom/V8HistoryCustom.cpp:
10877         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
10878         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
10879         * bindings/v8/custom/V8LocationCustom.cpp:
10880         * bindings/v8/custom/V8MessageEventCustom.cpp:
10881         * bindings/v8/custom/V8MessagePortCustom.cpp:
10882         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
10883         * bindings/v8/custom/V8NodeCustom.cpp:
10884         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
10885         * bindings/v8/custom/V8NodeListCustom.cpp:
10886         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
10887         * bindings/v8/custom/V8PopStateEventCustom.cpp:
10888         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
10889         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
10890         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
10891         * bindings/v8/custom/V8SVGLengthCustom.cpp:
10892         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
10893         * bindings/v8/custom/V8StorageCustom.cpp:
10894         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
10895         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
10896         * bindings/v8/custom/V8WebGLArrayCustom.h:
10897         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
10898         * bindings/v8/custom/V8WebSocketCustom.cpp:
10899         * bindings/v8/custom/V8WorkerContextCustom.cpp:
10900         * bindings/v8/custom/V8WorkerCustom.cpp:
10901         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
10902         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
10903         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
10904
10905 2010-01-14  Martin Robinson  <martin.james.robinson@gmail.com>
10906
10907         Reviewed by Xan Lopez.
10908
10909         [GTK] Enable DOM clipboard and drag-and-drop access
10910         https://bugs.webkit.org/show_bug.cgi?id=30623
10911
10912         Add DataObjectGtk, a container for pasteboard and drag-and-drop data.
10913
10914         No new tests, because functionality has not changed.
10915
10916         * GNUmakefile.am:
10917         * platform/gtk/DataObjectGtk.cpp: Added.
10918         (WebCore::DataObjectGtk::text):
10919         (WebCore::DataObjectGtk::markup):
10920         (WebCore::DataObjectGtk::setText):
10921         (WebCore::DataObjectGtk::setMarkup):
10922         (WebCore::DataObjectGtk::files):
10923         (WebCore::DataObjectGtk::url):
10924         (WebCore::DataObjectGtk::urlLabel):
10925         (WebCore::DataObjectGtk::hasURL):
10926         (WebCore::DataObjectGtk::clear):
10927         (WebCore::DataObjectGtk::forClipboard):
10928         * platform/gtk/DataObjectGtk.h: Added.
10929         (WebCore::DataObjectGtk::create):
10930         (WebCore::DataObjectGtk::uriList):
10931         (WebCore::DataObjectGtk::image):
10932         (WebCore::DataObjectGtk::setRange):
10933         (WebCore::DataObjectGtk::setURIList):
10934         (WebCore::DataObjectGtk::setImage):
10935         (WebCore::DataObjectGtk::setDragContext):
10936         (WebCore::DataObjectGtk::hasText):
10937         (WebCore::DataObjectGtk::hasMarkup):
10938         (WebCore::DataObjectGtk::hasURIList):
10939         (WebCore::DataObjectGtk::hasImage):
10940         (WebCore::DataObjectGtk::dragContext):
10941
10942 2010-01-14  Ilya Tikhonovsky  <loislo@chromium.org>
10943
10944         Reviewed by Pavel Feldman.
10945
10946         WebInspector: Scrolling of Timeline Page was broken by fix for bug 33470.
10947         https://bugs.webkit.org/show_bug.cgi?id=33666
10948
10949         * inspector/front-end/inspector.css:
10950
10951 2010-01-14  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
10952
10953         [Qt] Unreviewed fix of builds with the --no-svg switch.
10954
10955         * WebCore.pri:
10956
10957 2010-01-14  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
10958
10959         [Qt] Unreviewed build fix on Windows.
10960
10961         * platform/graphics/transforms/TransformationMatrix.h:
10962
10963 2010-01-14  Andreas Kling  <andreas.kling@nokia.com>
10964
10965         Reviewed by Kenneth Rohde Christiansen.
10966
10967         [Qt] Enable scrolling optimization for pages with embedded widgets
10968
10969         https://bugs.webkit.org/show_bug.cgi?id=33373
10970
10971         Added a basic manual test for scrolling of embedded QWidgets.
10972
10973         * manual-tests/qt/qtplugin-scrolling.html: Added.
10974         * platform/ScrollView.cpp:
10975         (WebCore::ScrollView::scrollContents):
10976         (WebCore::ScrollView::setParent):
10977         * platform/ScrollView.h:
10978         * platform/qt/ScrollViewQt.cpp:
10979         (WebCore::ScrollView::platformInit):
10980         (WebCore::ScrollView::platformAddChild):
10981         (WebCore::ScrollView::platformRemoveChild):
10982         * plugins/qt/PluginViewQt.cpp:
10983         (WebCore::PluginView::updatePluginWidget):
10984         (WebCore::PluginView::invalidateRect):
10985
10986 2009-12-09  Philippe Normand  <pnormand@igalia.com>
10987
10988         Reviewed by Xan Lopez.
10989
10990         [GStreamer] Check return values of gst_element_set_state()
10991         https://bugs.webkit.org/show_bug.cgi?id=30000
10992
10993         Check for state change failure when going from READY/NULL to
10994         PAUSED or PLAYING. Also refactored the common code of play() and
10995         pause() to a new private method of the player.
10996
10997         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
10998         (WebCore::MediaPlayerPrivate::changePipelineState):
10999         (WebCore::MediaPlayerPrivate::play):
11000         (WebCore::MediaPlayerPrivate::pause):
11001         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
11002
11003 2010-01-14  Eric Seidel  <eric@webkit.org>
11004
11005         No review, rolling out r53248.
11006         http://trac.webkit.org/changeset/53248
11007         https://bugs.webkit.org/show_bug.cgi?id=32641
11008
11009         Caused 2 tests to crash on various bots:
11010         fast/dom/HTMLSelectElement/listbox-select-reset.html and
11011         fast/forms/listbox-typeahead-scroll.html
11012
11013         * dom/SelectElement.cpp:
11014         (WebCore::SelectElement::recalcStyle):
11015         (WebCore::SelectElement::setRecalcListItems):
11016         (WebCore::SelectElement::recalcListItems):
11017         (WebCore::SelectElement::restoreFormControlState):
11018         (WebCore::SelectElement::reset):
11019         (WebCore::SelectElement::typeAheadFind):
11020         * dom/SelectElement.h:
11021         * html/HTMLOptionElement.cpp:
11022         (WebCore::HTMLOptionElement::selected):
11023         (WebCore::HTMLOptionElement::insertedIntoTree):
11024         * html/HTMLSelectElement.cpp:
11025         (WebCore::HTMLSelectElement::recalcStyle):
11026         * html/HTMLSelectElement.h:
11027         * wml/WMLSelectElement.cpp:
11028         (WebCore::WMLSelectElement::recalcStyle):
11029
11030 2010-01-14  Ben Murdoch  <benm@google.com>
11031
11032         Reviewed by Darin Adler.
11033
11034         [Android] [Qt] The document.createEvent API does not support touch events.
11035         https://bugs.webkit.org/show_bug.cgi?id=33605
11036
11037         Test: fast/events/touch/create-touch-event.html
11038
11039         * dom/Document.cpp:
11040         (WebCore::Document::createEvent): add creation of a TouchEvent when the "TouchEvent" argument is supplied.
11041
11042 2010-01-14  James Robinson  <jamesr@chromium.org>
11043
11044         Reviewed by Alexey Proskuryakov.
11045
11046         Ensures that the 'selected' attribute of an <option> is correct
11047         https://bugs.webkit.org/show_bug.cgi?id=32641
11048
11049         Adds a check in OptionElement::selected() that checks if list items need to be recalculated and does so if needed,
11050         so the attribute is up to date more often.  Also gets rid of most of the recalcStyle() side effects.
11051
11052          Our behavior now matches Firefox 3.5 and IE8 after the </select> is parsed.
11053
11054          Tests: fast/forms/HTMLOptionElement_selected2.html
11055                 fast/forms/HTMLOptionElement_selected3.html
11056
11057         * dom/SelectElement.cpp:
11058         (WebCore::SelectElement::setOptionsChangedOnRenderer):
11059         (WebCore::SelectElement::setRecalcListItems):
11060         (WebCore::SelectElement::recalcListItems):
11061         (WebCore::SelectElement::restoreFormControlState):
11062         (WebCore::SelectElement::reset):
11063         (WebCore::SelectElement::typeAheadFind):
11064         * dom/SelectElement.h:
11065         * html/HTMLOptionElement.cpp:
11066         (WebCore::HTMLOptionElement::selected):
11067         (WebCore::HTMLOptionElement::insertedIntoTree):
11068         * html/HTMLSelectElement.cpp:
11069         (WebCore::HTMLSelectElement::recalcStyle):
11070         (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
11071         * html/HTMLSelectElement.h:
11072         * wml/WMLSelectElement.cpp:
11073         (WebCore::WMLSelectElement::recalcStyle):
11074
11075 2010-01-14  Zoltan Horvath  <zoltan@webkit.org>
11076
11077         Reviewed by Oliver Hunt.
11078
11079         [Qt] Allow custom memory allocation control for TransparencyLayer class
11080         https://bugs.webkit.org/show_bug.cgi?id=33585
11081
11082         Inherits the following class from FastAllocBase because it is 
11083         instantiated by 'new':
11084
11085         class name              - instantiated at: WebCore/'location'
11086         class TransparencyLayer - platform/graphics/qt/GraphicsContextQt.cpp:906
11087
11088         * platform/graphics/qt/GraphicsContextQt.cpp:
11089
11090 2010-01-14  Zoltan Horvath  <zoltan@webkit.org>
11091
11092         Reviewed by Oliver Hunt.
11093
11094         [Qt] Allow custom memory allocation control for FontPlatformDataPrivate class
11095         https://bugs.webkit.org/show_bug.cgi?id=33583
11096
11097         Inherits the following class from Noncopyable because it is 
11098         instantiated by 'new' and no need to be copyable:
11099
11100         class name                    - instantiated at: WebCore/'location'
11101         class FontPlatformDataPrivate - platform/graphics/qt/FontPlatformData.h:70
11102
11103         * platform/graphics/qt/FontPlatformData.h:
11104
11105 2010-01-12  Philippe Normand  <pnormand@igalia.com>
11106
11107         Reviewed by Xan Lopez.
11108
11109         [GTK] un-needed seeks
11110         https://bugs.webkit.org/show_bug.cgi?id=33532
11111
11112         Avoid un-needed seeks. Don't seek at current playback position and
11113         don't update the rate if it is already set to target value.
11114
11115         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
11116         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
11117         (WebCore::MediaPlayerPrivate::seek):
11118         (WebCore::MediaPlayerPrivate::setRate):
11119         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
11120
11121 2010-01-14  Eric Seidel  <eric@webkit.org>
11122
11123         No review.  Tiger build fix after http://trac.webkit.org/changeset/53238.
11124
11125         Need to implement WebGLContextAttributes
11126         https://bugs.webkit.org/show_bug.cgi?id=31169
11127
11128         Fix a build break when ENABLE(3D_CANVAS) is disabled.
11129
11130         * html/HTMLCanvasElement.cpp:
11131         (WebCore::HTMLCanvasElement::getContext): UNUSED_PARAM(attrs) when 3D_CANVAS is disabled.
11132
11133 2010-01-13  Pavel Feldman  <pfeldman@chromium.org>
11134
11135         Reviewed by Timothy Hatcher.
11136
11137         Web Inspector: use hidden text area for clipboard in order to
11138         workaround windows setData bug.
11139
11140         https://bugs.webkit.org/show_bug.cgi?id=33633
11141
11142         * inspector/front-end/TextEditor.js:
11143         (WebInspector.TextEditor):
11144         (WebInspector.TextEditor.prototype._copy):
11145         * inspector/front-end/inspector.css:
11146
11147 2010-01-13  Mads Ager  <ager@chromium.org>
11148
11149         Reviewed by Dimitri Glazkov.
11150
11151         [V8] Slow named property lookup on DOMWindow because of missing fast case
11152         https://bugs.webkit.org/show_bug.cgi?id=33584
11153
11154         Add fast case checks to V8 named property getter on DOMWindow
11155         objects.  If the property is not in the DOM there is no reason to
11156         search the DOM for all occurrences.
11157
11158         Covered by layout tests.
11159
11160         * bindings/v8/custom/V8DOMWindowCustom.cpp:
11161         (WebCore::V8DOMWindow::namedPropertyGetter):
11162
11163 2010-01-13  Gavin Barraclough  <barraclough@apple.com>
11164
11165         Reviewed by Oliver Hunt.
11166
11167         <rdar://problem/7403736> REGRESSION (r49963,r49965): 8% Dromaeo Core DOM test regression
11168
11169         Adding isolated worlds support to the JSC bindings introduced a regression due to
11170         additional map lookups.  Add a mechanism to quickly detect that a lookup is for the
11171         'normal' world, and add fast paths to a couple of methods to check the normal world
11172         first.
11173
11174         * bindings/js/JSDOMBinding.cpp:
11175         (WebCore::Document::getWrapperCache):
11176         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
11177         (WebCore::forgetDOMObject):
11178         * bindings/js/JSDOMBinding.h:
11179         (WebCore::DOMWrapperWorld::isNormal):
11180         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
11181         * bindings/js/ScriptController.cpp:
11182         (WebCore::IsolatedWorld::IsolatedWorld):
11183         * dom/Document.cpp:
11184         (WebCore::Document::Document):
11185         (WebCore::Document::createWrapperCache):
11186         * dom/Document.h:
11187
11188 2010-01-13  Kenneth Russell  <kbr@google.com>
11189
11190         Reviewed by Oliver Hunt.
11191
11192         Need to implement WebGLContextAttributes
11193         https://bugs.webkit.org/show_bug.cgi?id=31169
11194
11195         Added the WebGLContextAttributes class and custom JavaScript
11196         bindings to accept a native object as the second argument to
11197         getContext("experimental-webgl") per the WebGL specification.
11198         Added GraphicsContext3D::Attributes struct to isolate DOM and
11199         graphics layers. Added getContextAttributes() to
11200         WebGLRenderingContext. Added test case ensuring that context
11201         attributes can be passed down and returned. Tested in Safari and
11202         Chromium. The attributes will be hooked up to the creation of the
11203         OpenGL context in bug 33416.
11204
11205         Test: fast/canvas/webgl/context-attributes.html
11206
11207         * DerivedSources.make:
11208         * WebCore.gypi:
11209         * WebCore.xcodeproj/project.pbxproj:
11210         * bindings/js/JSHTMLCanvasElementCustom.cpp:
11211         (WebCore::JSHTMLCanvasElement::getContext):
11212         * bindings/scripts/CodeGeneratorV8.pm:
11213         * bindings/scripts/IDLParser.pm:
11214         * bindings/v8/DOMData.cpp:
11215         * bindings/v8/DerivedSourcesAllInOne.cpp:
11216         * bindings/v8/V8DOMWrapper.cpp:
11217         * bindings/v8/V8Index.cpp:
11218         * bindings/v8/V8Index.h:
11219         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
11220         (WebCore::V8HTMLCanvasElement::getContextCallback):
11221         * html/HTMLCanvasElement.cpp:
11222         (WebCore::HTMLCanvasElement::getContext):
11223         * html/HTMLCanvasElement.h:
11224         * html/HTMLCanvasElement.idl:
11225         * html/canvas/CanvasContextAttributes.cpp: Added.
11226         (WebCore::CanvasContextAttributes::CanvasContextAttributes):
11227         (WebCore::CanvasContextAttributes::~CanvasContextAttributes):
11228         * html/canvas/CanvasContextAttributes.h: Added.
11229         * html/canvas/WebGLContextAttributes.cpp: Added.
11230         (WebCore::WebGLContextAttributes::create):
11231         (WebCore::WebGLContextAttributes::WebGLContextAttributes):
11232         (WebCore::WebGLContextAttributes::~WebGLContextAttributes):
11233         (WebCore::WebGLContextAttributes::alpha):
11234         (WebCore::WebGLContextAttributes::setAlpha):
11235         (WebCore::WebGLContextAttributes::depth):
11236         (WebCore::WebGLContextAttributes::setDepth):
11237         (WebCore::WebGLContextAttributes::stencil):
11238         (WebCore::WebGLContextAttributes::setStencil):
11239         (WebCore::WebGLContextAttributes::antialias):
11240         (WebCore::WebGLContextAttributes::setAntialias):
11241         (WebCore::WebGLContextAttributes::premultipliedAlpha):
11242         (WebCore::WebGLContextAttributes::setPremultipliedAlpha):
11243         (WebCore::WebGLContextAttributes::attributes):
11244         * html/canvas/WebGLContextAttributes.h: Added.
11245         * html/canvas/WebGLContextAttributes.idl: Added.
11246         * html/canvas/WebGLRenderingContext.cpp:
11247         (WebCore::WebGLRenderingContext::create):
11248         (WebCore::WebGLRenderingContext::getContextAttributes):
11249         * html/canvas/WebGLRenderingContext.h:
11250         * html/canvas/WebGLRenderingContext.idl:
11251         * platform/graphics/GraphicsContext3D.h:
11252         * platform/graphics/mac/GraphicsContext3DMac.cpp:
11253         (WebCore::GraphicsContext3D::create):
11254         (WebCore::GraphicsContext3D::GraphicsContext3D):
11255         (WebCore::GraphicsContext3D::getContextAttributes):
11256
11257 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
11258
11259         Fix Windows build.
11260
11261         * platform/graphics/cg/GraphicsContextCG.cpp:
11262
11263 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
11264
11265         Reviewed by Darin Adler.
11266
11267         Transition followed by animation fails to run the animation sometimes
11268         https://bugs.webkit.org/show_bug.cgi?id=33563
11269
11270         If a transition was closely followed by an animation, it was possible for the cleanup
11271         after the end of the transition to kill the animation.
11272         
11273         Fix this by including the keyframes name (or empty string for transitions) in the labels
11274         used to identify CAAnimations on layers.
11275         
11276         No test because this was a subtle timing issue that is hard to reproduce in a layout test.
11277
11278         * platform/graphics/mac/GraphicsLayerCA.h: Some new methods and signature changes.
11279         
11280         * platform/graphics/mac/GraphicsLayerCA.mm:
11281         (WebCore::animationIdentifier): Pass the keyframes name, since this is included in the identifier string now.
11282         (WebCore::moveAllAnimationsForProperty): Pass the keyframes name.
11283         (WebCore::GraphicsLayerCA::moveAnimationsForProperty): Try to move both transition- and animation-related
11284         CAAnimations, using the list of running animations to get the keyframe names for the latter.
11285
11286         (WebCore::GraphicsLayerCA::ensureStructuralLayer): moveAnimation renamed to moveAnimationsForProperty
11287         and takes the keyframes name.
11288
11289         (WebCore::GraphicsLayerCA::updateLayerAnimations): Pass keyframes name down (or "" for transitions).
11290         (WebCore::GraphicsLayerCA::setAnimationOnLayer): Pass keyframes name down.
11291         (WebCore::GraphicsLayerCA::removeAnimationFromLayer): Pass keyframes name down.
11292         (WebCore::GraphicsLayerCA::pauseAnimationOnLayer): Pass keyframes name down.
11293         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Pass keyframes name down.
11294
11295 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
11296
11297         Reviewed by Dan Bernstein.
11298
11299         Fix shadow drawing to do the correct computations using the base coordinate space
11300         https://bugs.webkit.org/show_bug.cgi?id=33629
11301         
11302         Shadows draw using the CGContext base CTM, so we need to convert the shadow offet
11303         and size from user CTM into into base CTM coordinates, via the matix obtained from wkGetUserToBaseCTM().
11304
11305         Test: compositing/shadows/shadow-drawing.html
11306
11307         * platform/graphics/cg/GraphicsContextCG.cpp:
11308         (WebCore::GraphicsContext::setPlatformShadow):
11309
11310 2010-01-13  Nikolas Zimmermann  <nzimmermann@rim.com>
11311
11312         Reviewed by Oliver Hunt.
11313
11314         SVGClipPathElement shouldn't resolve style manually
11315         https://bugs.webkit.org/show_bug.cgi?id=33647
11316
11317         Build renderers for SVGClipPathElement, so we can query the style from the renderer
11318         instead of re-resolving style on every clip path resource invalidation.
11319
11320         * svg/SVGClipPathElement.cpp:
11321         (WebCore::SVGClipPathElement::createRenderer):
11322         (WebCore::SVGClipPathElement::canvasResource):
11323         * svg/SVGClipPathElement.h:
11324         (WebCore::SVGClipPathElement::isValid):
11325
11326 2010-01-13  Kelly Norton  <knorton@google.com>
11327
11328         Reviewed by Timothy Hatcher.
11329
11330         Web Inspector does not update the DOM tree when attributes change.
11331         https://bugs.webkit.org/show_bug.cgi?id=20162
11332
11333         * dom/Element.cpp: Moves callbacks to InspectorController directly into setAttribute
11334         and removeAttribute and removes the existing call sites. This makes it possible to
11335         see attribute modifications.
11336         (WebCore::Element::setAttribute):
11337         (WebCore::Element::dispatchAttrRemovalEvent):
11338         (WebCore::Element::dispatchAttrAdditionEvent):
11339         (WebCore::Element::removeAttribute):
11340         * inspector/front-end/DOMAgent.js:
11341         (WebInspector.DOMNode.prototype._setAttributesPayload): Clear existing attributes.
11342         (WebInspector.DOMAgent.prototype._didApplyDomChange): Updated call site and fixed style.
11343         (WebInspector.DOMAgent.prototype._attributesUpdated): Added.
11344         * inspector/front-end/ElementsPanel.js:
11345         (WebInspector.ElementsPanel.prototype._attributesUpdated): Added.
11346         (WebInspector.ElementsPanel.prototype.updateModifiedNodes): Updated call site.
11347         * inspector/front-end/ElementsTreeOutline.js: Renamed _updateTitle to updateTitle.
11348         (WebInspector.ElementsTreeElement.prototype.onattach): Updated updateTitle call site.
11349         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted): Ditto.
11350         (WebInspector.ElementsTreeElement.prototype._editingCancelled): Ditto.
11351
11352 2010-01-13  Carol Szabo <carol.szabo@nokia.com>
11353
11354         Reviewed by Darin Adler.
11355
11356         CounterNode::nextInPreOrderAfterChildren(stayWithin) does not stay within.
11357         https://bugs.webkit.org/show_bug.cgi?id=33625
11358
11359         No new tests because the fix should affect strictly performance.
11360
11361         * rendering/CounterNode.cpp:
11362         (WebCore::CounterNode::nextInPreOrderAfterChildren):
11363
11364 2010-01-13  Nikolas Zimmermann  <nzimmermann@rim.com>
11365
11366         Reviewed by Oliver Hunt.
11367
11368         Window size changes are not propagated down the render tree
11369         https://bugs.webkit.org/show_bug.cgi?id=33643
11370
11371         Test: svg/custom/relative-sized-content.xhtml
11372
11373         * rendering/RenderSVGContainer.cpp: Fix incorrect markParents=true usage, leading to unnecessary relayouts.
11374         (WebCore::RenderSVGContainer::layout): Use new layoutChildren() method.
11375         (WebCore::RenderSVGContainer::paint): Fix indention.
11376         * rendering/RenderSVGHiddenContainer.cpp: Fix incorrect markParents=true usage.
11377         (WebCore::RenderSVGHiddenContainer::layout): Use new layoutChildren() helper.
11378         * rendering/RenderSVGRoot.cpp: Refactor existing code to layout children in SVGRenderSupport::layoutChildren.
11379         (WebCore::RenderSVGRoot::layout): Make children relayouting depend on width/height changes, if the outermost svg uses relative viewport sizes.
11380         * rendering/SVGRenderSupport.cpp: Add central place handling child layout, skips relayouting non-relative sized children as benefit.
11381         (WebCore::SVGRenderBase::layoutChildren): This methods contains the actual changes.
11382         * rendering/SVGRenderSupport.h:
11383         * svg/SVGGElement.h: Remove dead code.
11384         * svg/SVGSVGElement.h: Make hasRelativeValues() public to remove the need for friendship declarations.
11385         * svg/SVGStyledElement.h: Change default return value for hasRelativeValues() to false, as it was intended.
11386         (WebCore::SVGStyledElement::hasRelativeValues): Make it public, to be usable from SVGRenderSupport.
11387         * svg/SVGSymbolElement.h: Remove dead code.
11388         * svg/SVGUseElement.cpp: Implement hasRelativeValues() - it was simply missing here.
11389         (WebCore::SVGUseElement::hasRelativeValues):
11390         * svg/SVGUseElement.h:
11391
11392 2010-01-13  Fumitoshi Ukai  <ukai@chromium.org>
11393
11394         Reviewed by David Levin.
11395
11396         Fix websocket/tests/worker/worker-simple.html crash on Leopard Intel Debug (Tests) builder
11397         https://bugs.webkit.org/show_bug.cgi?id=33581
11398
11399         unref m_workerContext when websocket is disconnected, so that avoid
11400         keeping reference to workerContext longer than worker thread runs.
11401
11402         * websockets/WorkerThreadableWebSocketChannel.cpp:
11403         (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
11404         (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
11405
11406 2010-01-12  Jon Honeycutt  <jhoneycutt@apple.com>
11407
11408         MSAA: selected, selectable, extended selectable, and multiple
11409         selectable states are not reported
11410
11411         https://bugs.webkit.org/show_bug.cgi?id=33574
11412         <rdar://problem/7536826>
11413
11414         Reviewed by Darin Adler.
11415
11416         * accessibility/AccessibilityObject.h:
11417         (WebCore::AccessibilityObject::isMultiSelectable):
11418         Use the correct function name - the function name overriden by
11419         and used in AccessiblityRenderObject.
11420
11421         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
11422         (setAtkStateSetFromCoreObject):
11423         Update for function rename.
11424         (webkit_accessible_selection_select_all_selection):
11425         Ditto.
11426
11427 2010-01-13  Darin Adler  <darin@apple.com>
11428
11429         Reviewed by Dan Bernstein.
11430
11431         Move more of the selection and caret painting code from Frame to SelectionController.
11432         https://bugs.webkit.org/show_bug.cgi?id=33619
11433
11434         Helpful preparation step for a bug fix I am working on.
11435
11436         * editing/SelectionController.cpp:
11437         (WebCore::SelectionController::SelectionController): Initialize new data members.
11438         Note that m_caretVisible starts as true for the drag caret controller to match the
11439         old behavior for painting.
11440         (WebCore::SelectionController::setSelection): Changed to call selectionLayoutChanged
11441         in its new name and location.
11442         (WebCore::SelectionController::paintCaret): Added checks that were formerly done
11443         at the Frame level. Tweaked formatting and changed to use early return as well.
11444         (WebCore::SelectionController::focusedOrActiveStateChanged): Updated for call
11445         moved into this class.
11446         (WebCore::SelectionController::updateAppearance): Moved the
11447         Frame::selectionLayoutChanged function here. Had to rename it because the word
11448         "layout" is usedfor other purposes in this function.
11449         (WebCore::SelectionController::setCaretVisible): Moved here from Frame.
11450         (WebCore::SelectionController::clearCaretRectIfNeeded): Ditto.
11451         (WebCore::SelectionController::caretBlinkTimerFired): Ditto.
11452
11453         * editing/SelectionController.h: Added new functions. Moved conditional function
11454         out of class definition for clarity. Removed unneeded == and != operators.
11455         Removed unneeded use of bit fields.
11456
11457         * page/Frame.cpp: Moved functions to SelectionController.
11458         (WebCore::Frame::Frame): Removed initialization of moved data members.
11459
11460         * page/Frame.h: Removed things moved to SelectionController as well as unneeded
11461         forward declaration of Timer class template.
11462
11463         * page/FrameView.cpp:
11464         (WebCore::FrameView::layout): Updated for new location of function.
11465
11466         * rendering/RenderBlock.cpp:
11467         (WebCore::RenderBlock::paintCaret): Ditto.
11468
11469 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
11470
11471         Reviewed by Darin Adler.
11472
11473         <rdar://problem/7532544>
11474         
11475         Expose new method on WebKitSystemInterface, WKGetUserToBaseCTM(), which will
11476         be used for a shadow drawing fix.
11477
11478         * WebCore.base.exp:
11479         * platform/mac/WebCoreSystemInterface.h:
11480         * platform/mac/WebCoreSystemInterface.mm:
11481
11482 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
11483
11484         Reviewed by Dan Bernstein.
11485
11486         Fix shadow drawing to do the correct computations using the base coordinate space
11487         https://bugs.webkit.org/show_bug.cgi?id=33629
11488
11489         Step 1: do some renames in setPlatformShadow():
11490             size -> offset
11491             width -> xOffset
11492             height -> yOffset
11493         
11494         * platform/graphics/cg/GraphicsContextCG.cpp:
11495         (WebCore::GraphicsContext::setPlatformShadow):
11496
11497 2010-01-13  Jeremy Orlow  <jorlow@chromium.org>
11498
11499         Reviewed by Darin Fisher.
11500
11501         [Chromium] Move getSessionStorageNamespace from WebKitClient to WebViewClient
11502         https://bugs.webkit.org/show_bug.cgi?id=33492
11503
11504         * page/Page.cpp:
11505         (WebCore::Page::sessionStorage):
11506         * storage/StorageNamespace.cpp:
11507         (WebCore::StorageNamespace::sessionStorageNamespace):
11508         * storage/StorageNamespace.h:
11509         (WebCore::StorageNamespace::~StorageNamespace):
11510
11511 2010-01-13  Dirk Schulze  <krit@webkit.org>
11512
11513         Reviewed by Beth Dakin.
11514
11515         Repaint bug dragging a star shape with a dash stroke
11516         https://bugs.webkit.org/show_bug.cgi?id=33406
11517
11518         Calculation of repaint rects for RenderPath objects was wrong. We must take the
11519         union of strokeBoundingBox and objectBoundingBox, since the strokeBoundingBox
11520         must not contain the objectBoundingBox. This is mainly visible on dash-arrays for
11521         strokes.
11522
11523         Test: svg/custom/js-repaint-rect-on-path-with-stroke.svg
11524
11525         * rendering/RenderPath.cpp:
11526         (WebCore::RenderPath::strokeBoundingBox):
11527
11528 2010-01-13  Kevin Ollivier  <kevino@theolliviers.com>
11529
11530         [wx] Build fix. Make the XFORM operator work on wx port.
11531
11532         * platform/graphics/transforms/TransformationMatrix.h:
11533         * wscript:
11534
11535 2010-01-13  Pavel Feldman  <pfeldman@chromium.org>
11536
11537         Reviewed by Timothy Hatcher.
11538
11539         Web Inspector: Introduce SourceFrame2 with basic breakpoint / execution line
11540         rendering capabilities.
11541
11542         Contains a drive-by naming fix (lineNumberOffset and lineNumberToOffset were
11543         too close to each other, but were unrelated).
11544
11545         https://bugs.webkit.org/show_bug.cgi?id=33618
11546
11547         * WebCore.gypi:
11548         * WebCore.vcproj/WebCore.vcproj:
11549         * inspector/front-end/SourceFrame2.js: Added.
11550         (WebInspector.SourceFrame2):
11551         (WebInspector.SourceFrame2.prototype.set text):
11552         (WebInspector.SourceFrame2.prototype.get executionLine):
11553         (WebInspector.SourceFrame2.prototype.set executionLine):
11554         (WebInspector.SourceFrame2.prototype.revealLine):
11555         (WebInspector.SourceFrame2.prototype._toggleBreakpoint):
11556         (WebInspector.SourceFrame2.prototype.resize):
11557         (WebInspector.BreakpointLineNumberDecorator):
11558         (WebInspector.BreakpointLineNumberDecorator.prototype.decorate):
11559         (WebInspector.BreakpointLineNumberDecorator.prototype._paintBreakpoint):
11560         (WebInspector.BreakpointLineNumberDecorator.prototype._paintProgramCounter):
11561         (WebInspector.BreakpointLineNumberDecorator.prototype.mouseDown):
11562         (WebInspector.ExecutionLineDecorator):
11563         (WebInspector.ExecutionLineDecorator.prototype.decorate):
11564         * inspector/front-end/TextEditor.js:
11565         (WebInspector.TextEditor):
11566         (WebInspector.TextEditor.prototype.get textModel):
11567         (WebInspector.TextEditor.prototype.set readOnly):
11568         (WebInspector.TextEditor.prototype.set lineNumberDecorator):
11569         (WebInspector.TextEditor.prototype.set lineDecorator):
11570         (WebInspector.TextEditor.prototype.selectionRange):
11571         (WebInspector.TextEditor.prototype._offsetToLine):
11572         (WebInspector.TextEditor.prototype._lineToOffset):
11573         (WebInspector.TextEditor.prototype.reveal):
11574         (WebInspector.TextEditor.prototype._textChanged):
11575         (WebInspector.TextEditor.prototype._updateSize):
11576         (WebInspector.TextEditor.prototype.updateCanvasSize):
11577         (WebInspector.TextEditor.prototype._repaintAll):
11578         (WebInspector.TextEditor.prototype._paintLines):
11579         (WebInspector.TextEditor.prototype._paintLinesContinuation):
11580         (WebInspector.TextEditor.prototype.paintLineNumbers):
11581         (WebInspector.TextEditor.prototype._paintCurrentLine):
11582         (WebInspector.TextEditor.prototype._mouseDown):
11583         (WebInspector.TextEditor.prototype._caretForMouseEvent):
11584         (WebInspector.TextEditor.prototype._keyDown):
11585         (WebInspector.TextEditor.prototype._handleNavigationKey):
11586         (WebInspector.TextEditor.prototype._textInput):
11587         (WebInspector.TextEditor.prototype._updateCursor):
11588         (WebInspector.TextEditor.prototype._paintSelection):
11589         (WebInspector.TextEditor.prototype._initFont):
11590
11591 2010-01-13  Nate Chapin  <japhet@chromium.org>
11592
11593         Reviewed by Dimitri Glazkov.
11594
11595         Generate a function in the V8 bindings to convert v8 objects
11596         to native WebCore objects.
11597
11598         * bindings/scripts/CodeGeneratorV8.pm: Generate and use toNative().
11599         * bindings/v8/V8Binding.cpp: Remove manually defined conversion helprs.
11600         (WebCore::getElementStringAttr):
11601         (WebCore::setElementStringAttr):
11602         * bindings/v8/V8Binding.h: Remove manually defined conversion helprs.
11603         * bindings/v8/V8SVGPODTypeWrapper.h: Still need a manually defined coversion helper for SVGPODTypes.
11604         (WebCore::V8SVGPODTypeWrapper::toNative):
11605         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
11606         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
11607         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
11608         (WebCore::V8WebGLRenderingContext::getUniformCallback):
11609
11610 2010-01-13  Brian Weinstein  <bweinstein@apple.com>
11611
11612         Reviewed by Adam Roben.
11613
11614         REGRESSION (r49268): DHTML drag not allowed unless event.dataTransfer.effectAllowed
11615         is set (differs from HTML5).
11616         Fixes <https://bugs.webkit.org/show_bug.cgi?id=33607> and <rdar://7507114>.
11617
11618         If no effectAllowed is set in the dragStart operation, we should default to
11619         uninitialized instead of none, so the user doesn't have to manually set the
11620         effectAllowed to enable drag and drop.
11621
11622         * dom/Clipboard.cpp:
11623         (WebCore::Clipboard::Clipboard):
11624
11625 2010-01-13  Dave Hyatt  <hyatt@apple.com>
11626
11627         Reviewed by Dan Bernstein.
11628
11629         https://bugs.webkit.org/show_bug.cgi?id=32495
11630
11631         font-size:small with background-color causes text to get clipped.  Make sure to only paint within the lineTop/lineBottom of
11632         a line for quirky inline flow boxes that didn't contribute to the overall height of the line. 
11633         
11634         Added fast/backgrounds/quirks-mode-line-boxes-backgrounds.html
11635
11636         * rendering/InlineFlowBox.cpp:
11637         (WebCore::InlineFlowBox::computeVerticalOverflow):
11638         (WebCore::InlineFlowBox::paintBoxDecorations):
11639         (WebCore::InlineFlowBox::paintMask):
11640
11641 2010-01-13  Dumitru Daniliuc  <dumi@chromium.org>
11642
11643         Reviewed by Darin Adler.
11644
11645         Refactoring DatabaseAuthorizer to use a CaseFoldingHash function
11646         for the set of whitelisted sqlite functions, and fixing some
11647         indenting issues.
11648
11649         https://bugs.webkit.org/show_bug.cgi?id=33612
11650
11651         * storage/DatabaseAuthorizer.cpp:
11652         (WebCore::DatabaseAuthorizer::allowFunction):
11653         * storage/DatabaseAuthorizer.h:
11654
11655 2010-01-13  Carol Szabo  <carol.szabo@nokia.com>
11656
11657         Reviewed by Darin Adler.
11658
11659         RenderObject::nextInPreOrderAfterChildren(RenderObject* stayWithin) does not stay within
11660         https://bugs.webkit.org/show_bug.cgi?id=33600
11661
11662         No new tests as this fix affects mainly performance.
11663         No test has been found yet that could evidence the bug in the layout
11664         of a page, but the fix to bug 32884 exposes this bug on some pages
11665         such as http://www.w3.org/Style/CSS/Test/CSS2.1/current/html4/counters-scope-implied-001.htm
11666
11667         * rendering/RenderObject.cpp:
11668         (WebCore::RenderObject::nextInPreOrderAfterChildren):
11669
11670 2010-01-13  Jeremy Orlow  <jorlow@chromium.org>
11671
11672         No reviewer.  More or less a build fix.  My 53180 broke some 
11673         stuff on the Chromium port so I'm reverting.
11674
11675         * page/Page.cpp:
11676         (WebCore::Page::sessionStorage):
11677         * storage/StorageNamespace.cpp:
11678         (WebCore::StorageNamespace::sessionStorageNamespace):
11679         * storage/StorageNamespace.h:
11680         (WebCore::StorageNamespace::~StorageNamespace):
11681
11682 2010-01-13  Steve Block  <steveblock@google.com>
11683
11684         Update appendClassName in jni_runtime.cpp to use WebCore::StringBuilder, rather than JSC::StringBuilder.
11685         https://bugs.webkit.org/show_bug.cgi?id=33586
11686
11687         Avoiding the JSC version of StringBuilder allows this file to be used with both JSC and V8 on Android.
11688
11689         No new tests, refactoring only.
11690
11691         * bridge/jni/jni_runtime.cpp: Modified.
11692         (JavaMethod::signature): Modified. Use WebCore::StringBuilder.
11693
11694 2010-01-13  Kent Hansen  <kent.hansen@nokia.com>
11695
11696         Reviewed by Timothy Hatcher.
11697
11698         Some objects in the global scope are not completed
11699         https://bugs.webkit.org/show_bug.cgi?id=19119
11700
11701         Use Object.getOwnPropertyNames instead of for-in to provide completions, since
11702         Object.getOwnPropertyNames reports both enumerable and non-enumerable properties.
11703
11704         * inspector/front-end/InjectedScript.js:
11705         (InjectedScript._getPropertyNames):
11706         (InjectedScript.getCompletions):
11707
11708 2010-01-13  Ben Murdoch  <benm@google.com>
11709
11710         Reviewed by Simon Hausmann.
11711
11712         [Android] [Qt] The JSC ScriptController does not consider Touch Events user gestures.
11713         https://bugs.webkit.org/show_bug.cgi?id=33597
11714
11715         * bindings/js/ScriptController.cpp:
11716         (WebCore::ScriptController::processingUserGestureEvent): Add the touch event types (touchstart, touchmove and touchend) to the set of events that are considered user gestures.
11717
11718 2010-01-13  Simon Hausmann  <simon.hausmann@nokia.com>
11719
11720         Rubber-stamped by Tor Arne Vestbø.
11721
11722         [Qt] REGRESSION(53187) Touchevent related tests fail
11723
11724         https://bugs.webkit.org/show_bug.cgi?id=33602
11725
11726         Pass the ENABLE_TOUCH_EVENTS to the IDL generators.
11727
11728         * WebCore.pri:
11729
11730 2010-01-13  Ilya Tikhonovsky  <loislo@chromium.org>
11731
11732         Reviewed by Pavel Feldman.
11733
11734         WebInspector: Timeline panel scrolling speed can be increased.
11735         https://bugs.webkit.org/show_bug.cgi?id=33579
11736
11737         * inspector/front-end/TimelinePanel.js:
11738         (WebInspector.TimelinePanel):
11739         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
11740         (WebInspector.TimelinePanel.prototype._refresh):
11741         (WebInspector.TimelinePanel.prototype._refreshRecords):
11742
11743 2010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
11744
11745         Reviewed by Simon Hausmann.
11746
11747         [Qt] Split the build process in two different .pro files.
11748         This allows qmake to be run once all source files are available.
11749
11750         * DerivedSources.pro: Added.
11751         * WebCore.pri: Added. Contains common logic between source generation and compilation.
11752         * WebCore.pro: Moved source generation to DerivedSources.pro.
11753
11754 2010-01-13  Pavel Feldman  <pfeldman@chromium.org>
11755
11756         Reviewed by Timothy Hatcher.
11757
11758         Web Inspector: Scrolling editor to the 20Kth line is not smooth.
11759
11760         https://bugs.webkit.org/show_bug.cgi?id=33587
11761
11762         * inspector/front-end/TextEditor.js:
11763         (WebInspector.TextEditor):
11764         (WebInspector.TextEditor.prototype._textChanged):
11765         (WebInspector.TextEditor.prototype._highlightChanged):
11766         (WebInspector.TextEditor.prototype._paintLinesContinuation):
11767         * inspector/front-end/TextEditorHighlighter.js:
11768         (WebInspector.TextEditorHighlighter):
11769         (WebInspector.TextEditorHighlighter.prototype.highlight):
11770         (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
11771         (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
11772         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
11773         (WebInspector.TextEditorHighlighter.prototype._lex):
11774         * inspector/front-end/TextEditorModel.js:
11775         (WebInspector.TextEditorModel.prototype._setLine):
11776         (WebInspector.TextEditorModel.prototype.setAttribute):
11777         (WebInspector.TextEditorModel.prototype.getAttribute):
11778         (WebInspector.TextEditorModel.prototype.removeAttribute):
11779
11780 2010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
11781
11782         Reviewed by Simon Hausmann.
11783
11784         [Qt] Fix the build on Windows.
11785
11786         PluginViewWin.cpp requires the conversion operator from TransformationMatrix to XFORM.
11787
11788         * WebCore.pro: Build TransformationMatrixWin.cpp.
11789         * platform/graphics/transforms/TransformationMatrix.h: Enable the conversion operator to XFORM.
11790
11791 2010-01-13  Miikka Heikkinen <miikka.heikkinen@digia.com>
11792
11793         Reviewed by Simon Hausmann.
11794
11795         [Qt/Symbian] Added missing vendor information to qtwebkit.sis
11796
11797         This information is necessary to Symbian sign the package.
11798
11799         http://bugreports.qt.nokia.com/browse/QTBUG-7290
11800
11801         * WebCore.pro:
11802
11803 2010-01-11  Jeremy Orlow  <jorlow@chromium.org>
11804
11805         Reviewed by Darin Fisher.
11806
11807         [Chromium] Move getSessionStorageNamespace from WebKitClient to WebViewClient
11808         https://bugs.webkit.org/show_bug.cgi?id=33492
11809
11810         * page/Page.cpp:
11811         (WebCore::Page::sessionStorage):
11812         * storage/StorageNamespace.cpp:
11813         (WebCore::StorageNamespace::sessionStorageNamespace):
11814         * storage/StorageNamespace.h:
11815         (WebCore::StorageNamespace::~StorageNamespace):
11816
11817 2010-01-12  Dumitru Daniliuc  <dumi@chromium.org>
11818
11819         Reviewed by Adam Barth.
11820
11821         Adding a list of whitelisted sqlite functions that users are
11822         allowed to use.
11823
11824         https://bugs.webkit.org/show_bug.cgi?id=33549
11825
11826         * platform/sql/SQLiteDatabase.cpp:
11827         (WebCore::SQLiteDatabase::authorizerFunction):
11828         * storage/DatabaseAuthorizer.cpp:
11829         (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
11830         (WebCore::DatabaseAuthorizer::addWhitelistedFunctions):
11831         (WebCore::DatabaseAuthorizer::allowFunction):
11832         * storage/DatabaseAuthorizer.h:
11833
11834 2010-01-12  Fumitoshi Ukai  <ukai@chromium.org>
11835
11836         Reviewed by Simon Hausmann.
11837
11838         [Qt][WebSocket] SocketStreamHandleSoup.cpp is misnamed
11839         https://bugs.webkit.org/show_bug.cgi?id=33077
11840
11841         * WebCore.pro:
11842         * platform/network/qt/SocketStreamHandleQt.cpp: Copied from WebCore/platform/network/qt/SocketStreamHandleSoup.cpp.
11843         * platform/network/qt/SocketStreamHandleSoup.cpp: Removed.
11844
11845 2010-01-12  Simon Fraser  <simon.fraser@apple.com>
11846
11847         Reviewed by Dan Bernstein.
11848
11849         position:fixed and transform on same element breaks fixed behavior
11850         https://bugs.webkit.org/show_bug.cgi?id=31283
11851
11852         Fix interactions of transforms and fixed positioning, namely that fixed position
11853         elements with a transformed ancestor are positioned relative to that ancestor,
11854         and an element with both a transform and fixed position respects that positioning.
11855         
11856         Test: transforms/2d/transform-fixed-container.html
11857
11858         * rendering/RenderBox.cpp:
11859         (WebCore::RenderBox::mapLocalToContainer):
11860         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
11861         Transforms should not unconditionally stop the propagation of the 'fixed' flag to ancestors,
11862         but only if the transformed element is not itself fixed.
11863         
11864         * rendering/RenderLayer.cpp:
11865         (WebCore::RenderLayer::convertToLayerCoords):
11866         Fix this method to behave correctly for fixed position layers whose container is not
11867         the root, but some other (probably transformed) ancestor. In that case, we can fall into
11868         the "position: absolute" code path.
11869
11870 2010-01-12  Tony Chang  <tony@chromium.org>
11871
11872         Reviewed by Adam Barth.
11873
11874         Fix an assert being triggered by how the Chromium port sets the
11875         replacing flag for error pages.  This was caused by r53143.
11876
11877         Covered by existing Chromium UI tests.
11878
11879         * loader/FrameLoader.cpp:
11880         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
11881
11882 2010-01-12  Kent Hansen  <kent.hansen@nokia.com>
11883
11884         Reviewed by Geoffrey Garen.
11885
11886         [ES5] Implement Object.getOwnPropertyNames
11887         https://bugs.webkit.org/show_bug.cgi?id=32242
11888
11889         Add new argument to reimplementations of getPropertyNames()
11890         and getOwnPropertyNames(), and update the JS bindings generator.
11891
11892         Test: fast/js/Object-getOwnPropertyNames.html
11893
11894         * bindings/js/JSDOMWindowCustom.cpp:
11895         (WebCore::JSDOMWindow::getPropertyNames):
11896         (WebCore::JSDOMWindow::getOwnPropertyNames):
11897         * bindings/js/JSDOMWindowShell.cpp:
11898         (WebCore::JSDOMWindowShell::getPropertyNames):
11899         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
11900         * bindings/js/JSDOMWindowShell.h:
11901         * bindings/js/JSHistoryCustom.cpp:
11902         (WebCore::JSHistory::getOwnPropertyNames):
11903         * bindings/js/JSLocationCustom.cpp:
11904         (WebCore::JSLocation::getOwnPropertyNames):
11905         * bindings/js/JSQuarantinedObjectWrapper.cpp:
11906         (WebCore::JSQuarantinedObjectWrapper::getPropertyNames):
11907         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyNames):
11908         * bindings/js/JSQuarantinedObjectWrapper.h:
11909         * bindings/js/JSStorageCustom.cpp:
11910         (WebCore::JSStorage::getOwnPropertyNames):
11911         * bindings/scripts/CodeGeneratorJS.pm:
11912         * bridge/runtime_array.cpp:
11913         (JSC::RuntimeArray::getOwnPropertyNames):
11914         * bridge/runtime_array.h:
11915         * bridge/runtime_object.cpp:
11916         (JSC::RuntimeObjectImp::getPropertyNames):
11917         (JSC::RuntimeObjectImp::getOwnPropertyNames):
11918         * bridge/runtime_object.h:
11919
11920 2010-01-12  Brian Weinstein  <bweinstein@apple.com>
11921
11922         Reviewed by Dave Hyatt.
11923
11924         Safari shows an unneeded horizontal scrollbar on many websites.
11925         Fixes <rdar://6321041> and <http://webkit.org/b/33555>.
11926         
11927         If a div has no children, and its height or width are 0, we can ignore
11928         it in our calculation of lowest, rightmost, and leftmost positions. This
11929         calculation was causing horizontal scrollbars to be drawn when they weren't needed.
11930
11931         Test: fast/block/positioning/absolute-positioning-no-scrollbar.html
11932
11933         * rendering/RenderBlock.cpp:
11934         (WebCore::RenderBlock::lowestPosition): Added check for no children and width or height 0.
11935         (WebCore::RenderBlock::rightmostPosition): Ditto.
11936         (WebCore::RenderBlock::leftmostPosition): Ditto.
11937
11938 2010-01-12  Alexander Pavlov  <apavlov@chromium.org>
11939
11940         Reviewed by Timothy Hatcher.
11941
11942         Optimize WebInspector.TimelineGrid.prototype.updateDividers()
11943
11944         DOM element property access and modification are slow and should be done as lazily as possible.
11945         https://bugs.webkit.org/show_bug.cgi?id=33536
11946
11947         * inspector/front-end/TimelineGrid.js:
11948         (WebInspector.TimelineGrid.prototype.updateDividers):
11949         (WebInspector.TimelineGrid.prototype._setDividerAndBarLeft):
11950
11951 2010-01-12  Beth Dakin  <bdakin@apple.com>
11952
11953         Reviewed by Sam Weinig.
11954
11955         Fix for https://bugs.webkit.org/show_bug.cgi?id=33550 REGRESSION: -
11956         webkit-svg-shadow with opacity still over-clipped
11957
11958         We need to call inflateForShadow() on the repaintRect before we 
11959         clip for opacity or we will over-clip.
11960         * rendering/SVGRenderSupport.cpp:
11961         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
11962
11963 2010-01-12  Steve Falkenburg  <sfalken@apple.com>
11964
11965         Reviewed by Sam Weinig.
11966
11967         Update all-in-one derived sources for Geolocation.
11968
11969         * DerivedSources.cpp: Add JSCoordinates.cpp, JSGeolocation.cpp, JSGeoposition.cpp, JSPositionError.cpp
11970
11971 2010-01-12  Nate Chapin  <japhet@chromium.org>
11972
11973         Reviewed by Dimitri Glazkov.
11974
11975         Remove static const ints from V8CustomBinding.h
11976
11977         https://bugs.webkit.org/show_bug.cgi?id=33547
11978
11979         * bindings/scripts/CodeGeneratorV8.pm: Generate and use custom 
11980             internal field indices from lists of custom internal fields.
11981         * bindings/v8/NPV8Object.cpp:
11982         * bindings/v8/NPV8Object.h:
11983         * bindings/v8/V8Binding.cpp:
11984         * bindings/v8/V8DOMWindowShell.cpp:
11985         * bindings/v8/V8DOMWindowShell.h:
11986         * bindings/v8/V8DOMWrapper.cpp: Remove a bunch of now unnecessary
11987             manually calls to setInternalFieldCount().
11988         * bindings/v8/V8DOMWrapper.h:
11989         * bindings/v8/V8Index.h:
11990         * bindings/v8/V8IsolatedContext.cpp:
11991         * bindings/v8/V8IsolatedContext.h:
11992         * bindings/v8/V8NPObject.cpp:
11993         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
11994         * bindings/v8/custom/V8CustomBinding.h: Remove the static const ints.
11995         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
11996         * bindings/v8/custom/V8DOMWindowCustom.cpp:
11997         * bindings/v8/custom/V8DocumentCustom.cpp:
11998         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
11999         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
12000         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
12001         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
12002         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
12003         * bindings/v8/custom/V8MessagePortCustom.cpp:
12004         * bindings/v8/custom/V8NodeCustom.cpp:
12005         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
12006         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
12007         * bindings/v8/custom/V8WebSocketCustom.cpp:
12008         * bindings/v8/custom/V8WorkerContextCustom.cpp:
12009         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
12010         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
12011
12012 2010-01-12  Darin Fisher  <darin@chromium.org>
12013
12014         Fixing chromium build bustage.
12015
12016         * bindings/v8/custom/V8PopStateEventCustom.cpp: Add V8Proxy.h include.
12017
12018 2010-01-12  Darin Fisher  <darin@chromium.org>
12019
12020         Reviewed by Dimitri Glazkov.
12021
12022         Add V8 bindings for PopStateEvent.
12023         https://bugs.webkit.org/show_bug.cgi?id=33546
12024         
12025         This is covered by existing tests for PopStateEvent.
12026
12027         * WebCore.gypi:
12028         * bindings/v8/DOMObjectsInclude.h:
12029         * bindings/v8/DerivedSourcesAllInOne.cpp:
12030         * bindings/v8/V8DOMWrapper.cpp:
12031         (WebCore::V8DOMWrapper::convertEventToV8Object):
12032         * bindings/v8/V8Index.cpp:
12033         * bindings/v8/V8Index.h:
12034         * bindings/v8/custom/V8PopStateEventCustom.cpp: Added.
12035         (WebCore::V8PopStateEvent::initPopStateEventCallback):
12036         (WebCore::V8PopStateEvent::stateAccessorGetter):
12037
12038 2010-01-12  Kelly Norton  <knorton@google.com>
12039
12040         Reviewed by Timothy Hatcher.
12041
12042         Adds source length to ParseHTMLRecords in the inspector timeline.
12043         https://bugs.webkit.org/show_bug.cgi?id=33548
12044
12045         Test: inspector/timeline-parse-html.html
12046
12047         * html/HTMLTokenizer.cpp:
12048         (WebCore::HTMLTokenizer::write):
12049         * inspector/InspectorTimelineAgent.cpp:
12050         (WebCore::InspectorTimelineAgent::willWriteHTML):
12051         * inspector/InspectorTimelineAgent.h:
12052         * inspector/TimelineRecordFactory.cpp:
12053         (WebCore::TimelineRecordFactory::createParseHTMLRecord):
12054         * inspector/TimelineRecordFactory.h:
12055
12056 2010-01-12  Jungshik Shin  <jshin@chromium.org>
12057
12058         Reviewed by Darin Adler
12059
12060         https://bugs.webkit.org/show_bug.cgi?id=31597
12061
12062         Make ICU's text breakiterator and string search use Chrome's UI
12063         language instead of 'en-US' or the OS UI language.
12064
12065         As long as the webkit layout tests are run in en-US locale, there'd be 
12066         no visible change.
12067
12068         * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
12069         (UILanguage):
12070         (WebCore::currentSearchLocaleID):
12071         (WebCore::currentTextBreakLocaleID):
12072
12073 2010-01-12  Beth Dakin  <bdakin@apple.com>
12074
12075         Rubber-stamped by Dave Hyatt.
12076
12077         This patch changes the name of -webkit-shadow to -webkit-svg-shadow 
12078         to avoid giving a custom property an overly-general name.
12079         <rdar://problem/7534590>
12080
12081         * css/CSSComputedStyleDeclaration.cpp:
12082         (WebCore::):
12083         * css/CSSParser.cpp:
12084         (WebCore::CSSParser::parseShadow):
12085         * css/SVGCSSComputedStyleDeclaration.cpp:
12086         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
12087         * css/SVGCSSParser.cpp:
12088         (WebCore::CSSParser::parseSVGValue):
12089         * css/SVGCSSPropertyNames.in:
12090         * css/SVGCSSStyleSelector.cpp:
12091         (WebCore::CSSStyleSelector::applySVGProperty):
12092
12093 2010-01-12  Peter Kasting  <pkasting@google.com>
12094
12095         Not reviewed, build fix.
12096
12097         * WebCore.vcproj/WebCore.vcproj:
12098
12099 2010-01-12  Nate Chapin  <japhet@chromium.org>
12100
12101         Reviewed by Dimitri Glazkov.
12102
12103         Add a null check in case of an event handler with invalid syntax.
12104
12105         Should make fast/js/invalid-syntax--for-function.html not crash in
12106         Chromium's test shell.
12107
12108         * bindings/v8/V8LazyEventListener.cpp:
12109         (WebCore::V8LazyEventListener::callListenerFunction): Check the listener object before using it.
12110
12111 2010-01-12  Peter Kasting  <pkasting@google.com>
12112
12113         Reviewed by Dimitri Glazkov.
12114
12115         Remove XBM support from the open-source image decoders.
12116         https://bugs.webkit.org/show_bug.cgi?id=27823
12117
12118         * GNUmakefile.am:
12119         * WebCore.gypi:
12120         * WebCore.vcproj/WebCore.vcproj:
12121         * WebCoreSources.bkl:
12122         * platform/image-decoders/ImageDecoder.cpp:
12123         (WebCore::ImageDecoder::create):
12124         * platform/image-decoders/xbm: Removed.
12125         * platform/image-decoders/xbm/XBMImageDecoder.cpp: Removed.
12126         * platform/image-decoders/xbm/XBMImageDecoder.h: Removed.
12127
12128 2010-01-12  Alexey Proskuryakov  <ap@apple.com>
12129
12130         Reviewed by Darin Adler.
12131
12132         https://bugs.webkit.org/show_bug.cgi?id=33540
12133         Make it possible to build in debug mode with assertions disabled
12134
12135         * dom/Element.cpp: (WebCore::Element::getURLAttribute):
12136         * dom/SelectElement.cpp: (WebCore::SelectElementData::checkListItems):
12137         * editing/TextIterator.cpp:
12138         * loader/Cache.cpp: (WebCore::Cache::removeFromLRUList):
12139         * rendering/RenderArena.cpp: (WebCore::RenderArena::free):
12140
12141 2010-01-12  Eric Carlson  <eric.carlson@apple.com>
12142
12143         Reviewed by Darin Adler and Simon Fraser.
12144
12145         rdar://problem/5684062
12146         https://bugs.webkit.org/show_bug.cgi?id=23094
12147         Flash of white when switching from poster image to video playback
12148         
12149         https://bugs.webkit.org/show_bug.cgi?id=23140
12150         <video> poster should scale like a video frame
12151
12152         * html/HTMLMediaElement.cpp:
12153         (WebCore::HTMLMediaElement::setReadyState): Only call updatePosterImage from one place
12154
12155         * html/HTMLVideoElement.cpp:
12156         (WebCore::HTMLVideoElement::HTMLVideoElement): m_shouldShowPosterImage -> m_shouldDisplayPoster.
12157         (WebCore::HTMLVideoElement::createRenderer): Always create a RenderVideo.
12158         (WebCore::HTMLVideoElement::attach): Call updatePosterImage before checking to see if we
12159             should display the poster image. renderer() is never a RenderImage, don't need to check.
12160             m_shouldShowPosterImage -> m_shouldDisplayPoster.
12161         (WebCore::HTMLVideoElement::detach): m_shouldShowPosterImage -> m_shouldDisplayPoster.
12162         (WebCore::HTMLVideoElement::parseMappedAttribute): Cache poster attribute when it is set since
12163             it is checked frequently. m_shouldShowPosterImage -> m_shouldDisplayPoster.
12164         (WebCore::HTMLVideoElement::updatePosterImage): Don't bother looking at the network state, 
12165             display the poster as long as the attribute is valid and the media engine says it hasn't
12166             rendered a video frame. m_shouldShowPosterImage -> m_shouldDisplayPoster.
12167         (WebCore::HTMLVideoElement::hasAvailableVideoFrame): New, ask the media engine if a video frame
12168             is available to render.
12169         * html/HTMLVideoElement.h:
12170         (WebCore::HTMLVideoElement::poster):
12171         (WebCore::HTMLVideoElement::shouldDisplayPoster):
12172
12173         * loader/ImageLoader.cpp:
12174         (WebCore::ImageLoader::updateRenderer): Call setCachedImage for render video too.
12175
12176         * manual-tests/video-player.html: Remove bit-rot from manual test so it works again.
12177
12178         * platform/graphics/MediaPlayer.cpp:
12179         (WebCore::MediaPlayer::hasAvailableVideoFrame): New, ask the media engine if a video frame
12180             is available to render.
12181
12182         * platform/graphics/MediaPlayer.h: Prototype for hasAvailableVideoFrame.
12183         * platform/graphics/MediaPlayerPrivate.h: Ditto.
12184
12185         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Declare hasAvailableVideoFrame, declare
12186             all bool variables to aid packing.
12187         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 
12188         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_videoFrameHasDrawn. Cleanup
12189             floating point initializers to match coding guidelines.
12190         (WebCore::MediaPlayerPrivate::load): Initialize m_videoFrameHasDrawn.
12191         (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame): New.
12192         (WebCore::MediaPlayerPrivate::repaint): Set m_videoFrameHasDrawn.
12193
12194         (WebCore::RenderImage::paintReplaced): Split part out into paint method.
12195         (WebCore::RenderImage::paint): New.
12196         * rendering/RenderImage.h: Declare paint. Make isWidthSpecified and isHeightSpecified protected
12197             instead of private so RenderVideo can use them.
12198
12199         * rendering/RenderMedia.cpp:
12200         (WebCore::RenderMedia::RenderMedia): Inherit from RenderImage, not RenderReplaced
12201         (WebCore::RenderMedia::destroy): Ditto.
12202         (WebCore::RenderMedia::styleDidChange): Ditto.
12203         (WebCore::RenderMedia::layout): Ditto.
12204         (WebCore::RenderMedia::lowestPosition): Ditto.
12205         (WebCore::RenderMedia::rightmostPosition): Ditto.
12206         (WebCore::RenderMedia::leftmostPosition): Ditto.
12207         * rendering/RenderMedia.h: Declare isImage and isRenderImage.
12208
12209         * rendering/RenderVideo.cpp:
12210         (WebCore::RenderVideo::intrinsicSizeChanged): New, call RenderVideo::intrinsicSizeChanged
12211             when displaying a poster so it is sized correctly.
12212         (WebCore::RenderVideo::imageChanged): Override so we can cache the image's intrisic size and
12213         use it when we also know the movie's intrinsic size but still need to draw the poster.
12214         (WebCore::RenderVideo::videoBox): Use the poster's intrinsic size when drawing the poster,
12215         use the movie's intrinsic size when drawing frames.
12216         (WebCore::RenderVideo::paintReplaced): Call RenderImage::paint when drawing the poster.
12217         (WebCore::RenderVideo::videoElement): New.
12218         (WebCore::RenderVideo::updatePlayer):
12219         * rendering/RenderVideo.h:
12220         (WebCore::RenderVideo::minimumReplacedHeight): Added.
12221
12222 2010-01-12  Tony Chang  <tony@chromium.org>
12223
12224         Reviewed by Maciej Stachowiak.
12225
12226         Fix a crash in Chromium when receiving multipart/x-mixed-replace data.
12227         If we stop a multipart load after ResourceLoader::didReceiveResponse
12228         but before ResourceLoader::didReceiveData, we have a NULL document
12229         loader because it has been moved back to the provisional state.  New
12230         loads that happen after this will dereference the NULL document
12231         loader.
12232
12233         Work around this by moving the provisional document loader back as
12234         the document loader when the request is stopped.
12235
12236         https://bugs.webkit.org/show_bug.cgi?id=31446
12237
12238         Test: http/tests/multipart/multipart-wait-before-boundary.html
12239
12240         * loader/FrameLoader.cpp:
12241         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
12242
12243 2010-01-12  Enrica Casucci  <enrica@apple.com>
12244
12245         Reviewed by Darin Adler.
12246
12247         WebKit returns incorrect match count when first string match is on an element with user-select-none style
12248         https://bugs.webkit.org/show_bug.cgi?id=33508
12249         <rdar://problem/7482143>
12250
12251         If we use VisiblePosition to calculate the start of the new search range,
12252         we skip all the nodes with user-select-none style, producing an incorrect
12253         match count.
12254         
12255         No new tests: there are no API's available to Javascript to verify the
12256         number of matches found.
12257
12258         * page/Frame.cpp:
12259         (WebCore::Frame::markAllMatchesForText): Changed to use the end of the previous
12260         result range as the start of the new search range.
12261
12262 2010-01-12  Mikhail Naganov  <mnaganov@chromium.org>
12263
12264         Reviewed by Timothy Hatcher.
12265
12266         Changed ".sidebar" style to allow v-scroll to appear in
12267         "Profiles" panel sidebar.
12268
12269         https://bugs.webkit.org/show_bug.cgi?id=33470
12270
12271         No new tests -- no code changed.
12272
12273         * inspector/front-end/inspector.css:
12274
12275 2010-01-12  Adam Roben  <aroben@apple.com>
12276
12277         Windows accelerated compositing build fix after r53110
12278
12279         * plugins/PluginWidget.h:
12280         (WebCore::PluginWidget::platformLayer): Define platformLayer() for
12281         non-Mac platforms that have accelerated compositing turned on. It
12282         would probably be better to make PluginWidget not be used at all on
12283         non-Mac platforms, but this fix is much simpler.
12284
12285 2010-01-12  Yury Semikhatsky  <yurys@chromium.org>
12286
12287         Reviewed by Pavel Feldman.
12288
12289         Support injection of inspector scripts into the inspected context.
12290
12291         https://bugs.webkit.org/show_bug.cgi?id=33523
12292
12293         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
12294         (WebCore::WeakReferenceCallback):
12295         (WebCore::createInjectedScriptHostV8Wrapper):
12296         (WebCore::createInjectedScript):
12297         (WebCore::InjectedScriptHost::injectedScriptFor):
12298
12299 2010-01-12  Ben Murdoch  <benm@google.com>
12300
12301         Reviewed by Darin Adler.
12302
12303         Form Reset : Press Back Button and Reset , TextareaElemnt is not set to Default Value
12304         https://bugs.webkit.org/show_bug.cgi?id=31539
12305
12306         Added manual test: manual-tests/textarea-reset-default-value.html.
12307
12308         * html/HTMLTextAreaElement.cpp:
12309         (WebCore::HTMLTextAreaElement::restoreFormControlState): set the value, rather than default value of a text area when restoring its state. This allows resetting a form with a textarea to work correctly after its state has been restored.
12310         * manual-tests/resources/textarea-form-back-on-submit.html: Added.
12311         * manual-tests/textarea-reset-default-value.html: Added.
12312
12313 2010-01-12  Simon Hausmann  <simon.hausmann@nokia.com>
12314
12315         Reviewed by Holger Freyther.
12316
12317         [Qt] WebCore::Path allocates QPainterPath unnecessarily on the heap
12318         https://bugs.webkit.org/show_bug.cgi?id=33466
12319
12320         WebCore::Path is a pointer to a PlatformPath. In case of Qt that's a
12321         QPainterPath, which itself is a pointer to the elements (QVector).
12322         That creates unecessary allocations in PathQt.cpp.
12323
12324         Replaced the "PlatformPath* m_path;" with a PlatformPathPtr, which
12325         is a plain QPainterPath.
12326
12327         * platform/graphics/Path.h:
12328         (WebCore::Path::platformPath):
12329         * platform/graphics/qt/GraphicsContextQt.cpp:
12330         (WebCore::drawFilledShadowPath):
12331         (WebCore::GraphicsContext::fillPath):
12332         (WebCore::GraphicsContext::fillRoundedRect):
12333         (WebCore::GraphicsContext::addPath):
12334         (WebCore::GraphicsContext::clip):
12335         (WebCore::GraphicsContext::clipOut):
12336         * platform/graphics/qt/PathQt.cpp:
12337         (WebCore::Path::~Path):
12338         (WebCore::Path::operator=):
12339         (WebCore::Path::contains):
12340         (WebCore::Path::strokeContains):
12341         (WebCore::Path::translate):
12342         (WebCore::Path::boundingRect):
12343         (WebCore::Path::strokeBoundingRect):
12344         (WebCore::Path::moveTo):
12345         (WebCore::Path::addLineTo):
12346         (WebCore::Path::addQuadCurveTo):
12347         (WebCore::Path::addBezierCurveTo):
12348         (WebCore::Path::addArcTo):
12349         (WebCore::Path::closeSubpath):
12350         (WebCore::Path::addArc):
12351         (WebCore::Path::addRect):
12352         (WebCore::Path::addEllipse):
12353         (WebCore::Path::clear):
12354         (WebCore::Path::isEmpty):
12355         (WebCore::Path::debugString):
12356         (WebCore::Path::apply):
12357         (WebCore::Path::transform):
12358
12359 2010-01-12  Jakub Wieczorek  <faw217@gmail.com>
12360
12361         Reviewed by Adam Barth.
12362
12363         [Qt] XSL stylesheets can load documents from a different origin
12364
12365         https://bugs.webkit.org/show_bug.cgi?id=33423
12366
12367         * xml/XSLTProcessorQt.cpp:
12368         (WebCore::XSLTUriResolver::XSLTUriResolver):
12369         (WebCore::XSLTUriResolver::resolve):
12370         (WebCore::XSLTProcessor::transformToString):
12371
12372 2010-01-12  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
12373
12374         Reviewed by Gustavo Noronha Silva.
12375
12376         https://bugs.webkit.org/show_bug.cgi?id=30883
12377         [Gtk] Implement AtkText for HTML elements which contain text
12378
12379         Tweak/correction: Eliminate a needless variable.
12380
12381         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
12382         (webkit_accessible_text_get_caret_offset):
12383
12384 2010-01-12  Yury Semikhatsky  <yurys@chromium.org>
12385
12386         Reviewed by Geoffrey Garen.
12387
12388         Allow creating injected script for the inspected script state. The InjectedScript is
12389         cached on the inspected ExecState global object and will be garbage collected when the
12390         object is collected. Each InjectedScript object is assigned unique id.
12391
12392         https://bugs.webkit.org/show_bug.cgi?id=33469
12393
12394         * bindings/js/JSDOMGlobalObject.cpp:
12395         (WebCore::JSDOMGlobalObject::markChildren):
12396         (WebCore::JSDOMGlobalObject::setInjectedScript):
12397         (WebCore::JSDOMGlobalObject::injectedScript):
12398         * bindings/js/JSDOMGlobalObject.h: InjectedScript is cached on the global object as a
12399         field that is not visible from the inspected code. This InjectedScript should be alive as long as
12400         the global object is alive and should be accessible from Web Inspector's native code.
12401         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
12402         * bindings/js/JSInjectedScriptHostCustom.cpp:
12403         (WebCore::createInjectedScript): Creates injected script using the lexical global object of the
12404         inspected ScriptState. Reference to the object is stored on the global DOM object.
12405         (WebCore::InjectedScriptHost::injectedScriptFor):
12406         * inspector/InjectedScriptHost.cpp:
12407         (WebCore::InjectedScriptHost::InjectedScriptHost):
12408         (WebCore::InjectedScriptHost::injectedScriptForId):
12409         (WebCore::InjectedScriptHost::discardInjectedScripts): This method is expected to be called when the
12410         the InjectedScript are no longer needed. In particular, this should be called before frame navigation. 
12411         * inspector/InjectedScriptHost.h:
12412         (WebCore::InjectedScriptHost::setInjectedScriptSource): This allows to provide injected script source.
12413         The source may be loaded in a platform specific way.
12414
12415 2010-01-11  Darin Adler  <darin@apple.com>
12416
12417         Reviewed by Dan Bernstein.
12418
12419         Fix handling of unusual kana sequences in search
12420         https://bugs.webkit.org/show_bug.cgi?id=33506
12421
12422         * editing/TextIterator.cpp:
12423         (WebCore::composedVoicedSoundMark): Removed unnnecessary case for a
12424         non-kana-letter character. This function only works for kana letters.
12425         (WebCore::SearchBuffer::isBadMatch): Fixed voiced sound mark code to
12426         properly handle cases where one character has a shorter list of
12427         combining voiced sound marks than the other.
12428
12429 2010-01-11  Victor Wang  <victorw@chromium.org>
12430
12431         Reviewed by Dimitri Glazkov.
12432
12433         Clear m_acceptedIndexOnAbandon flag when user accepts the selected index.
12434
12435         https://bugs.webkit.org/show_bug.cgi?id=33499
12436
12437         TEST: manual-tests/chromium/onchange-reload-popup.html
12438         It should be covered by the above test. The current
12439         test shell does not support sending keyboard events to popup
12440         list so use manual test for it.
12441
12442         * platform/chromium/PopupMenuChromium.cpp:
12443         (WebCore::PopupListBox::acceptIndex):
12444
12445 2010-01-11  Gustavo Noronha Silva  <gns@gnome.org>
12446
12447         Reviewed by Eric Seidel.
12448
12449         [GTK] Debug bots crashing in plugins/iframe-shims.html
12450         https://bugs.webkit.org/show_bug.cgi?id=33472
12451
12452         Call computeOffsetInContainerNode() instead of
12453         offsetInContainerNode(), since we are not sure this is always
12454         parent-anchored.
12455
12456         plugins/iframe-shims.html no longer ASSERTS
12457
12458         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
12459         (objectAndOffsetUnignored):
12460
12461 2010-01-11  Simon Fraser  <simon.fraser@apple.com>
12462
12463         Reviewed by Kevin Decker.
12464
12465         https://bugs.webkit.org/show_bug.cgi?id=33455
12466         Allows plugins to participate in accelerated compositing
12467
12468         For plugins using the CoreAnimation rendering mode, host their CALayers in the
12469         accelerated compositing layer tree.
12470         
12471         This requires making normal flow RenderLayers for RenderEmbeddedObjects when they represent
12472         a plugin using this mode.
12473         
12474         * WebCore.base.exp: Export Node::setNeedsStyleRecalc() for use by WebKit.
12475         * WebCore.xcodeproj/project.pbxproj: Re-order files for sorting.
12476
12477         * rendering/RenderEmbeddedObject.h:
12478         * rendering/RenderEmbeddedObject.cpp:
12479         (WebCore::RenderEmbeddedObject::requiresLayer): Make a layer if the plugin is using
12480         accelerated compositing mode.
12481         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing): Asks whether the plugin has
12482         a layer, via PluginWidget.
12483
12484         * rendering/RenderLayer.cpp:
12485         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
12486         (WebCore::RenderLayer::isSelfPaintingLayer):
12487         RenderEmbeddedObjects should be normal flow layers, and self-painting layers.
12488         
12489         * rendering/RenderLayerBacking.cpp:
12490         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
12491         Parent the plugin's layer in the GraphicsLayer when updating the layer configuration.
12492         
12493         * rendering/RenderLayerCompositor.h:
12494         * rendering/RenderLayerCompositor.cpp:
12495         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
12496         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
12497         RenderEmbeddedObjects that allow accelerated compositing trip accelerated compositing mode
12498         for the page.
12499
12500 2010-01-11  Andreas Kling  <andreas.kling@nokia.com>
12501
12502         Reviewed by Darin Adler.
12503
12504         Fixed an uninitialized PluginView member (m_mode) which wasn't
12505         set when constructed with a null PluginPackage*
12506
12507         https://bugs.webkit.org/show_bug.cgi?id=33468
12508
12509         * plugins/PluginView.cpp:
12510         (WebCore::PluginView::PluginView):
12511
12512 2010-01-11  Dirk Schulze  <krit@webkit.org>
12513
12514         Reviewed by Nikolas Zimmermann.
12515
12516         SVG radialGradient example radial-gradient-with-outstanding-focalPoint.svg fails
12517         https://bugs.webkit.org/show_bug.cgi?id=32201
12518
12519         This patch moves every focalPoint that lies outside the circle defined by the radial
12520         gradients central point and its radius to stay inside this circle, as demanded by the
12521         SVG 1.1 specification.
12522         We use r * 0.99 as maximum radius for the aforementioned circle, when determining where
12523         the focalPoint is lying, to achieve compatibility with Firefox.
12524
12525         * svg/SVGRadialGradientElement.cpp:
12526         (WebCore::SVGRadialGradientElement::buildGradient):
12527
12528 2010-01-11  Alexey Proskuryakov  <ap@apple.com>
12529
12530         Reviewed by Oliver Hunt.
12531
12532         https://bugs.webkit.org/show_bug.cgi?id=33493
12533         Log redirect details to Network channel
12534
12535         * platform/network/mac/ResourceHandleMac.mm:
12536         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
12537         Log response code and Location header field value. Also, removed a redundant null check.
12538
12539 2010-01-11  Beth Dakin  <bdakin@apple.com>
12540
12541         Reviewed by Oliver Hunt.
12542
12543         Fix for https://bugs.webkit.org/show_bug.cgi?id=33491 REGRESSION: 
12544         Many SVG -webkit-shadow tests are currently failing (in the pixel 
12545         tests)
12546         -and-
12547         <rdar://problem/7501200>
12548
12549         The real fix here is to call inflateForShadow() on the repaintRect 
12550         in prepareToRenderSVGContent(). But in order to do that, I had to 
12551         move inflateForShadow() to a different class since functions in 
12552         SVGRenderBase cannot call each other. inflateForShadow() now exists 
12553         in SVGRenderStyle which I think makes some sense because a similar 
12554         function that returns a box shadow's extent exists on RenderStyle.
12555
12556         Now call inflateForShadow() through the SVGRenderStyle.
12557         * rendering/RenderForeignObject.cpp:
12558         (WebCore::RenderForeignObject::computeRectForRepaint):
12559         * rendering/RenderSVGImage.cpp:
12560         (WebCore::RenderSVGImage::computeRectForRepaint):
12561         * rendering/RenderSVGModelObject.cpp:
12562         (WebCore::RenderSVGModelObject::computeRectForRepaint):
12563         * rendering/RenderSVGRoot.cpp:
12564         (WebCore::RenderSVGRoot::computeRectForRepaint):
12565         * rendering/RenderSVGText.cpp:
12566         (WebCore::RenderSVGText::computeRectForRepaint):
12567
12568         No longer implement inflateForShadow() here.
12569         * rendering/SVGRenderSupport.cpp:
12570         (WebCore::SVGRenderBase::prepareToRenderSVGContent): Call new 
12571         inflateForShadow() through the SVGRenderStyle
12572         * rendering/SVGRenderSupport.h:
12573
12574         Implementation of inflateForShadow() now lives here.
12575         * rendering/style/SVGRenderStyle.cpp:
12576         (WebCore::getSVGShadowExtent):
12577         (WebCore::SVGRenderStyle::inflateForShadow):
12578         * rendering/style/SVGRenderStyle.h:
12579
12580 2010-01-11  Alexander Pavlov  <apavlov@chromium.org>
12581
12582         Reviewed by Pavel Feldman.
12583
12584         Rewrite relative URLs in the ElementsTreeOutline to make them navigable
12585
12586         Targets for "src" and "href" attribute values in the Elements outline tree
12587         are rewritten to full URLs whenever possible.
12588         https://bugs.webkit.org/show_bug.cgi?id=33024
12589
12590         Test: inspector/elements-panel-rewrite-href.html
12591
12592         * inspector/front-end/ElementsTreeOutline.js:
12593         (WebInspector.ElementsTreeElement.prototype._rewriteAttrHref):
12594         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
12595         * inspector/front-end/inspector.js:
12596
12597 2010-01-11  Nikolas Zimmermann  <nzimmermann@rim.com>
12598
12599         Not reviewed. Attempt to fix windows builds, by removing the no-longer existant JSSVGPointListCustom.cpp from JSBindingsAllInOne.cpp.
12600
12601         * bindings/js/JSBindingsAllInOne.cpp:
12602
12603 2010-01-11  Nikolas Zimmermann  <nzimmermann@rim.com>
12604
12605         Reviewed by Adam Roben & Dirk Schulze.
12606
12607         svg <text> fails to update when setting x/y
12608         https://bugs.webkit.org/show_bug.cgi?id=22384
12609
12610         Introduce JSSVGPODListCustom, refactoring the existing custom code for SVG POD type lists.
12611         (Currently SVGTransformList/SVGPointList was handled correctly, and SVGLengthList/SVGNumberList not)
12612
12613         Remove the need for custom JSSVG*List.cpp implementations, but instead tweak CodeGeneratorJS.pm,
12614         to call into the new JSSVGPODListCustom methods. Fixes dynamic updates of the SVGTextElement
12615         'rotate' & 'x'/'y' SVG DOM properties.
12616
12617         Tests: svg/custom/text-xy-updates-SVGList.xhtml
12618                svg/dynamic-updates/SVGTextElement-svgdom-rotate-prop.html
12619   
12620         * Android.jscbindings.mk: Remove old files from build, add the new header.
12621         * GNUmakefile.am: Ditto.
12622         * WebCore.gypi: Ditto.
12623         * WebCore.pro: Ditto.
12624         * WebCore.vcproj/WebCore.vcproj: Ditto.
12625         * WebCore.xcodeproj/project.pbxproj: Ditto.
12626         * bindings/js/JSSVGPODListCustom.h: Copied from bindings/js/JSSVGTransformListCustom.cpp. Refactored code to be sharable between all JSSVG*List classes.
12627         (WebCore::JSSVGPODListCustom::finishGetter):
12628         (WebCore::JSSVGPODListCustom::finishSetter):
12629         (WebCore::JSSVGPODListCustom::finishSetterReadOnlyResult):
12630         (WebCore::JSSVGPODListCustom::clear):
12631         (WebCore::JSSVGPODListCustom::initialize):
12632         (WebCore::JSSVGPODListCustom::getItem):
12633         (WebCore::JSSVGPODListCustom::insertItemBefore):
12634         (WebCore::JSSVGPODListCustom::replaceItem):
12635         (WebCore::JSSVGPODListCustom::removeItem):
12636         (WebCore::JSSVGPODListCustom::appendItem):
12637         * bindings/js/JSSVGPointListCustom.cpp: Removed.
12638         * bindings/js/JSSVGTransformListCustom.cpp: Removed.
12639         * bindings/scripts/CodeGeneratorJS.pm: Forward any SVGList call on POD list types to the new JSSVGPODListCustom.
12640         * svg/SVGNumberList.cpp: Make SVGNumberList a SVGPODList, instead of a SVGList, to make dynamic updates work.
12641         (WebCore::SVGNumberList::SVGNumberList):
12642         * svg/SVGNumberList.h:
12643         * svg/SVGPointList.idl: Remove JSCCustom markers everywhere.
12644         * svg/SVGTransformList.idl: Ditto.
12645
12646 2010-01-08  Enrica Casucci  <enrica@apple.com>
12647
12648         Reviewed by Darin Adler.
12649
12650         Cannot focus on an empty editable span in a non editable div.
12651         https://bugs.webkit.org/show_bug.cgi?id=33411
12652         <rdar://problem/5982901>
12653
12654         We now allow to set the focus inside an empty inline element if it is the only
12655         editable element inside non-editable content.
12656
12657         * dom/Position.cpp:
12658         (WebCore::Position::isCandidate): Extended to allow positions in inline elements when
12659         at the border between editable and non editable content.
12660         (WebCore::Position::getInlineBoxAndOffset): Modified to be able to calculate the caret
12661         position inside an empty inline.
12662         * editing/DeleteSelectionCommand.cpp:
12663         (WebCore::DeleteSelectionCommand::mergeParagraphs): When merging, we don't always find a break
12664         element, since now an editable inline is a VisiblePosition if it is at editability boundary.
12665         * editing/VisibleSelection.h: Updated comment on the use of Position member variables
12666         instead of VisiblePosition.
12667         * page/Frame.cpp:
12668         (WebCore::Frame::selectionLayoutChanged): Changed to avoid multiple calls to upstream and
12669         downstream on the same position.
12670
12671 2010-01-06  Dimitri Glazkov  <dglazkov@chromium.org>
12672
12673         Reviewed by Nikolas Zimmermann.
12674
12675         [V8] IsRefPtrType() in CodeGeneratorV8.pm increases maintenance burden.
12676         https://bugs.webkit.org/show_bug.cgi?id=32994
12677
12678         Refactoring, covered by existings tests.
12679
12680         * bindings/scripts/CodeGeneratorV8.pm: Reversed testing for ref-counted objects,
12681             since there's a much smaller (and more stable) set of non-ref-counted ones.
12682
12683 2010-01-06  Kelly Norton  <knorton@google.com>
12684
12685         Reviewed by Pavel Feldman.
12686
12687         Fixes the fact that timeline panel results are skewed by the use of DOM mutation events.
12688         https://bugs.webkit.org/show_bug.cgi?id=32846
12689
12690         Instead of using DOM mutation events in InspectorDOMAgent, InspectorController is now called
12691         directly when the DOM is mutated.
12692
12693         * dom/ContainerNode.cpp: Calls InspectorController directly when child nodes are added/removed.
12694         (WebCore::dispatchChildInsertionEvents):
12695         (WebCore::dispatchChildRemovalEvents):
12696         * dom/Element.cpp: Calls InspectorController directly when attributes are added/removed.
12697         (WebCore::Element::dispatchAttrRemovalEvent):
12698         (WebCore::Element::dispatchAttrAdditionEvent):
12699         * inspector/InspectorController.cpp:
12700         (WebCore::InspectorController::didInsertDOMNode):
12701         (WebCore::InspectorController::didRemoveDOMNode):
12702         (WebCore::InspectorController::didModifyDOMAttr):
12703         * inspector/InspectorController.h:
12704         * inspector/InspectorDOMAgent.cpp:
12705         (WebCore::InspectorDOMAgent::startListening):
12706         (WebCore::InspectorDOMAgent::stopListening):
12707         (WebCore::InspectorDOMAgent::handleEvent):
12708         (WebCore::InspectorDOMAgent::didInsertDOMNode):
12709         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
12710         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
12711         * inspector/InspectorDOMAgent.h:
12712
12713 2010-01-10  Darin Adler  <darin@apple.com>
12714
12715         Reviewed by Alexey Proskuryakov.
12716
12717         REGRESSION: Japanese text search ignores small vs. large and voicing mark differences
12718         https://bugs.webkit.org/show_bug.cgi?id=30437
12719         rdar://problem/7214058
12720
12721         Test: fast/text/find-kana.html
12722
12723         * editing/TextIterator.cpp:
12724         (WebCore::isKanaLetter): Added.
12725         (WebCore::isSmallKanaLetter): Added.
12726         (WebCore::composedVoicedSoundMark): Added.
12727         (WebCore::isCombiningVoicedSoundMark): Added.
12728         (WebCore::containsKanaLetters): Added.
12729         (WebCore::normalizeCharacters): Added.
12730         (WebCore::SearchBuffer::SearchBuffer): Initialize the data members
12731         m_targetRequiresKanaWorkaround and m_normalizedTarget.
12732         (WebCore::SearchBuffer::isBadMatch): Added. Checks for matches that
12733         ICU's default collation considers correct, but we consider incorrect.
12734         (WebCore::SearchBuffer::search): Added code to call isBadMatch and
12735         move to the next match with usearch_next if the result is true.
12736
12737 2010-01-11  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
12738
12739         Reviewed by Xan Lopez.
12740
12741         https://bugs.webkit.org/show_bug.cgi?id=30883
12742         [Gtk] Implement AtkText for HTML elements which contain text
12743
12744         * accessibility/gtk/AccessibilityObjectWrapperAtk.h
12745         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
12746         (objectAndOffsetUnignored):
12747         (webkit_accessible_text_get_caret_offset):
12748         * editing/gtk/SelectionControllerGtk.cpp:
12749         (SelectionController::notifyAccessibilityForSelectionChange)
12750
12751         Adjust the caret offset and object with focus to reflect the
12752         unignored parent of the static text object which contains the
12753         caret. This is necessary because the static text objects are
12754         no longer being exposed to ATs.
12755
12756 2010-01-11  Kim Grönholm  <kim.gronholm@nomovok.com>
12757
12758         Reviewed by Antti Koivisto.
12759
12760         Touchevent coordinates are incorrect after page zoom and page scroll
12761         https://bugs.webkit.org/show_bug.cgi?id=32899
12762
12763         Test: fast/events/touch-coords-in-zoom-and-scroll.html
12764
12765         * dom/Touch.cpp:
12766         (WebCore::contentsX):
12767         (WebCore::contentsY):
12768         * page/EventHandler.cpp:
12769         (WebCore::EventHandler::handleTouchEvent):
12770
12771 2010-01-11  Tony Chang  <tony@chromium.org>
12772
12773         Reviewed by Eric Seidel.
12774
12775         Have "Paste and Match Style" fire the dom paste event.
12776         https://bugs.webkit.org/show_bug.cgi?id=30639
12777
12778         Test: editing/execCommand/paste-and-match-style-event.html
12779
12780         * editing/Editor.cpp:
12781         (WebCore::Editor::pasteAsPlainText):
12782
12783 2010-01-10  Oliver Hunt  <oliver@apple.com>
12784
12785         Reviewed by NOBODY (Build fix).
12786
12787         Rollout renderpath culling as it once again breaks pixel tests.
12788
12789         * rendering/RenderPath.cpp:
12790         (WebCore::RenderPath::paint):
12791         (WebCore::RenderPath::nodeAtFloatPoint):
12792
12793 2010-01-10  Simon Fraser  <simon.fraser@apple.com>
12794
12795         Reviewed by Darin Adler.
12796
12797         Allows plugins to participate in accelerated compositing
12798         https://bugs.webkit.org/show_bug.cgi?id=33455
12799
12800         Part 1: rename setContentsToVideo() on GraphicsLayer to setContentsToMedia()
12801         to make it more general. Rename associated enums and methods similarly.
12802
12803         * platform/graphics/GraphicsLayer.h:
12804         (WebCore::GraphicsLayer::setContentsToMedia):
12805         * platform/graphics/mac/GraphicsLayerCA.h:
12806         (WebCore::GraphicsLayerCA::):
12807         * platform/graphics/mac/GraphicsLayerCA.mm:
12808         (WebCore::GraphicsLayerCA::setContentsToMedia):
12809         (WebCore::GraphicsLayerCA::commitLayerChanges):
12810         (WebCore::GraphicsLayerCA::updateContentsMediaLayer):
12811         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
12812         (WebCore::MediaPlayerPrivate::createQTMovieLayer):
12813         (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
12814
12815 2010-01-10  Oliver Hunt  <oliver@apple.com>
12816
12817         Reviewed by Nikolas Zimmerman.
12818
12819         Bad DOM performance in large SVG files
12820         https://bugs.webkit.org/show_bug.cgi?id=30055
12821
12822         Cull RenderPaths before passing on to the underlying graphics system.
12823
12824         * rendering/RenderPath.cpp:
12825         (WebCore::RenderPath::paint):
12826         (WebCore::RenderPath::nodeAtFloatPoint):
12827
12828 2010-01-10  Adam Barth  <abarth@webkit.org>
12829
12830         Reviewed by Darin Adler.
12831
12832         Add defensive initialization of iframe sandbox flags
12833         https://bugs.webkit.org/show_bug.cgi?id=32368
12834
12835         We now initialize the SecurityOrigin's sandbox state directly duing
12836         construction.  This lets us properly set the isUnique bit.
12837
12838         Tests: http/tests/security/sandboxed-iframe-origin-add.html
12839                http/tests/security/sandboxed-iframe-origin-remove.html
12840
12841         * WebCore.base.exp:
12842         * dom/Document.cpp:
12843         (WebCore::Document::initSecurityContext):
12844         * page/SecurityOrigin.cpp:
12845         (WebCore::SecurityOrigin::SecurityOrigin):
12846         (WebCore::SecurityOrigin::create):
12847         (WebCore::SecurityOrigin::setSandboxFlags):
12848         * page/SecurityOrigin.h:
12849
12850 2010-01-10  Pavel Feldman  <pfeldman@chromium.org>
12851
12852         Reviewed by Timothy Hatcher.
12853
12854         Web Inspector: Inspect Element selects the wrong element.
12855         Drive-by fix that focuses dom tree upon settting focuesDOMNode.
12856
12857         https://bugs.webkit.org/show_bug.cgi?id=33449
12858
12859         * inspector/front-end/ElementsPanel.js:
12860         (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
12861         (WebInspector.ElementsPanel.prototype.setDocument):
12862         * inspector/front-end/treeoutline.js:
12863         (TreeElement.prototype.select):
12864
12865 2010-01-10  Pavel Feldman  <pfeldman@chromium.org>
12866
12867         Reviewed by Timothy Hatcher.
12868
12869         Web Inspector: Introduce support for flexible line height in the text editor.
12870
12871         https://bugs.webkit.org/show_bug.cgi?id=33431
12872
12873         * inspector/front-end/TextEditor.js:
12874         (WebInspector.TextEditor):
12875         (WebInspector.TextEditor.prototype._offsetToLineNumber):
12876         (WebInspector.TextEditor.prototype._lineNumberToOffset):
12877         (WebInspector.TextEditor.prototype._lineHeight):
12878         (WebInspector.TextEditor.prototype.reveal):
12879         (WebInspector.TextEditor.prototype._textChanged):
12880         (WebInspector.TextEditor.prototype._selectionChanged):
12881         (WebInspector.TextEditor.prototype._updateSize):
12882         (WebInspector.TextEditor.prototype._paintLines):
12883         (WebInspector.TextEditor.prototype._paintLinesContinuation):
12884         (WebInspector.TextEditor.prototype._paintLineNumbers):
12885         (WebInspector.TextEditor.prototype._paintCurrentLine):
12886         (WebInspector.TextEditor.prototype._scroll):
12887         (WebInspector.TextEditor.prototype._repaintOnScroll):
12888         (WebInspector.TextEditor.prototype._caretForMouseEvent):
12889         (WebInspector.TextEditor.prototype._handleNavigationKey):
12890         (WebInspector.TextEditor.prototype._updateCursor):
12891         (WebInspector.TextEditor.prototype._invalidateHighlight):
12892         (WebInspector.TextEditor.prototype._paintSelection):
12893         (WebInspector.TextEditor.prototype._initFont):
12894         (WebInspector.TextCursor.prototype.setTextLineHeight):
12895
12896 2010-01-10  Pavel Feldman  <pfeldman@chromium.org>
12897
12898         Reviewed by Timothy Hatcher.
12899
12900         Web Inspector: Do not repaint line numbers while editing within line.
12901
12902         https://bugs.webkit.org/show_bug.cgi?id=33427
12903
12904         * inspector/front-end/TextEditor.js:
12905         (WebInspector.TextEditor.prototype._textChanged):
12906         (WebInspector.TextEditor.prototype._selectionChanged):
12907         (WebInspector.TextEditor.prototype._repaintAll):
12908         (WebInspector.TextEditor.prototype._paintLines):
12909         (WebInspector.TextEditor.prototype._paintLinesContinuation):
12910         (WebInspector.TextEditor.prototype._paintLineNumbers):
12911         (WebInspector.TextEditor.prototype._updateCursor):
12912         (WebInspector.TextEditor.prototype._copy):
12913
12914 2010-01-10  Adam Barth  <abarth@webkit.org>
12915
12916         Unreviewed whitespace fixes.
12917
12918         * html/HTMLFrameOwnerElement.cpp:
12919         (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
12920         * loader/FrameLoader.cpp:
12921         (WebCore::FrameLoader::updateSandboxFlags):
12922         * loader/FrameLoader.h:
12923
12924 2010-01-09  Adam Barth  <abarth@webkit.org>
12925
12926         Reviewed by Darin Adler.
12927
12928         Unify origin sandbox flag with m_noAccess in SecurityOrigin
12929         https://bugs.webkit.org/show_bug.cgi?id=32372
12930
12931         It turns out the SandboxOrigin bit is slightly different than the
12932         unique origin concept because the sandbox bit is inherited by iframes.
12933         These concepts are separate in the spec, so I think it's ok to keep
12934         them separate in the implementation as well.
12935
12936         No new tests because there is no behavior change.
12937
12938         * dom/Document.cpp:
12939         (WebCore::Document::cookie):
12940         (WebCore::Document::setCookie):
12941         * loader/CrossOriginAccessControl.cpp:
12942         (WebCore::passesAccessControlCheck):
12943         * page/SecurityOrigin.cpp:
12944         (WebCore::schemesWithUniqueOrigins):
12945         (WebCore::SecurityOrigin::SecurityOrigin):
12946         (WebCore::SecurityOrigin::canAccess):
12947         (WebCore::SecurityOrigin::canRequest):
12948         (WebCore::SecurityOrigin::taintsCanvas):
12949         (WebCore::SecurityOrigin::setSandboxFlags):
12950         (WebCore::SecurityOrigin::toString):
12951         (WebCore::SecurityOrigin::registerURLSchemeAsNoAccess):
12952         (WebCore::SecurityOrigin::shouldTreatURLSchemeAsNoAccess):
12953         * page/SecurityOrigin.h:
12954         (WebCore::SecurityOrigin::canAccessDatabase):
12955         (WebCore::SecurityOrigin::canAccessStorage):
12956         (WebCore::SecurityOrigin::canAccessCookies):
12957         (WebCore::SecurityOrigin::isUnique):
12958
12959 2010-01-09  Adam Barth  <abarth@webkit.org>
12960
12961         Reviewed by Darin Adler.
12962
12963         ScriptController::isEnabled needs to be renamed
12964         https://bugs.webkit.org/show_bug.cgi?id=32063
12965
12966         Rename ScriptController::isEnabled to
12967         ScriptController::canExecuteScripts to reflect what the method actually
12968         means.  This is a trivial change, but it involved touching a lot of
12969         call sites.
12970
12971         * WebCore.PluginHostProcess.exp:
12972         * bindings/ScriptControllerBase.cpp:
12973         (WebCore::ScriptController::canExecuteScripts):
12974         (WebCore::ScriptController::executeScript):
12975         * bindings/js/JSEventListener.cpp:
12976         (WebCore::JSEventListener::handleEvent):
12977         * bindings/js/JSLazyEventListener.cpp:
12978         (WebCore::JSLazyEventListener::parseCode):
12979         * bindings/js/ScheduledAction.cpp:
12980         (WebCore::ScheduledAction::execute):
12981         * bindings/js/ScriptController.cpp:
12982         (WebCore::ScriptController::bindingRootObject):
12983         (WebCore::ScriptController::windowScriptNPObject):
12984         (WebCore::ScriptController::jsObjectForPluginElement):
12985         (WebCore::ScriptController::executeScriptInWorld):
12986         * bindings/js/ScriptController.h:
12987         * bindings/js/ScriptControllerMac.mm:
12988         (WebCore::ScriptController::windowScriptObject):
12989         * bindings/js/ScriptEventListener.cpp:
12990         (WebCore::createAttributeEventListener):
12991         * bindings/js/ScriptState.cpp:
12992         (WebCore::scriptStateFromNode):
12993         * bindings/v8/ScriptController.cpp:
12994         (WebCore::ScriptController::windowScriptNPObject):
12995         (WebCore::ScriptController::createScriptObjectForPluginElement):
12996         * bindings/v8/ScriptController.h:
12997         * bindings/v8/ScriptEventListener.cpp:
12998         (WebCore::createAttributeEventListener):
12999         * bindings/v8/V8Proxy.cpp:
13000         (WebCore::V8Proxy::retrieve):
13001         * dom/ScriptElement.cpp:
13002         (WebCore::ScriptElementData::evaluateScript):
13003         * dom/XMLTokenizerLibxml2.cpp:
13004         (WebCore::XMLTokenizer::startElementNs):
13005         * html/HTMLMediaElement.cpp:
13006         (WebCore::HTMLMediaElement::controls):
13007         * html/HTMLTokenizer.cpp:
13008         (WebCore::HTMLTokenizer::parseTag):
13009         (WebCore::HTMLTokenizer::processToken):
13010         * inspector/InspectorController.cpp:
13011         (WebCore::canPassNodeToJavaScript):
13012         * inspector/JavaScriptDebugServer.cpp:
13013         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
13014         * loader/FrameLoader.cpp:
13015         (WebCore::FrameLoader::isProcessingUserGesture):
13016         (WebCore::FrameLoader::open):
13017         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
13018         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
13019
13020 2010-01-09  Evan Martin  <evan@chromium.org>
13021
13022         Reviewed by Eric Seidel.
13023
13024         Inspector font for errors is ugly on non-OSX platforms
13025         https://bugs.webkit.org/show_bug.cgi?id=33340
13026
13027         * css/view-source.css: Add a fallback to sans-serif on a CSS
13028         selector that previously only listed Lucida Grande.
13029
13030 2010-01-09  Dan Bernstein  <mitz@apple.com>
13031
13032         Reviewed by Nikolas Zimmermann.
13033
13034         <rdar://problem/7525778> Font fallback kills SVG kerning
13035         https://bugs.webkit.org/show_bug.cgi?id=33400
13036
13037         Test: platform/mac/fast/text/sticky-typesetting-features.html
13038
13039         Cache font attributes separately for different typesetting features.
13040
13041         * platform/graphics/SimpleFontData.h: Replaced single-element caches
13042         with maps.
13043         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
13044         (WebCore::disableLigatures): Added an ATSUStyle parameter.
13045         (WebCore::initializeATSUStyle): Look up the ATSUStyle in the map and
13046         initialize if necessary. Return the ATSUStyle.
13047         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
13048         Use the ATSUStyle returned from initializeATSUStyle().
13049         * platform/graphics/mac/SimpleFontDataMac.mm:
13050         (WebCore::SimpleFontData::platformInit):
13051         (WebCore::SimpleFontData::platformDestroy): Destroy the ATSUStyles in the
13052         map.
13053         (WebCore::SimpleFontData::getCFStringAttributes): Look up the attributes
13054         dictionary in the map and initialize if necessary.
13055
13056 2010-01-08  Adam Barth  <abarth@webkit.org>
13057
13058         Unreviewed.  Fix namespace indent for SecurityOrigin.h.
13059
13060         * page/SecurityOrigin.h:
13061         (WebCore::SecurityOrigin::domainWasSetInDOM):
13062         (WebCore::SecurityOrigin::protocol):
13063         (WebCore::SecurityOrigin::host):
13064         (WebCore::SecurityOrigin::domain):
13065         (WebCore::SecurityOrigin::port):
13066         (WebCore::SecurityOrigin::canLoadLocalResources):
13067         (WebCore::SecurityOrigin::setSandboxFlags):
13068         (WebCore::SecurityOrigin::isSandboxed):
13069         (WebCore::SecurityOrigin::canAccessDatabase):
13070         (WebCore::SecurityOrigin::canAccessStorage):
13071         (WebCore::SecurityOrigin::):
13072
13073 2010-01-08  Adam Barth  <abarth@webkit.org>
13074
13075         Reviewed by Dmitry Titov.
13076
13077         bindings/v8/DOMData is missing a virtual destructor
13078         https://bugs.webkit.org/show_bug.cgi?id=33390
13079
13080         DOMData is the base class for ChildThreadDOMData and MainThreadDOMData classes
13081         but it does not have a virtual destructor. While this isn't currently causing
13082         any leaks, since there are no instances of ChildThreadDOMData or
13083         MainThreadDOMData that are manipulated via a DOMData pointer, the ARM GCC
13084         compiler generates the following compilation error:
13085
13086         "/WebCore/bindings/v8/DOMData.h:45: error: 'class WebCore::DOMData' has virtual
13087         functions and accessible non-virtual destructor"
13088
13089         We therefore need to add a virtual destructor to DOMData.
13090
13091         * bindings/v8/DOMData.cpp:
13092         (WebCore::DOMData::~DOMData):
13093         * bindings/v8/DOMData.h:
13094
13095 2010-01-08  Daniel Bates  <dbates@webkit.org>
13096
13097         Reviewed by Adam Barth.
13098
13099         https://bugs.webkit.org/show_bug.cgi?id=33417
13100
13101         Cleans up style errors exposed by the patch for bug #33198.
13102
13103         No functionality was changed. So, no new tests.
13104
13105         * platform/graphics/SimpleFontData.h:
13106         * plugins/PluginPackage.cpp:
13107
13108 2010-01-08  Simon Fraser  <simon.fraser@apple.com>
13109
13110         Reviewed by Dan Bernstein.
13111
13112         WebGL canvas paints background color twice
13113         https://bugs.webkit.org/show_bug.cgi?id=33361
13114
13115         Clean up some logic around "directly composited" content: some images, video, and WebGL.
13116
13117         We previously set the GraphicsLayer background color to the CSS background color
13118         in some cases where the box has no other decorations. However, the content 
13119         layer's bounds do not correspond with the background box in many cases,
13120         and we could end up both painting the background color, and setting it on the layer.
13121         
13122         Simplify this logic to never use layer background colors, and thus skip allocating
13123         backing store only when the element has no visible box decorations.
13124
13125         Tests: compositing/images/direct-image-background-color.html
13126                compositing/reflections/simple-composited-reflections.html
13127                compositing/video/video-background-color.html
13128                compositing/webgl/webgl-background-color.html
13129                compositing/webgl/webgl-blending.html
13130
13131         * rendering/RenderLayerBacking.h:
13132         * rendering/RenderLayerBacking.cpp:
13133         (WebCore::is3DCanvas): Utility to determine if a RenderObject is a canvas with WebGL
13134         (WebCore::RenderLayerBacking::RenderLayerBacking): Remove m_hasDirectlyCompositedContent.
13135         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): canUseDirectCompositing()
13136         is renamed to isDirectlyCompositedImage() and only applies to images now. 
13137         No longer set layer background color.
13138         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Just use hasPaintedContent()
13139         as the argument to setDrawsContent().
13140         (WebCore::hasBoxDecorationsOrBackground): Renamed.
13141         (WebCore::RenderLayerBacking::hasNonCompositingContent):
13142         (WebCore::hasBoxDecorationsOrBackgroundImage): Renamed from hasBoxDecorations().
13143         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Moved test for
13144         hasOverflowControls() into hasNonCompositingContent() and removed the FIXME comment.
13145         (WebCore::RenderLayerBacking::containsPaintedContent): New method that decides
13146         if the layer (and its non-composited children) has any content that must be painted into backing store.
13147         (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Renamed from canUseDirectCompositing()
13148         and reduced to only apply to images.
13149         (WebCore::RenderLayerBacking::rendererContentChanged): 3D canvas no longer falls under the
13150         canUseDirectCompositing() scope.
13151
13152 2010-01-08  Steve Block  <steveblock@google.com>
13153
13154         Reviewed by Darin Adler.
13155
13156         Use member initialization syntax instead of assignment for member variables of Document used
13157         for determining minimum layout delay.
13158         https://bugs.webkit.org/show_bug.cgi?id=33316
13159
13160         No new tests, style change only.
13161
13162         * dom/Document.cpp: Modified.
13163         (WebCore::Document::Document): Modified. Use initializer list for m_startTime, m_overMinimumLayoutThreshold and m_extraLayoutDelay.
13164
13165 2010-01-08  Kenneth Russell  <kbr@google.com>
13166
13167         Reviewed by Dimitri Glazkov.
13168
13169         Passing array that is too large to set method of WebGLArrays does not throw an exception
13170         https://bugs.webkit.org/show_bug.cgi?id=33352
13171
13172         Added needed range checks to JSC and V8 custom bindings. Expanded
13173         preexisting test suite for WebGLArrays and updated its expected
13174         results. Tested in WebKit and Chromium.
13175
13176         Test: fast/canvas/webgl/array-set-out-of-bounds.html
13177
13178         * bindings/js/JSWebGLArrayHelper.h:
13179         (WebCore::setWebGLArrayFromArray):
13180         * bindings/v8/custom/V8WebGLArrayCustom.h:
13181         (WebCore::setWebGLArrayFromArray):
13182
13183 2010-01-08  Alexey Proskuryakov  <ap@apple.com>
13184
13185         Reviewed by Dan Bernstein.
13186
13187         https://bugs.webkit.org/show_bug.cgi?id=32962
13188         HTML tags are wrongfully parsed when setting innerHTML of a SCRIPT element
13189
13190         Also fixed the same for STYLE elements.
13191
13192         Tests: fast/dom/css-innerHTML.html
13193                fast/dom/script-innerHTML-x.xhtml
13194                fast/dom/script-innerHTML.html
13195
13196         * html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerHTML): Don't parse JS or CSS as HTML,
13197         matching Firefox.
13198
13199 2010-01-08  Beth Dakin  <bdakin@apple.com>
13200
13201         Reviewed by Oliver Hunt.
13202
13203         Fix for https://bugs.webkit.org/show_bug.cgi?id=32757 Repaint bug 
13204         with -webkit-shadow on svg shapes
13205         -and-
13206         <rdar://problem/7389149>
13207
13208         Inflate the repaintRect for the shadow using its extent.
13209         * rendering/RenderForeignObject.cpp:
13210         (WebCore::RenderForeignObject::computeRectForRepaint):
13211         * rendering/RenderSVGImage.cpp:
13212         (WebCore::RenderSVGImage::computeRectForRepaint):
13213         * rendering/RenderSVGModelObject.cpp:
13214         (WebCore::RenderSVGModelObject::computeRectForRepaint):
13215         * rendering/RenderSVGRoot.cpp:
13216         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
13217         (WebCore::RenderSVGRoot::computeRectForRepaint):
13218         * rendering/RenderSVGText.cpp:
13219         (WebCore::RenderSVGText::computeRectForRepaint):
13220         * rendering/SVGRenderSupport.cpp:
13221         (WebCore::getSVGShadowExtent):
13222         (WebCore::SVGRenderBase::inflateForShadow):
13223         * rendering/SVGRenderSupport.h:
13224
13225 2010-01-08  Kenneth Russell  <kbr@google.com>
13226
13227         Reviewed by Dimitri Glazkov.
13228
13229         WebGLArray subclasses do the wrong conversion in indexSetter
13230         https://bugs.webkit.org/show_bug.cgi?id=33350
13231
13232         Test: fast/canvas/webgl/array-setters.html
13233
13234         * bindings/js/JSWebGLFloatArrayCustom.cpp:
13235         (WebCore::JSWebGLFloatArray::indexSetter):
13236         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
13237         (WebCore::JSWebGLUnsignedIntArray::indexSetter):
13238
13239 2010-01-08  Luiz Agostini  <luiz.agostini@openbossa.org>
13240
13241         Reviewed by Kenneth Rohde Christiansen.
13242
13243         [Qt] Delegation client
13244         https://bugs.webkit.org/show_bug.cgi?id=32826
13245
13246         Factory related code removed from QtAbstractWebPopup. Popups are now created
13247         by ChromeClientQt.
13248         Popup content information struct added to class QtAbstractWebPopup.
13249         PopupMenuClient is now hidden from higher layers.
13250         QtAbstractWebPopup now receives content information and font as parameters
13251         of method populate.
13252         QtFallbackWebPopup moved to WebKit/qt/WebCoreSupport.
13253
13254         * WebCore.pro:
13255         * platform/qt/PopupMenuQt.cpp:
13256         (WebCore::PopupMenu::PopupMenu):
13257         (WebCore::getItems):
13258         (WebCore::PopupMenu::show):
13259         * platform/qt/QtAbstractWebPopup.cpp:
13260         (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
13261         (WebCore::QtAbstractWebPopup::popupDidHide):
13262         (WebCore::QtAbstractWebPopup::valueChanged):
13263         * platform/qt/QtAbstractWebPopup.h:
13264         (WebCore::QtAbstractWebPopup::Item::):
13265         * platform/qt/QtFallbackWebPopup.cpp: Removed.
13266         * platform/qt/QtFallbackWebPopup.h: Removed.
13267
13268 2010-01-08  Yuzo Fujishima  <yuzo@google.com>
13269
13270         Reviewed by Darin Adler.
13271
13272         Skip invalid blocks in CSS property declarations.
13273         https://bugs.webkit.org/show_bug.cgi?id=31231
13274         https://bugs.webkit.org/show_bug.cgi?id=26619
13275
13276         This patch makes the CSS parser skip property declarations containing invalid blocks.
13277
13278         Test: fast/css/parsing-error-recovery.html
13279
13280         * css/CSSGrammar.y:
13281
13282 2010-01-08  Chris Fleizach  <cfleizach@apple.com>
13283
13284         Reviewed by Beth Dakin.
13285
13286         AX: CSS content not returned correctly in AX
13287         https://bugs.webkit.org/show_bug.cgi?id=33308
13288
13289         Test: platform/mac/accessibility/css-content-attribute.html
13290
13291         * accessibility/AccessibilityRenderObject.cpp:
13292         (WebCore::AccessibilityRenderObject::textUnderElement):
13293
13294 2010-01-08  Chris Marrin  <cmarrin@apple.com>
13295
13296         Reviewed by Adam Roben.
13297
13298         Implement full-screen video for Windows
13299         https://bugs.webkit.org/show_bug.cgi?id=31318
13300         
13301         This is mostly support logic for taking video
13302         into and out of full-screen. It also contains the
13303         QTMovieWin piece which adds support for the actual
13304         full-screen window itself. Events from the window
13305         are sent to the FullscreenVideosController for handling.
13306
13307         * loader/FrameLoader.cpp:
13308         (WebCore::FrameLoader::addData):
13309         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
13310         (WebCore::MediaPlayerPrivate::supportsFullscreen):
13311         (WebCore::MediaPlayerPrivate::platformMedia):
13312         * platform/graphics/win/QTMovieWin.cpp:
13313         (QTMovieWinPrivate::QTMovieWinPrivate):
13314         (QTMovieWin::initializeQuickTime):
13315         (QTMovieWin::_handleMessages):
13316         (QTMovieWin::enterFullscreen):
13317         (QTMovieWin::exitFullscreen):
13318         * platform/graphics/win/QTMovieWin.h:
13319
13320 2010-01-08  Matt Perry  <mpcomplete@chromium.org>
13321
13322         Reviewed by Adam Barth.
13323
13324         Fix a regression that removed a call to
13325         FrameLoaderClient::didDestroyScriptContextForFrame.
13326         https://bugs.webkit.org/show_bug.cgi?id=33347
13327
13328         * bindings/v8/V8DOMWindowShell.cpp:
13329         (WebCore::V8DOMWindowShell::disposeContextHandles):
13330
13331 2010-01-08  Brent Fulgham  <bfulgham@webkit.org>
13332
13333         Reviewed by Adam Roben.
13334
13335         WebKit plugins are not rendered during printing.
13336         https://bugs.webkit.org/show_bug.cgi?id=33022.
13337
13338         * plugins/win/PluginViewWin.cpp:
13339         (WebCore::PluginView::paintWindowedPluginIntoContext): Tell
13340           cairo printing surface to flush so that blank regions do
13341           not write over the plugin's paint operations.
13342         * rendering/RenderLayer.cpp: Build fix.
13343         (WebCore::RenderLayer::beginTransparencyLayers): Correct
13344           method signature missing for ColorSpace.
13345
13346 2010-01-08  Chris Fleizach  <cfleizach@apple.com>
13347
13348         Reviewed by Eric Seidel.
13349
13350         REGRESSION(52819?): AXLoadComplete and AXLayoutComplete causes 4 tests fail on Snow Leopard Debug bot
13351         https://bugs.webkit.org/show_bug.cgi?id=33300
13352
13353         * accessibility/mac/AccessibilityObjectWrapper.mm:
13354         (-[AccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:withContext:]):
13355         (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
13356
13357 2010-01-08  Pavel Feldman  <pfeldman@chromium.org>
13358
13359         Reviewed by Timothy Hatcher.
13360
13361         Web Inspector: Regex-based syntax highlighting is slow.
13362
13363         https://bugs.webkit.org/show_bug.cgi?id=33330
13364
13365         * WebCore.gypi:
13366         * WebCore.vcproj/WebCore.vcproj:
13367         * inspector/front-end/JavaScriptHighlighterScheme.js: Removed.
13368         * inspector/front-end/JavaScriptTokenizer.js: Added.
13369         (WebInspector.JavaScriptTokenizer):
13370         (WebInspector.JavaScriptTokenizer.prototype.set line):
13371         (WebInspector.JavaScriptTokenizer.prototype.getCondition):
13372         (WebInspector.JavaScriptTokenizer.prototype.setCondition):
13373         (WebInspector.JavaScriptTokenizer.prototype._charAt):
13374         (WebInspector.JavaScriptTokenizer.prototype.nextToken):
13375         * inspector/front-end/JavaScriptTokenizer.re2js: Added.
13376         * inspector/front-end/TextEditorHighlighter.js:
13377         (WebInspector.TextEditorHighlighter):
13378         (WebInspector.TextEditorHighlighter.prototype.highlight):
13379         (WebInspector.TextEditorHighlighter.prototype._lex):
13380         * inspector/front-end/WebKit.qrc:
13381         * inspector/front-end/inspector.html:
13382
13383 2010-01-07  Mike Belshe  <mbelshe@chromium.org>
13384
13385         Reviewed by Darin Adler.
13386
13387         Fix Spdy casing to match style guide.
13388
13389         https://bugs.webkit.org/show_bug.cgi?id=33326
13390
13391         * platform/network/chromium/ResourceResponse.h:
13392         (WebCore::ResourceResponse::ResourceResponse):
13393         (WebCore::ResourceResponse::wasFetchedViaSPDY):
13394         (WebCore::ResourceResponse::setWasFetchedViaSPDY):
13395
13396 2010-01-07  Daniel Bates  <dbates@rim.com>
13397
13398         Reviewed by Eric Seidel.
13399
13400         https://bugs.webkit.org/show_bug.cgi?id=32987
13401
13402         Added ENABLE_XHTMLMP flag. Disabled by default.
13403
13404         * Configurations/FeatureDefines.xcconfig:
13405         * GNUmakefile.am:
13406         * WebCore.pro:
13407         * WebCore.xcodeproj/project.pbxproj:
13408         * config.h:
13409
13410 2010-01-07  Stephanie Lewis  <slewis@apple.com>
13411
13412         Rolled out http://trac.webkit.org/changeset/52778 due to rolling
13413         out http://trac.webkit.org/changeset/52756
13414
13415         * dom/Document.cpp:
13416         (WebCore::Document::recalcStyle):
13417         * editing/SelectionController.cpp:
13418         (WebCore::SelectionController::layout):
13419         (WebCore::SelectionController::recomputeCaretRect):
13420         (WebCore::SelectionController::invalidateCaretRect):
13421         (WebCore::SelectionController::paintCaret):
13422         * html/HTMLFormControlElement.cpp:
13423         (WebCore::HTMLFormControlElement::attach):
13424         * html/HTMLInputElement.cpp:
13425         (WebCore::HTMLInputElement::attach):
13426         * page/Frame.cpp:
13427         (WebCore::Frame::revealSelection):
13428
13429 2010-01-07  Stephanie Lewis  <slewis@apple.com>
13430
13431         Rollout http://trac.webkit.org/changeset/52756 due to a large performance regression.
13432
13433         * dom/Document.cpp:
13434         (WebCore::Document::updateLayout):
13435         * editing/SelectionController.cpp:
13436         (WebCore::SelectionController::SelectionController):
13437         (WebCore::SelectionController::setSelection):
13438         * editing/SelectionController.h:
13439         * page/Frame.cpp:
13440         (WebCore::Frame::setCaretVisible):
13441         (WebCore::Frame::selectionLayoutChanged):
13442         (WebCore::Frame::caretBlinkTimerFired):
13443         (WebCore::Frame::selectionBounds):
13444         * page/FrameView.cpp:
13445         (WebCore::FrameView::needsLayout):
13446
13447 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
13448
13449         Reviewed by Sam Weinig.
13450
13451         Fix a crash seen on the buildbots.
13452
13453         * bindings/js/JSDOMWindowBase.cpp:
13454         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Don't disable specific
13455         function tracking here; it's too late, as some specific functions
13456         may already have been tracked in the base class constructor.
13457
13458 2010-01-07  Nikolas Zimmermann  <nzimmermann@rim.com>
13459
13460         Reviewed by Dirk Schulze.
13461
13462         SVGTextElement & friends need to implement svgAttributeChanged
13463         https://bugs.webkit.org/show_bug.cgi?id=33284
13464
13465         Implement svgAttributeChanged() for SVGTextElement & SVGTRefElement. As <text> element contain children,
13466         childrenChanged() has to be implemented as well for SVGTextElement.
13467
13468         Simplify SVGTransformable::parseTransformAttribute() code, clearing lists in the beginning
13469         and on error case, after parsing - previously the calling site had to take care of that.
13470
13471         Tests: svg/dynamic-updates/SVGTRefElement-dom-href-attr.html
13472                svg/dynamic-updates/SVGTextElement-dom-transform-attr.html
13473                svg/dynamic-updates/SVGTextElement-svgdom-transform-prop.html
13474
13475         * svg/SVGGradientElement.cpp:
13476         (WebCore::SVGGradientElement::parseMappedAttribute):
13477         * svg/SVGPatternElement.cpp:
13478         (WebCore::SVGPatternElement::parseMappedAttribute):
13479         * svg/SVGStyledTransformableElement.cpp:
13480         (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
13481         * svg/SVGTRefElement.cpp:
13482         (WebCore::SVGTRefElement::svgAttributeChanged):
13483         * svg/SVGTRefElement.h:
13484         * svg/SVGTextElement.cpp:
13485         (WebCore::SVGTextElement::parseMappedAttribute):
13486         (WebCore::SVGTextElement::svgAttributeChanged):
13487         (WebCore::SVGTextElement::childrenChanged):
13488         * svg/SVGTextElement.h:
13489         * svg/SVGTextPositioningElement.cpp:
13490         (WebCore::SVGTextPositioningElement::svgAttributeChanged):
13491         * svg/SVGTextPositioningElement.h:
13492         * svg/SVGTransformable.cpp:
13493         (WebCore::SVGTransformable::parseTransformAttribute):
13494         * svg/SVGTransformable.h:
13495
13496 2010-01-07  Brian Weinstein  <bweinstein@apple.com>
13497
13498         Reviewed by Adele Peterson.
13499
13500         Padding in popup menu gets lost with styled <select> in Windows.
13501         Fixes <rdar://7285538>, and <http://webkit.org/b/33235>.
13502
13503         [Win] Support padding-right on selects when webkit-appearance is off. Added a test
13504         case for narrow selects with -webkit-appearance: none, and padding left and right to
13505         show that both types of padding are honored.
13506
13507         * manual-tests/select-webkit-appearance-off-narrow-select.html: Added.
13508         * platform/win/PopupMenuWin.cpp:
13509         (WebCore::PopupMenu::calculatePositionAndSize): Use clientPaddingRight instead of a hardcoded constant.
13510         * rendering/RenderMenuList.cpp:
13511         (WebCore::RenderMenuList::clientPaddingRight): If webkit-appearance is off, use padding-right instead of
13512         the hardcoded constant.
13513
13514 2010-01-07  Alexey Proskuryakov  <ap@apple.com>
13515
13516         Reviewed by Geoffrey Garen.
13517
13518         https://bugs.webkit.org/show_bug.cgi?id=33057
13519         REGRESSION(r49365): typeof(xhr.responseText) != "string" in Windows
13520
13521         <rdar://problem/7296920> REGRESSION: WebKit fails to start PeaceKeeper benchmark
13522
13523         * config.h: Define JS_EXPORTCLASS. I'm not sure why this isn't done in JSC globally for all
13524         possible clients, but keeping the current design for now.
13525
13526 2010-01-07  Brent Fulgham  <bfulgham@webkit.org>
13527
13528         Reviewed by Jon Honeycutt.
13529
13530         Account for scale and current context position (as well as page
13531         position) in the device context world transform passed to
13532         plugins.  This is especially important for print surface DPI.
13533         http://bugs.webkit.org/show_bug.cgi?id=32909.
13534
13535         * plugins/win/PluginViewWin.cpp:
13536         (WebCore::PluginView::paintWindowedPluginIntoContext): Revise
13537           world context handling to include scaling and translation
13538           already set for the CTM.
13539
13540 2010-01-07  Nate Chapin  <japhet@chromium.org>
13541
13542         Reviewed by Dimitri Glazkov.
13543
13544         Generate V8 bindings header declarations for named and indexed accessors.
13545
13546         * bindings/scripts/CodeGeneratorV8.pm:
13547         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
13548         * bindings/v8/custom/V8CustomBinding.h:
13549         * bindings/v8/custom/V8DOMWindowCustom.cpp:
13550         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
13551         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
13552         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
13553         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
13554         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
13555         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
13556         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
13557         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
13558         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
13559         * bindings/v8/custom/V8NodeListCustom.cpp:
13560         * bindings/v8/custom/V8StorageCustom.cpp:
13561         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
13562         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
13563         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
13564         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
13565         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
13566         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
13567         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
13568         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
13569
13570 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
13571
13572         Better build fix: use 'this->structure()', since 'structure' is a
13573         PassRefPtr, and therefore null.
13574
13575         * bindings/js/JSDOMWindowBase.cpp:
13576         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
13577
13578 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
13579
13580         Build fix: avoid a name conflict by using the local 'structure' instead
13581         of the member 'structure()'.
13582
13583         * bindings/js/JSDOMWindowBase.cpp:
13584         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
13585
13586 2010-01-07  Simon Fraser  <simon.fraser@apple.com>
13587
13588         Build fix.
13589
13590         Add RenderEmbeddedObject.h/cpp to all the build systems.
13591
13592         * Android.mk:
13593         * GNUmakefile.am:
13594         * WebCore.gypi:
13595         * WebCore.pro:
13596         * WebCore.vcproj/WebCore.vcproj:
13597         * WebCoreSources.bkl:
13598
13599 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
13600
13601         Reviewed by Sam Weinig.
13602
13603         Safari memory usage skyrockets using new Google AdWords interface
13604         https://bugs.webkit.org/show_bug.cgi?id=33343
13605
13606         * bindings/js/JSDOMWindowBase.cpp:
13607         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Disabled specific function
13608         tracking for the window object, since there's no way to do direct
13609         method calls on the window object; they all go through the window shell.
13610
13611 2010-01-07  Simon Fraser  <simon.fraser@apple.com>
13612
13613         Reviewed by Kevin Decker, Darin Adler.
13614
13615         https://bugs.webkit.org/show_bug.cgi?id=33338
13616         Create a renderer for <object> and <embed>
13617         
13618         Add RenderEmbeddedObject, which derives from RenderPartObject, and is created for <object> and <embed>.
13619         Instances of RenderPartObject are now only allocated for iframes.
13620         
13621         Move object/embed-related code from RenderPartObject to RenderEmbeddedObject.
13622
13623         * WebCore.xcodeproj/project.pbxproj:
13624         Add RenderEmbeddedObject.h/cpp
13625         
13626         * html/HTMLEmbedElement.cpp:
13627         (WebCore::HTMLEmbedElement::createRenderer): Create a RenderEmbeddedObject.
13628         (WebCore::HTMLEmbedElement::updateWidget): Use toRenderEmbeddedObject()
13629
13630         * html/HTMLMediaElement.cpp:
13631         (WebCore::HTMLMediaElement::createRenderer): Make a RenderEmbeddedObject for the plugin-proxy case.
13632         (WebCore::HTMLMediaElement::finishParsingChildren): Use toRenderEmbeddedObject() in the plugin-proxy code.
13633
13634         * html/HTMLObjectElement.cpp:
13635         (WebCore::HTMLObjectElement::createRenderer): Make a RenderEmbeddedObject
13636         (WebCore::HTMLObjectElement::updateWidget): Use toRenderEmbeddedObject()
13637
13638         * page/FrameView.h:
13639         * page/FrameView.cpp:
13640         (WebCore::FrameView::addWidgetToUpdate):
13641         (WebCore::FrameView::removeWidgetToUpdate):
13642         (WebCore::FrameView::updateWidgets):
13643         Objects in the m_widgetUpdateSet are only ever RenderEmbeddedObjects.
13644         
13645         * rendering/RenderEmbeddedObject.cpp: Added.
13646         * rendering/RenderEmbeddedObject.h: Added.
13647         Most of the code moved from RenderPartObject.
13648         
13649         * rendering/RenderObject.h:
13650         (WebCore::RenderObject::isEmbeddedObject): New method.
13651
13652         * rendering/RenderPart.cpp:
13653         (WebCore::RenderPart::RenderPart): Initialize m_hasFallbackContent here, rather than in the derived classes.
13654         * rendering/RenderPart.h: Comments.
13655         
13656         * rendering/RenderPartObject.h:
13657         * rendering/RenderPartObject.cpp:
13658         (WebCore::RenderPartObject::RenderPartObject): Clean up, code moved to base class, and removed object/embed-specific code.
13659         (WebCore::RenderPartObject::layout): Removed object/embed-specific code.
13660
13661 2010-01-07  Simon Fraser  <simon.fraser@apple.com>
13662
13663         Reviewed by Darin Adler.
13664
13665         https://bugs.webkit.org/show_bug.cgi?id=33338
13666         Create a renderer for <object> and <embed>
13667
13668         First part of this change: renderPartObject->updateWidget() is a no-op for iframe elements,
13669         so we don't need to call it here, and can thus remove the attach() override entirely.
13670
13671         * html/HTMLIFrameElement.cpp:
13672         * html/HTMLIFrameElement.h:
13673
13674 2009-01-07  Pavel Feldman  <pfeldman@chromium.org>
13675
13676         Reviewed by Timothy Hatcher.
13677
13678         Web Inspector: Migrate to canvas-based text viewer / editor that scales.
13679
13680         https://bugs.webkit.org/show_bug.cgi?id=33001
13681
13682         * WebCore.gypi:
13683         * WebCore.vcproj/WebCore.vcproj:
13684         * inspector/front-end/JavaScriptHighlighterScheme.js: Added.
13685         (WebInspector.JavaScriptHighlighterScheme):
13686         * inspector/front-end/KeyboardShortcut.js:
13687         * inspector/front-end/TextEditor.js: Added.
13688         (WebInspector.TextEditor):
13689         (WebInspector.TextSelectionModel):
13690         (WebInspector.TextCursor):
13691         * inspector/front-end/TextEditorHighlighter.js: Added.
13692         (WebInspector.TextEditorHighlighter):
13693         (WebInspector.TextEditorHighlighter.prototype.highlight):
13694         (WebInspector.TextEditorHighlighter.prototype._lex):
13695         * inspector/front-end/TextEditorModel.js: Added.
13696         (WebInspector.TextRange):
13697         (WebInspector.TextRange.prototype.clone):
13698         (WebInspector.TextEditorModel):
13699         * inspector/front-end/WebKit.qrc:
13700         * inspector/front-end/inspector.css:
13701         * inspector/front-end/inspector.html:
13702
13703 2010-01-07  Christian Sejersen  <christian.webkit@gmail.com>
13704
13705         Reviewed by Darin Adler.
13706
13707         document.title does not replace or remove space characters
13708         https://bugs.webkit.org/show_bug.cgi?id=27032
13709
13710         Test: fast/dom/Document/document-title-get.html
13711
13712         * dom/Document.cpp: 
13713         (WebCore::Document::Document): 
13714         Initialization of m_rawTitle
13715         (WebCore::canonicalizedTitle): 
13716         Moved from DocumentLoader.cpp with minor edits
13717         (WebCore::Document::updateTitle): 
13718         Ensures the title is canonicalized
13719         (WebCore::Document::setTitle): 
13720         Uses m_rawTitle instaed of m_title 
13721         (WebCore::Document::removeTitle): 
13722         Uses m_rawTitle instead of m_title
13723         
13724         * dom/Document.h: 
13725         Added m_rawTitle that stores the passed in title, m_title now stores the 
13726         canonicalized title
13727         
13728         * loader/DocumentLoader.cpp:
13729         (WebCore::DocumentLoader::setTitle): 
13730         The title passed in is now canonicalized in Document.cpp
13731
13732 2010-01-07  Yuzo Fujishima  <yuzo@google.com>
13733
13734         Reviewed by Darin Adler.
13735
13736         Allow leading/trailing space for CSS nth-*() and lang().
13737         https://bugs.webkit.org/show_bug.cgi?id=17248
13738
13739         For pseudo-classes :nth-*() and :lang(), space must be allowed after '(' and before ')'.
13740         See the bug comments for why we don't allow space at other places.
13741
13742         * css/CSSGrammar.y:
13743
13744 2010-01-07  Chris Fleizach  <cfleizach@apple.com>
13745
13746         Reviewed by Beth Dakin.
13747
13748         AX: contentEditable DIVs are not AX accessible
13749         https://bugs.webkit.org/show_bug.cgi?id=33325
13750
13751         Test: accessibility/contenteditable-hidden-div.html
13752
13753         * accessibility/AccessibilityRenderObject.cpp:
13754         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
13755         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
13756
13757 2010-01-07  Adam Barth  <abarth@webkit.org>
13758
13759         Unreviewed.  Resolve merge conflict.
13760
13761         * bindings/v8/V8Proxy.cpp:
13762         (WebCore::V8Proxy::setContextDebugId):
13763
13764 2010-01-07  Adam Barth  <abarth@webkit.org>
13765
13766         No review, rolling out r52847.
13767         http://trac.webkit.org/changeset/52847
13768         https://bugs.webkit.org/show_bug.cgi?id=33232
13769
13770         Might have caused a perf regression.  I'm rolling this out to see if it
13771         heals the perf bot.
13772
13773         * bindings/v8/ScriptController.cpp:
13774         (WebCore::ScriptController::ScriptController):
13775         (WebCore::ScriptController::~ScriptController):
13776         (WebCore::ScriptController::updateSecurityOrigin):
13777         (WebCore::ScriptController::evaluateInIsolatedWorld):
13778         (WebCore::ScriptController::haveInterpreter):
13779         (WebCore::ScriptController::clearWindowShell):
13780         (WebCore::ScriptController::updateDocument):
13781         * bindings/v8/ScriptController.h:
13782         * bindings/v8/V8DOMWindowShell.cpp:
13783         * bindings/v8/V8DOMWindowShell.h:
13784         * bindings/v8/V8DOMWrapper.cpp:
13785         (WebCore::V8DOMWrapper::instantiateV8Object):
13786         (WebCore::V8DOMWrapper::convertDocumentToV8Object):
13787         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
13788         * bindings/v8/V8IsolatedContext.cpp:
13789         (WebCore::V8IsolatedContext::V8IsolatedContext):
13790         * bindings/v8/V8Proxy.cpp:
13791         (WebCore::V8Proxy::V8Proxy):
13792         (WebCore::V8Proxy::~V8Proxy):
13793         (WebCore::V8Proxy::handleOutOfMemory):
13794         (WebCore::V8Proxy::evaluateInIsolatedWorld):
13795         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
13796         (WebCore::V8Proxy::clearForClose):
13797         (WebCore::V8Proxy::clearForNavigation):
13798         (WebCore::V8Proxy::context):
13799         (WebCore::V8Proxy::mainWorldContext):
13800         (WebCore::V8Proxy::currentContext):
13801         (WebCore::V8Proxy::setContextDebugId):
13802         * bindings/v8/V8Proxy.h:
13803         (WebCore::V8Proxy::windowShell):
13804         * bindings/v8/WorldContextHandle.cpp:
13805         (WebCore::WorldContextHandle::adjustedContext):
13806
13807 2010-01-07  Dan Bernstein  <mitz@apple.com>
13808
13809         Build fix
13810
13811         * WebCore.xcodeproj/project.pbxproj: Made TypesettingFeatures.h private.
13812
13813 2010-01-07  Dan Bernstein  <mitz@apple.com>
13814
13815         Reviewed by Sam Weinig.
13816
13817         Added Font::typesettingFeatures() and deployed it
13818
13819         No change in funcitonality
13820
13821         * WebCore.xcodeproj/project.pbxproj: Added TypesettingFeatures.h.
13822         * platform/graphics/Font.h:
13823         (WebCore::Font::typesettingFeatures): Added. Determines the typesetting
13824             features from the text redndering mode.
13825         * platform/graphics/FontFastPath.cpp:
13826         (WebCore::Font::canUseGlyphCache): Use typesettingFeatures().
13827         * platform/graphics/SimpleFontData.h:
13828         * platform/graphics/TypesettingFeatures.h: Added.
13829         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
13830         (WebCore::disableLigatures): Take TypesettingFeatures instead of
13831             TextRenderingMode.
13832         (WebCore::initializeATSUStyle): Ditto.
13833         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
13834             Use typesettingFeatures().
13835         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
13836         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
13837             Ditto.
13838         * platform/graphics/mac/SimpleFontDataMac.mm:
13839         (WebCore::SimpleFontData::getCFStringAttributes): Take
13840             TypesettingFeatures instead of TextRenderingMode.
13841         * rendering/RenderBlockLineLayout.cpp:
13842         (WebCore::RenderBlock::findNextLineBreak): Use TypesettingFeatures().
13843
13844 2010-01-07  Dimitri Glazkov  <dglazkov@chromium.org>
13845
13846         No review, rolling out r52900.
13847         http://trac.webkit.org/changeset/52900
13848         https://bugs.webkit.org/show_bug.cgi?id=30055
13849
13850         Broke over 30 SVG pixel tests.
13851
13852         * rendering/RenderPath.cpp:
13853         (WebCore::RenderPath::paint):
13854
13855 2010-01-07  Simon Hausmann  <simon.hausmann@nokia.com>
13856
13857         Rubber-stamped by Kenneth Rohde Christiansen.
13858
13859         [Qt] The library version number of the first package release is 4.7.0.
13860
13861         * WebCore.pro:
13862
13863 2010-01-07  Yael Aharon  <yael.aharon@nokia.com>
13864
13865         Reviewed by Kenneth Rohde Christiansen.
13866
13867         [Qt] Allow the application to override online/offline network status
13868         https://bugs.webkit.org/show_bug.cgi?id=32684
13869
13870         Added API to NetworkStateNotifier for forcing network status.
13871
13872         * platform/network/NetworkStateNotifier.h:
13873         * platform/network/qt/NetworkStateNotifierPrivate.h:
13874         * platform/network/qt/NetworkStateNotifierQt.cpp:
13875         (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
13876         (WebCore::NetworkStateNotifierPrivate::onlineStateChanged):
13877         (WebCore::NetworkStateNotifierPrivate::networkAccessPermissionChanged):
13878         (WebCore::NetworkStateNotifier::updateState):
13879         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
13880         (WebCore::NetworkStateNotifier::setNetworkAccessAllowed):
13881
13882 2010-01-07  Simon Hausmann  <simon.hausmann@nokia.com>
13883
13884         Reviewed by Tor Arne Vestbø.
13885
13886         [Qt] Fix linkage against Qt mobility API bearer management module
13887
13888         Use the documented .pro file syntax to link against the correct
13889         library and (more importantly) get the include paths correct.
13890
13891         * WebCore.pro:
13892
13893 2010-01-07  Eric Carlson  <eric.carlson@apple.com>
13894
13895         Reviewed by Maciej Stachowiak.
13896
13897         https://bugs.webkit.org/show_bug.cgi?id=33272
13898         'abort' event still fired as a progress event
13899
13900         rdar://6710625
13901         Test media/video-error-abort.html doesn't work
13902
13903         Test: http/tests/media/video-error-abort.html
13904
13905         * html/HTMLMediaElement.cpp:
13906         (WebCore::HTMLMediaElement::scheduleEvent): Incorporate code from enqueueEvent.
13907         (WebCore::HTMLMediaElement::loadInternal): Fix 'abort' event firing logic missed
13908         in https://bugs.webkit.org/show_bug.cgi?id=30513. Change order of initialization 
13909         to match spec wording.
13910         * html/HTMLMediaElement.h: Remove enqueueEvent prototype.
13911
13912 2010-01-07  Kim Grönholm  <kim.gronholm@nomovok.com>
13913
13914         Reviewed by Antti Koivisto.
13915
13916         Wrong state and TouchLists in TouchEvents
13917         https://bugs.webkit.org/show_bug.cgi?id=32878
13918
13919         Touch events changed to match the API and semantics of iPhone and
13920         Android. Each new touch point press dispatches a touchstart event with
13921         the pressed touch point(s) in the changedTouches list, and a release
13922         dispatches a touchend event with the released touch point(s) in
13923         changedTouches. Moved points dispatch a touchmove event, with the moved
13924         points in changedTouches. Old behaviour emitted only one touchstart when
13925         the first point was pressed and one touchend when the last point was
13926         released, and any events in between were touchmoves. New presses or
13927         releases could only be detected by comparing the lists touches and
13928         changedTouches.
13929
13930         * page/EventHandler.cpp:
13931         (WebCore::EventHandler::handleTouchEvent):
13932         * page/EventHandler.h:
13933
13934 2010-01-07  Kent Tamura  <tkent@chromium.org>
13935
13936         Reviewed by Maciej Stachowiak.
13937
13938         Remove COM code generation stuff.
13939         https://bugs.webkit.org/show_bug.cgi?id=32854
13940
13941         Remove the followings:
13942         - CodeGeenratorCOM.pm, COM code generator,
13943         - "#if !defined(LANGUAGE_COM) || !LANGUAGE_COM" in IDL files, and
13944         - UUID attributes in IDL files.
13945
13946         * bindings/scripts/CodeGeneratorCOM.pm: Removed.
13947         * css/CSSCharsetRule.idl:
13948         * css/CSSFontFaceRule.idl:
13949         * css/CSSImportRule.idl:
13950         * css/CSSMediaRule.idl:
13951         * css/CSSPageRule.idl:
13952         * css/CSSPrimitiveValue.idl:
13953         * css/CSSRule.idl:
13954         * css/CSSRuleList.idl:
13955         * css/CSSStyleDeclaration.idl:
13956         * css/CSSStyleRule.idl:
13957         * css/CSSStyleSheet.idl:
13958         * css/CSSUnknownRule.idl:
13959         * css/CSSValue.idl:
13960         * css/CSSValueList.idl:
13961         * css/Counter.idl:
13962         * css/MediaList.idl:
13963         * css/RGBColor.idl:
13964         * css/Rect.idl:
13965         * css/StyleSheet.idl:
13966         * css/StyleSheetList.idl:
13967         * css/WebKitCSSKeyframeRule.idl:
13968         * css/WebKitCSSKeyframesRule.idl:
13969         * css/WebKitCSSTransformValue.idl:
13970         * dom/Attr.idl:
13971         * dom/CDATASection.idl:
13972         * dom/CharacterData.idl:
13973         * dom/Comment.idl:
13974         * dom/DOMImplementation.idl:
13975         * dom/Document.idl:
13976         * dom/DocumentFragment.idl:
13977         * dom/DocumentType.idl:
13978         * dom/Element.idl:
13979         * dom/Entity.idl:
13980         * dom/EntityReference.idl:
13981         * dom/Event.idl:
13982         * dom/EventListener.idl:
13983         * dom/EventTarget.idl:
13984         * dom/NamedNodeMap.idl:
13985         * dom/Node.idl:
13986         * dom/NodeList.idl:
13987         * dom/Notation.idl:
13988         * dom/ProcessingInstruction.idl:
13989         * dom/Text.idl:
13990         * html/HTMLAnchorElement.idl:
13991         * html/HTMLAppletElement.idl:
13992         * html/HTMLAreaElement.idl:
13993         * html/HTMLBRElement.idl:
13994         * html/HTMLBaseElement.idl:
13995         * html/HTMLBaseFontElement.idl:
13996         * html/HTMLBlockquoteElement.idl:
13997         * html/HTMLBodyElement.idl:
13998         * html/HTMLButtonElement.idl:
13999         * html/HTMLCanvasElement.idl:
14000         * html/HTMLCollection.idl:
14001         * html/HTMLDListElement.idl:
14002         * html/HTMLDirectoryElement.idl:
14003         * html/HTMLDivElement.idl:
14004         * html/HTMLDocument.idl:
14005         * html/HTMLElement.idl:
14006         * html/HTMLEmbedElement.idl:
14007         * html/HTMLFieldSetElement.idl:
14008         * html/HTMLFontElement.idl:
14009         * html/HTMLFormElement.idl:
14010         * html/HTMLFrameElement.idl:
14011         * html/HTMLFrameSetElement.idl:
14012         * html/HTMLHRElement.idl:
14013         * html/HTMLHeadElement.idl:
14014         * html/HTMLHeadingElement.idl:
14015         * html/HTMLHtmlElement.idl:
14016         * html/HTMLIFrameElement.idl:
14017         * html/HTMLImageElement.idl:
14018         * html/HTMLInputElement.idl:
14019         * html/HTMLIsIndexElement.idl:
14020         * html/HTMLLIElement.idl:
14021         * html/HTMLLabelElement.idl:
14022         * html/HTMLLegendElement.idl:
14023         * html/HTMLLinkElement.idl:
14024         * html/HTMLMapElement.idl:
14025         * html/HTMLMarqueeElement.idl:
14026         * html/HTMLMenuElement.idl:
14027         * html/HTMLMetaElement.idl:
14028         * html/HTMLModElement.idl:
14029         * html/HTMLOListElement.idl:
14030         * html/HTMLObjectElement.idl:
14031         * html/HTMLOptGroupElement.idl:
14032         * html/HTMLOptionElement.idl:
14033         * html/HTMLOptionsCollection.idl:
14034         * html/HTMLParagraphElement.idl:
14035         * html/HTMLParamElement.idl:
14036         * html/HTMLPreElement.idl:
14037         * html/HTMLQuoteElement.idl:
14038         * html/HTMLScriptElement.idl:
14039         * html/HTMLSelectElement.idl:
14040         * html/HTMLStyleElement.idl:
14041         * html/HTMLTableCaptionElement.idl:
14042         * html/HTMLTableCellElement.idl:
14043         * html/HTMLTableColElement.idl:
14044         * html/HTMLTableElement.idl:
14045         * html/HTMLTableRowElement.idl:
14046         * html/HTMLTableSectionElement.idl:
14047         * html/HTMLTextAreaElement.idl:
14048         * html/HTMLTitleElement.idl:
14049         * html/HTMLUListElement.idl:
14050
14051 2010-01-07  Steve Block  <steveblock@google.com>
14052
14053         Reviewed by Darin Adler.
14054
14055         Adds the ability to increase the delay used when scheduling layout.
14056         https://bugs.webkit.org/show_bug.cgi?id=32875
14057
14058         No new tests possible.
14059
14060         * dom/Document.cpp: Modified.
14061         (WebCore::Document::Document): Modified. Initializes extra layout delay to zero.
14062         (WebCore::Document::minimumLayoutDelay): Modified. Adds extra layout delay when calculating minimum layout delay.
14063         * dom/Document.h: Modified.
14064         (WebCore::Document::setExtraLayoutDelay): Added. Sets the extra layout delay.
14065
14066 2010-01-07  Kent Tamura  <tkent@chromium.org>
14067
14068         Reviewed by Eric Seidel.
14069
14070         Some IDL files lack "," separators for extended attributes.
14071         https://bugs.webkit.org/show_bug.cgi?id=33190
14072
14073         To find such mistakes, IDLParser.pm rejects whitespace characters in
14074         extended attribute names.
14075
14076         * bindings/scripts/IDLParser.pm:
14077           parseExtendedAttributes rejects whitespace in a name.
14078         * css/WebKitCSSTransformValue.idl: Add missing ",".
14079         * dom/EventTarget.idl: ditto.
14080
14081 2010-01-07  Kent Tamura  <tkent@chromium.org>
14082
14083         Reviewed by Adam Barth.
14084
14085         Fix an issue that CodeGeneratorV8.pm doesnt handle HasIndexGetter of
14086         WebKitCSSTransformValue.idl correctly.
14087         https://bugs.webkit.org/show_bug.cgi?id=33193
14088
14089         CodeGeneratorV8.pm doesn't handle inheritance very well and it
14090         tried to refer v8WebKitCSSTransformValueIndexedPropertyGetter(),
14091         which does not exist. Because WebKitCSSTransformValue inherits
14092         CSSValueList and CSSValueList already has HadIndexGetter, we don't
14093         need to do anything for WebKitCSSTransformValue about HasIndexGetter.
14094
14095         * bindings/scripts/CodeGeneratorV8.pm:
14096           Reset $hasGetter for WebKitCSSTransformValue.
14097
14098 2010-01-07  Anton Muhin  <antonm@chromium.org>
14099
14100         Reviewed by Adam Barth.
14101
14102         Do not return strings whose handles are in near death state (that means
14103         they might be GCed) or just empty.
14104         https://bugs.webkit.org/show_bug.cgi?id=31180
14105
14106         * bindings/v8/V8Binding.cpp:
14107         (WebCore::v8ExternalString):
14108
14109 2010-01-06  MORITA Hajime  <morrita@gmail.com>
14110
14111         Reviewed by Nikolas Zimmermann.
14112
14113         SVG background color on selected text goes wrong when text has
14114         gradient stroke.
14115         https://bugs.webkit.org/show_bug.cgi?id=33069
14116
14117         Introduced SVGTextPaintSubphase like as PaintPhase on html painting,
14118         and paint background and foreground in separate subphase.
14119         
14120         Test: svg/text/selection-background-color.xhtml
14121         
14122         * rendering/SVGCharacterLayoutInfo.h:
14123         (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
14124         Added m_setupBackgroundCallback, m_setupForegroundCallback
14125         (WebCore::SVGTextChunkWalker::setupBackground):
14126         (WebCore::SVGTextChunkWalker::setupForeground):
14127         Added.
14128         * rendering/SVGInlineTextBox.cpp:
14129         (WebCore::SVGInlineTextBox::paintCharacters):
14130         pass SVGTextPaintInfo instead of SVGPaintServer
14131         * rendering/SVGInlineTextBox.h:
14132         (WebCore::SVGTextPaintSubphase):
14133         (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
14134         Added.
14135         * rendering/SVGRootInlineBox.cpp:
14136         (WebCore::SVGRootInlineBox::walkTextChunks):
14137         Invoke setupBackground() and setupForeground()
14138         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupBackgroundCallback):
14139         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupForegroundCallback):
14140         (WebCore::SVGRootInlineBoxPaintWalker::activePaintServer):        
14141         Added.
14142         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback):
14143         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback):
14144         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
14145         (WebCore::SVGRootInlineBox::paint):
14146         
14147 2010-01-06  Kinuko Yasuda  <kinuko@chromium.org>
14148
14149         Reviewed by Eric Seidel.
14150
14151         Make windowsKeyCodeForKeyEvent() return correct key code for
14152         numeric-pad arrow keys.
14153         https://bugs.webkit.org/show_bug.cgi?id=33250
14154
14155         Test: fast/events/keydown-numpad-keys.html
14156
14157         * platform/qt/PlatformKeyboardEventQt.cpp:
14158         (WebCore::windowsKeyCodeForKeyEvent):
14159
14160 2009-10-18 Patrick Gansterer <paroga@paroga.com>
14161
14162         Reviewed by Dirk Schulze.
14163
14164         Improve DOM performance in large SVG files.
14165         Check the dirty area before painting a path, which prevents unnecessary
14166         clipping and changes to the GraphicsContext.
14167         https://bugs.webkit.org/show_bug.cgi?id=30055
14168
14169         * rendering/RenderPath.cpp:
14170         (WebCore::RenderPath::paint):
14171
14172 2010-01-06  Kent Tamura  <tkent@chromium.org>
14173
14174         Reviewed by Darin Adler.
14175
14176         Use a static HashMap for HTMLElement::tagPriority().
14177         https://bugs.webkit.org/show_bug.cgi?id=33269
14178
14179         The prior code compares AtomicStringImpl pointers 18 times at
14180         worst. This change avoids it.
14181
14182         No new tests because this is just a refactoring.
14183
14184         * html/HTMLElement.cpp:
14185         (WebCore::Empty1IntHashTraits): A HashTraits to return 1 as the empty value.
14186         (WebCore::initializeTagPriorityMap): Initialization of a static HashMap.
14187         (WebCore::HTMLElement::tagPriority): Use the static HashMap created by initializeTagPriorityMap().
14188         * html/HTMLElement.h:
14189         (WebCore::HTMLElement::HTMLElement): Add an assertion about non-null localName().
14190
14191 2010-01-06  Mike Belshe  <mike@belshe.com>
14192
14193         Add a flag to the ResourceResponse for tracking if a request was
14194         fetched via SPDY.  This is plumbed through so that we can inform
14195         a webpage via JavaScript if it was fecthed via the experimental
14196         SPDY protocol.
14197
14198         https://bugs.webkit.org/show_bug.cgi?id=33186
14199
14200         * platform/network/chromium/ResourceResponse.h:
14201         (WebCore::ResourceResponse::wasFetchedViaSpdy):
14202         (WebCore::ResourceResponse::setWasFetchedViaSpdy):
14203
14204 2010-01-06  Jakub Wieczorek  <faw217@gmail.com>
14205
14206         Reviewed by Adam Treat.
14207
14208         [Qt] RenderTheme: Missing support for native sliders
14209
14210         https://bugs.webkit.org/show_bug.cgi?id=33122
14211
14212         Implement painting of native slider controls in RenderTheme
14213         and unskip a couple of layout tests that are passing after
14214         this change.
14215
14216         * platform/qt/RenderThemeQt.cpp:
14217         (WebCore::RenderThemeQt::paintSliderTrack):
14218         (WebCore::RenderThemeQt::adjustSliderTrackStyle):
14219         (WebCore::RenderThemeQt::paintSliderThumb):
14220         (WebCore::RenderThemeQt::adjustSliderThumbStyle):
14221         (WebCore::RenderThemeQt::supportsFocus):
14222         (WebCore::RenderThemeQt::adjustSliderThumbSize):
14223         * platform/qt/RenderThemeQt.h:
14224
14225 2010-01-06  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
14226
14227         Reviewed by Darin Adler.
14228
14229         Adjust incorrect comments after r40534.
14230
14231         * bindings/js/JSDOMBinding.cpp:
14232         (WebCore::markActiveObjectsForContext):
14233
14234 2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>
14235
14236         Unreviewed build fix for chromium.
14237         Add "bool V8WorkerContext::WebSocketEnabled()"
14238
14239         * bindings/v8/custom/V8WorkerContextCustom.cpp:
14240         (WebCore::V8WorkerContext::WebSocketEnabled):
14241
14242 2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>
14243
14244         Unreviewed build fix.
14245         remove wrong assertion
14246
14247         * websockets/WorkerThreadableWebSocketChannel.cpp:
14248         (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
14249
14250 2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>
14251
14252         Reviewed by David Levin.
14253
14254         Add WebSocket feature in Worker
14255         https://bugs.webkit.org/show_bug.cgi?id=32214
14256
14257         Introduce ThreadableWebSocketChannel interface and add
14258         WorkerThreadableWebSocketChannel for Worker.
14259         WorkerThreadableWebSocketChannel uses WebSocketChannel in the
14260         main thread, which is managed by Peer and communicated via Bridge.
14261
14262         Test: websocket/tests/workers/worker-simple.html
14263
14264         * GNUmakefile.am:
14265         * WebCore.gypi:
14266         * WebCore.pro:
14267         * WebCore.vcproj/WebCore.vcproj:
14268         * WebCore.xcodeproj/project.pbxproj:
14269         * bindings/js/JSWebSocketConstructor.h:
14270         * bindings/js/JSWorkerContextCustom.cpp:
14271         (WebCore::JSWorkerContext::webSocket):
14272         * bindings/v8/WorkerContextExecutionProxy.cpp:
14273         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
14274         * bindings/v8/custom/V8WebSocketCustom.cpp:
14275         (WebCore::V8Custom::v8WebSocketConstructorCallback):
14276         * bindings/v8/custom/V8WorkerContextCustom.cpp:
14277         * platform/CrossThreadCopier.cpp:
14278         (WebCore::::copy):
14279         * platform/CrossThreadCopier.h:
14280         (WebCore::):
14281         * websockets/ThreadableWebSocketChannel.cpp: Added.
14282         * websockets/ThreadableWebSocketChannel.h: Added.
14283         * websockets/ThreadableWebSocketChannelClientWrapper.h: Added.
14284         * websockets/WebSocket.cpp:
14285         (WebCore::WebSocket::connect):
14286         (WebCore::WebSocket::didReceiveMessage):
14287         * websockets/WebSocket.h:
14288         * websockets/WebSocketChannel.h:
14289         (WebCore::WebSocketChannel::refThreadableWebSocketChannel):
14290         (WebCore::WebSocketChannel::derefThreadableWebSocketChannel):
14291         * websockets/WebSocketChannelClient.h:
14292         * websockets/WebSocketHandshake.h:
14293         * websockets/WorkerThreadableWebSocketChannel.cpp: Added.
14294         * websockets/WorkerThreadableWebSocketChannel.h: Added.
14295         * workers/WorkerContext.idl:
14296
14297 2010-01-06  Adam Bergkvist  <adam.bergkvist@ericsson.com>
14298
14299         Reviewed by Darin Adler.
14300
14301         Modified EventSource event-stream parser to support a single CR as line ending.
14302         https://bugs.webkit.org/show_bug.cgi?id=33207
14303
14304         * page/EventSource.cpp:
14305         (WebCore::EventSource::EventSource):
14306         (WebCore::EventSource::parseEventStream):
14307         * page/EventSource.h:
14308
14309 2010-01-06  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
14310
14311         Reviewed by Xan Lopez.
14312
14313         https://bugs.webkit.org/show_bug.cgi?id=30883
14314         [Gtk] Implement AtkText for HTML elements which contain text
14315
14316         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
14317         (getInterfaceMaskFromObject):
14318         (getPangoLayoutForAtk):
14319         (webkit_accessible_text_get_text):
14320         * accessibility/gtk/AccessibilityObjectAtk.cpp:
14321         (AccessibilityObject::accessibilityPlatformIncludesObject):
14322
14323 2010-01-06  Dan Bernstein  <mitz@apple.com>
14324
14325         Reviewed by Sam Weinig.
14326
14327         <rdar://problem/7488126> With text-rendering: optimizelegibility, sometimes lines run too long
14328         https://bugs.webkit.org/show_bug.cgi?id=32794
14329
14330         Test: platform/mac/fast/text/line-breaking-with-kerning.html
14331
14332         * rendering/RenderBlockLineLayout.cpp:
14333         (WebCore::RenderBlock::findNextLineBreak): When kerning is enabled, include
14334         the trailing space when measuring a word, then subtract its width. This
14335         accounts for kerning between the last glyph of the word and the following space.
14336
14337 2010-01-06  Kevin Decker  <kdecker@apple.com>
14338
14339         Reviewed by Simon Fraser
14340
14341         Second step of:
14342         <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
14343
14344         * Plugins/Hosted/WebHostedNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
14345         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
14346         (-[WebHostedNetscapePluginView pluginLayer]): Added.
14347         * Plugins/WebNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
14348         * Plugins/WebNetscapePluginView.mm:
14349         (-[WebNetscapePluginView pluginLayer]): Added.
14350
14351 2010-01-06  Adam Barth  <abarth@webkit.org>
14352
14353         No review, rolling out r52877.
14354         http://trac.webkit.org/changeset/52877
14355         https://bugs.webkit.org/show_bug.cgi?id=33243
14356
14357         I screwed up landing this patch and only partially applied the patch I
14358         was trying to land.
14359
14360         * bindings/ScriptControllerBase.cpp:
14361         * bindings/js/ScriptController.cpp:
14362         (WebCore::ScriptController::executeScriptInWorld):
14363         * bindings/v8/ScriptController.cpp:
14364         (WebCore::ScriptController::ScriptController):
14365         (WebCore::ScriptController::~ScriptController):
14366         (WebCore::ScriptController::updateSecurityOrigin):
14367         (WebCore::ScriptController::evaluateInIsolatedWorld):
14368         (WebCore::ScriptController::haveInterpreter):
14369         (WebCore::ScriptController::mainWorldWindowShell):
14370         (WebCore::ScriptController::clearWindowShell):
14371         (WebCore::ScriptController::clearForClose):
14372         (WebCore::ScriptController::destroyWindowShell):
14373         (WebCore::ScriptController::updateDocument):
14374         * bindings/v8/ScriptController.h:
14375         (WebCore::ScriptController::proxy):
14376         (WebCore::ScriptController::windowShell):
14377         (WebCore::ScriptController::existingWindowShell):
14378         (WebCore::ScriptController::evaluateInWorld):
14379         * bindings/v8/V8DOMWindowShell.cpp:
14380         (WebCore::V8DOMWindowShell::create):
14381         (WebCore::V8DOMWindowShell::V8DOMWindowShell):
14382         (WebCore::V8DOMWindowShell::initContextIfNeeded):
14383
14384 2010-01-06  Eric Seidel  <eric@webkit.org>
14385
14386         Unreviewed.  Rolling back in a change I should not have rolled out.
14387
14388         The original commit http://trac.webkit.org/changeset/52862
14389         was rolled out again in http://trac.webkit.org/changeset/52871
14390         but I now believe that rollout to be in error.
14391         My sincerest apologies for the churn.
14392
14393         Fix the bug in previous commit: we shouldn't finish
14394         decoding if "sizeOnly" is true.
14395         https://bugs.webkit.org/show_bug.cgi?id=33258
14396
14397         * platform/image-decoders/png/PNGImageDecoder.cpp:
14398         (WebCore::PNGImageReader::decode):
14399
14400 2010-01-06  Adam Barth  <abarth@webkit.org>
14401
14402         Reviewed by Eric Seidel.
14403
14404         [v8] Let ScriptController have more than one windowShell
14405         https://bugs.webkit.org/show_bug.cgi?id=33243
14406
14407         This patch lets ScriptController have more than one windowShell.  We're
14408         currently only using one of them (for the main world), but this patch
14409         lets us use other ones for isolated worlds soon.
14410
14411         * bindings/ScriptControllerBase.cpp:
14412         (WebCore::ScriptController::executeScriptInWorld):
14413         * bindings/js/ScriptController.cpp:
14414         * bindings/v8/ScriptController.cpp:
14415         (WebCore::ScriptController::createWorld):
14416         (WebCore::ScriptController::initScript):
14417         (WebCore::ScriptController::ScriptController):
14418         (WebCore::ScriptController::~ScriptController):
14419         (WebCore::ScriptController::updateSecurityOrigin):
14420         (WebCore::ScriptController::evaluateInIsolatedWorld):
14421         (WebCore::ScriptController::evaluateInWorld):
14422         (WebCore::ScriptController::mainWorldWindowShell):
14423         (WebCore::ScriptController::clearWindowShell):
14424         (WebCore::ScriptController::clearForClose):
14425         (WebCore::ScriptController::destroyWindowShell):
14426         (WebCore::ScriptController::updateDocument):
14427         * bindings/v8/ScriptController.h:
14428         (WebCore::ScriptController::windowShell):
14429         (WebCore::ScriptController::existingWindowShell):
14430         (WebCore::ScriptController::globalObject):
14431         (WebCore::ScriptController::proxy):
14432         * bindings/v8/V8DOMWindowShell.cpp:
14433         (WebCore::V8DOMWindowShell::create):
14434         (WebCore::V8DOMWindowShell::V8DOMWindowShell):
14435         (WebCore::V8DOMWindowShell::initContextIfNeeded):
14436         * bindings/v8/V8DOMWindowShell.h:
14437         * bindings/v8/V8DOMWrapper.cpp:
14438         (WebCore::V8DOMWrapper::instantiateV8Object):
14439         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
14440
14441 2010-01-06  Mark Rowe  <mrowe@apple.com>
14442
14443         Fix the Mac build.
14444
14445         * WebCore.base.exp: Export symbols WebKit would like to use.
14446         * plugins/PluginWidget.h:
14447         (WebCore::PluginWidget::PluginWidget): Redeclare a constructor.
14448
14449 2010-01-06  Kevin Decker  <kdecker@apple.com>
14450
14451         Reviewed by Eric Carlson.
14452         
14453         First step toward:
14454         <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
14455         
14456         Small refactoring moving the PluginWidget class from WebKit to WebCore.          
14457         * WebCore.xcodeproj/project.pbxproj: Added new source files and a "mac" group; exposes PluginWidget.h as a "Private" role
14458         * platform/Widget.h: Added isPluginWidget(). 
14459         (WebCore::Widget::isPluginWidget):
14460         * plugins/PluginWidget.h: Added.
14461         (WebCore::PluginWidget::isPluginWidget): Added as an interim solution until Mac plug-ins inheirt from PluginView.
14462         * plugins/mac/PluginWidgetMac.mm: Added.
14463         (WebCore::PluginWidget::invalidateRect): Added. Extracted from the old WebKit/FrameLoaderClientMac version of PluginWidget
14464         
14465 2010-01-06  Eric Seidel  <eric@webkit.org>
14466
14467         No review, rolling out r52862.
14468         http://trac.webkit.org/changeset/52862
14469         https://bugs.webkit.org/show_bug.cgi?id=33258
14470
14471         Caused svg/W3C-SVG-1.1/linking-a-01-b.svg to crash on the
14472         Leopard Release builder.
14473
14474         * platform/image-decoders/png/PNGImageDecoder.cpp:
14475         (WebCore::PNGImageReader::decode):
14476
14477 2010-01-06  Nikolas Zimmermann  <nzimmermann@rim.com>
14478
14479         Not reviewed. Revert the part of my last commit touching Base.xcconfig, was not meant to be commited.
14480
14481         * Configurations/Base.xcconfig:
14482
14483 2010-01-05  Nate Chapin  <japhet@chromium.org>
14484
14485         Reviewed by Dimitri Glazkov.
14486
14487         Generate header declarations for V8 binding security checks
14488         and delete V8CustomBinding.cpp
14489
14490         * Android.v8bindings.mk: Removed V8CustomBinding.cpp.
14491         * WebCore.gypi: Removed V8CustomBinding.cpp.
14492         * bindings/scripts/CodeGeneratorV8.pm: Generate security check declarations.
14493         * bindings/v8/V8DOMWindowShell.cpp:
14494         (WebCore::getTargetFrame): Moved from V8CustomBinding.cpp.
14495         (WebCore::reportUnsafeJavaScriptAccess):
14496         (WebCore::V8DOMWindowShell::createNewContext):
14497         (WebCore::V8DOMWindowShell::setLocation): Moved from V8CustomBinding.cpp.
14498         * bindings/v8/V8DOMWindowShell.h:
14499         * bindings/v8/V8DOMWrapper.cpp:
14500         (WebCore::downcastSVGPathSeg): Moved from V8CustomBinding.cpp.
14501         (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
14502         (WebCore::V8DOMWrapper::getTemplate):
14503         * bindings/v8/custom/V8CustomBinding.cpp: Removed.
14504         * bindings/v8/custom/V8CustomBinding.h:
14505         * bindings/v8/custom/V8DOMWindowCustom.cpp:
14506         (WebCore::V8DOMWindow::locationAccessorSetter):
14507         (WebCore::V8DOMWindow::namedSecurityCheck):
14508         (WebCore::V8DOMWindow::indexedSecurityCheck):
14509         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
14510         (WebCore::V8Document::locationAccessorSetter):
14511         * bindings/v8/custom/V8HistoryCustom.cpp:
14512         (WebCore::V8History::indexedSecurityCheck):
14513         (WebCore::V8History::namedSecurityCheck):
14514         * bindings/v8/custom/V8LocationCustom.cpp:
14515         (WebCore::V8Location::indexedSecurityCheck):
14516         (WebCore::V8Location::namedSecurityCheck):
14517
14518 2010-01-06  Nikolas Zimmermann  <nzimmermann@rim.com>
14519
14520         Reviewed by Dirk Schulze.
14521
14522         Marker code is buggy: referencePoint translation is off
14523         https://bugs.webkit.org/show_bug.cgi?id=33012
14524
14525         Rewrite marker code, as it had many issues:
14526         - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
14527         - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
14528         - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
14529         - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
14530           can have three different resources of the same type (three markers, start/mid/end markers)
14531
14532         Filed bug 33115 (PathElementAddQuadCurveToPoint not handled for <marker>), which was just a TODO in the code before.
14533
14534         Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
14535         Test: svg/custom/marker-referencePoint.svg
14536               svg/custom/marker-opacity.svg
14537               svg/custom/marker-strokeWidth-changes.svg
14538
14539         * Android.mk: Add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to build.
14540         * GNUmakefile.am: Ditto.
14541         * WebCore.gypi: Ditto.
14542         * WebCore.pro: Ditto.
14543         * WebCore.vcproj/WebCore.vcproj: Ditto.
14544         * WebCore.xcodeproj/project.pbxproj: Ditto.
14545         * page/FrameView.cpp: Notify RenderSVGRoot children about viewport size changes, just like it's handled for <body> in HTML.
14546         (WebCore::FrameView::layout): This is important, as marker bounding boxes may depend on the current viewport size through relative coordinates used in <svg>.
14547         * rendering/RenderPath.cpp:
14548         (WebCore::RenderPath::markerBoundingBox): Calculates and caches marker boundaries in the layout() phase.
14549         (WebCore::RenderPath::repaintRectInLocalCoordinates): Use the cached marker bounding box during paint() time.
14550         (WebCore::RenderPath::setPath): Clear marker boundaries upon path changes.
14551         (WebCore::RenderPath::paint): Use SVGMarkerLayoutInfo::drawMarkers() instead of the local drawMarkersIfNeeded() function, which is gone now.
14552         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Utilized by markerBoundingBox() to request SVGResourceMarker objects and calculate their boundaries.
14553         * rendering/RenderPath.h: Store SVGMarkerLayoutInfo objects, and rename m_markerBounds to m_cachedLocalMarkerBBox for consistency.
14554         (WebCore::RenderPath::path): Inline this accessor.
14555         * rendering/RenderSVGContainer.h: Make paint() public (to be used from SVGResourceMarker), all other methods protected (to be used from RenderSVGViewportContainer).
14556         * rendering/RenderSVGViewportContainer.cpp: Remove useless paint() override, as the comment in the code indicated.
14557         (WebCore::RenderSVGViewportContainer::markerBoundaries): Maps the marker contents repaintRectInLocalCoordinates() into the final coordinate system (see code).
14558         (WebCore::RenderSVGViewportContainer::markerContentTransformation): Add marker-specific helper method, allowing to make viewportTransform() private again.
14559         * rendering/RenderSVGViewportContainer.h: Marking viewportTransform() private, it's never meant to be used outside this renderer.
14560         * rendering/SVGMarkerData.h: Added. Refactored from existing RenderPath code, preserving original copyrights.
14561         (WebCore::SVGMarkerData::): Helper struct for SVGMarkerLayoutInfo.
14562         (WebCore::SVGMarkerData::origin): Holds the final computed destination of a marker.
14563         (WebCore::SVGMarkerData::marker): Holds a pointer to the associated SVGResourceMarker object, which we're aiming to layout.
14564         (WebCore::SVGMarkerData::currentAngle): Calculates the current angle for a certain marker type (start/mid/end) based upon the computed inslope/outslope values.
14565         (WebCore::SVGMarkerData::updateTypeAndMarker): Helper method.
14566         (WebCore::SVGMarkerData::updateOutslope): Ditto.
14567         (WebCore::SVGMarkerData::updateMarkerDataForPathElement): Does the actual inslope/outslope calculation.
14568         (WebCore::SVGMarkerData::updateInslope): Helper method.
14569         * rendering/SVGMarkerLayoutInfo.cpp: Added. New approach to build marker layout info, this time correct during layout() time instead of paint() time.
14570         (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
14571         (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
14572         (WebCore::processStartAndMidMarkers): Static helper method used to visit each path element in order to calculate inslopes/outslopes (-> orientation angles)
14573         (WebCore::SVGMarkerLayoutInfo::calculateBoundaries): Build list of MarkerLayout objects, used to query boundaries, and to paint markers during drawMarkers().
14574         (WebCore::SVGMarkerLayoutInfo::drawMarkers): Cheap method walking existing MarkerLayout vector, drawing the individual RenderSVGViewportContainer of the markers.
14575         (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker): Helper method.
14576         * rendering/SVGMarkerLayoutInfo.h: Added.
14577         (WebCore::MarkerLayout::MarkerLayout): Helper struct storing a pair of SVGResourceMarker* and a TranformationMatrix.
14578         (WebCore::SVGMarkerLayoutInfo::markerData): Public helper methods returning references to private member variables, used from processStartAndMidMarkers.
14579         (WebCore::SVGMarkerLayoutInfo::midMarker): Ditto.
14580         (WebCore::SVGMarkerLayoutInfo::elementIndex): Ditto.
14581         * svg/SVGMarkerElement.cpp: Adopt to name change: setRef() -> setReferencePoint(). setMarker() -> setRenderer()
14582         (WebCore::SVGMarkerElement::~SVGMarkerElement): Remove obsolete detach() hack, fixed by SVGUseElement changes.
14583         (WebCore::SVGMarkerElement::canvasResource): Add ASSERT(renderer()) to clarify that canvasResource() is only meant to used after renderer creation.
14584         * svg/SVGSVGElement.cpp:
14585         (WebCore::SVGSVGElement::~SVGSVGElement): Remove obsolete detach() hack, fixed by SVGUseElement changes.
14586         * svg/SVGUseElement.cpp: Rework buildPendingResource() to remove SVGSVGElement/SVGMarkerElement detach() hacks (called manually from destructors), see below.
14587         (WebCore::SVGUseElement::buildPendingResource): Always detach() the shadow tree root element, before destructing it - this caused the regression with this patch before.
14588         * svg/graphics/SVGResource.cpp: Instead of maintaining a global hashmap between SVGStyledElements and an array of possible SVGResources, use a HashSet of SVGResources
14589                                         and directly scan the already existing list of clients for a certain SVGResource. This wrong approach has been introduced over two years
14590                                         ago, making the assumption that there's only one resource type per element. Though markers can provide three resources of the same type
14591                                         per element (all SVGResourceMarker objects, but in different rules: start/mid/end marker). That information is only available while painting.
14592         (WebCore::resourceSet): Add global static HashSet<SVGResource*>.
14593         (WebCore::SVGResource::SVGResource): Add us to the resourceSet.
14594         (WebCore::SVGResource::~SVGResource): Remove us from resourceSet.
14595         (WebCore::SVGResource::removeClient): Traverse all SVGResource clients and remove the passed SVGStyledElement from the client list (invoked by SVGStyledElement destructor).
14596         (WebCore::SVGResource::addClient): Remove the offending part of the old approach, making the wrong assumption regarding resource types.
14597         * svg/graphics/SVGResourceMarker.cpp:
14598         (WebCore::SVGResourceMarker::SVGResourceMarker):
14599         (WebCore::SVGResourceMarker::markerTransformation): Create TransformationMatrix in the local marker content (RenderSVGViewportContainer) coordinate system, to position a marker.
14600         (WebCore::SVGResourceMarker::draw): Simplify marker drawing a lot: used the passing TransformationMatrix (cached in SVGMarkerLayoutInfo) to draw the marker content renderer.
14601         (WebCore::SVGResourceMarker::externalRepresentation): Adopt to refX/refY -> referencePoint changes.
14602         * svg/graphics/SVGResourceMarker.h: Store a FloatPoint m_referecePoint instead of two refX/refY float values.
14603         (WebCore::SVGResourceMarker::setRenderer): Renamed from setMarker().
14604         (WebCore::SVGResourceMarker::setReferencePoint): Renamed from setRef().
14605         (WebCore::SVGResourceMarker::referencePoint): New accessor replacing refX() / refY().
14606
14607 2010-01-06  Dirk Schulze  <krit@webkit.org>
14608
14609         Reviewed by Nikolas Zimmermann.
14610
14611         SVG feImage support
14612         https://bugs.webkit.org/show_bug.cgi?id=31905
14613
14614         This implements the SVG Filter effect feImage with support of fragment urls.
14615         It also includes a bug fix for feComposite. feComposite didn't cover values
14616         bigger than 255 correctly on composite oeprator arithmetic.
14617
14618         Tests: There are already many feImage tests in trunk. They just needed updated
14619                pixel test results.
14620                The feComposite bug is covered by svg/W3C-SVG-1.1/filters-composite-02-b.svg
14621                and depends on feImage.
14622
14623         * platform/graphics/filters/FEComposite.cpp:
14624         (WebCore::arithmetic):
14625         * rendering/RenderSVGImage.cpp:
14626         (WebCore::RenderSVGImage::paint):
14627         * rendering/RenderSVGImage.h:
14628         * svg/SVGFEImageElement.cpp:
14629         (WebCore::SVGFEImageElement::requestImageResource):
14630         (WebCore::SVGFEImageElement::parseMappedAttribute):
14631         (WebCore::SVGFEImageElement::notifyFinished):
14632         (WebCore::SVGFEImageElement::build):
14633         * svg/SVGFEImageElement.h:
14634         * svg/SVGFEImageElement.idl:
14635         * svg/SVGPreserveAspectRatio.cpp:
14636         (WebCore::SVGPreserveAspectRatio::transformRect):
14637         * svg/SVGPreserveAspectRatio.h:
14638         * svg/graphics/filters/SVGFEImage.cpp:
14639         (WebCore::FEImage::FEImage):
14640         (WebCore::FEImage::create):
14641         (WebCore::FEImage::apply):
14642         * svg/graphics/filters/SVGFEImage.h:
14643
14644 2010-01-06  Yong Li  <yoli@rim.com>
14645
14646         Reviewed by Darin Adler.
14647
14648         Fix the bug in previous commit: we shouldn't finish
14649         decoding if "sizeOnly" is true.
14650         https://bugs.webkit.org/show_bug.cgi?id=33258
14651
14652         * platform/image-decoders/png/PNGImageDecoder.cpp:
14653         (WebCore::PNGImageReader::decode):
14654
14655 2010-01-06  Eric Seidel  <eric@webkit.org>
14656
14657         No review, rolling out r52855.
14658         http://trac.webkit.org/changeset/52855
14659         https://bugs.webkit.org/show_bug.cgi?id=33222
14660
14661         Caused 6 layout tests to fail on Mac
14662
14663         * loader/DocumentLoader.cpp:
14664         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
14665         * loader/MainResourceLoader.cpp:
14666         (WebCore::MainResourceLoader::continueAfterContentPolicy):
14667         * loader/ResourceLoader.cpp:
14668         * loader/ResourceLoader.h:
14669
14670 2010-01-06  Yong Li  <yoli@rim.com>
14671
14672         Reviewed by Darin Adler.
14673
14674         Let ReourceLoader deliver segmented data
14675         when loading resource from a SharedBuffer object.
14676         https://bugs.webkit.org/show_bug.cgi?id=33222
14677
14678         * loader/DocumentLoader.cpp:
14679         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
14680         * loader/MainResourceLoader.cpp:
14681         (WebCore::MainResourceLoader::continueAfterContentPolicy):
14682         * loader/ResourceLoader.cpp:
14683         (WebCore::ResourceLoader::didReceiveData):
14684         * loader/ResourceLoader.h:
14685
14686 2010-01-06  Simon Hausmann  <simon.hausmann@nokia.com>
14687
14688         Unreviewed trivial Qt build fix.
14689
14690         Prefix the phonon includes with phonon/ to avoid conflicts with the S60
14691         audio routing API ( http://wiki.forum.nokia.com/index.php/Audio_Routing_API ).
14692
14693         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
14694
14695 2010-01-05  Darin Fisher  <darin@chromium.org>
14696
14697         Reviewed by Adam Barth.
14698
14699         Moving v8::HandleScope up above declaration of v8::Local to fix a
14700         Chromium startup crash.
14701
14702         * bindings/v8/V8Proxy.cpp:
14703         (WebCore::V8Proxy::setContextDebugId):
14704
14705 2010-01-05  Adam Barth  <abarth@webkit.org>
14706
14707         Reviewed by Dimitri Glazkov.
14708
14709         [v8] Move V8DOMWindowShell to ScriptController
14710         https://bugs.webkit.org/show_bug.cgi?id=33232
14711
14712         This patch moves V8DOMWindow shell to ScriptController, where the
14713         window shells live in JSC land.  The next step will be to allow for
14714         more than one window shell per script controller.
14715
14716         * bindings/v8/ScriptController.cpp:
14717         (WebCore::ScriptController::ScriptController):
14718         (WebCore::ScriptController::~ScriptController):
14719         (WebCore::ScriptController::updateSecurityOrigin):
14720         (WebCore::ScriptController::evaluateInIsolatedWorld):
14721         (WebCore::ScriptController::haveInterpreter):
14722         (WebCore::ScriptController::mainWorldWindowShell):
14723         (WebCore::ScriptController::clearWindowShell):
14724         (WebCore::ScriptController::clearForClose):
14725         (WebCore::ScriptController::destroyWindowShell):
14726         (WebCore::ScriptController::updateDocument):
14727         * bindings/v8/ScriptController.h:
14728         * bindings/v8/V8DOMWindowShell.cpp:
14729         (WebCore::V8DOMWindowShell::~V8DOMWindowShell):
14730         * bindings/v8/V8DOMWindowShell.h:
14731         (WebCore::V8DOMWindowShell::localHandleForContext):
14732         * bindings/v8/V8DOMWrapper.cpp:
14733         (WebCore::V8DOMWrapper::instantiateV8Object):
14734         (WebCore::V8DOMWrapper::convertDocumentToV8Object):
14735         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
14736         * bindings/v8/V8IsolatedContext.cpp:
14737         (WebCore::V8IsolatedContext::V8IsolatedContext):
14738         * bindings/v8/V8Proxy.cpp:
14739         (WebCore::V8Proxy::V8Proxy):
14740         (WebCore::V8Proxy::~V8Proxy):
14741         (WebCore::V8Proxy::handleOutOfMemory):
14742         (WebCore::V8Proxy::evaluateInIsolatedWorld):
14743         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
14744         (WebCore::V8Proxy::context):
14745         (WebCore::V8Proxy::mainWorldContext):
14746         (WebCore::V8Proxy::currentContext):
14747         (WebCore::V8Proxy::setContextDebugId):
14748         * bindings/v8/V8Proxy.h:
14749         * bindings/v8/WorldContextHandle.cpp:
14750         (WebCore::WorldContextHandle::adjustedContext):
14751
14752 2010-01-05  Kent Tamura  <tkent@chromium.org>
14753
14754         Reviewed by Maciej Stachowiak.
14755
14756         Implement HTML5 <header> and <footer> elements.
14757         https://bugs.webkit.org/show_bug.cgi?id=32943
14758
14759         <header> and <footer> should behave the same as <nav>, <section>,
14760         <article>, and <aside>. The HTML parser doesn't need to restrict
14761         the nesting of header/footer elements.
14762
14763         Tests: fast/html/footer-element.html
14764                fast/html/header-element.html
14765
14766         * css/html.css: Add header/footer as block elements.
14767         * editing/htmlediting.cpp:
14768         (WebCore::validBlockTag): Add headerTag and footerTag.
14769         * html/HTMLElement.cpp:
14770         (WebCore::HTMLElement::tagPriority): Returns 5 for headerTag and footerTag.
14771         (WebCore::blockTagList): Add headerTag and footerTag.
14772         * html/HTMLParser.cpp:
14773         (WebCore::HTMLParser::handleError): Rename isHeaderTag() to isHeadingTag()
14774         (WebCore::HTMLParser::getNode): Add headerTag and footerTag.
14775         (WebCore::HTMLParser::isHeadingTag): Renamed from isHeaderTag().
14776         * html/HTMLParser.h:
14777           - Rename isHeaderTag() to isHeadingTag()
14778           - Remove non-existing popNestedHeaderTag().
14779         * html/HTMLTagNames.in: Add header and footer.
14780
14781 2010-01-05  Darin Adler  <darin@apple.com>
14782
14783         Reviewed by Dan Bernstein.
14784
14785         CDATA sections are merged into Text nodes when normalize() is used
14786         https://bugs.webkit.org/show_bug.cgi?id=33191
14787
14788         Test: fast/dom/Node/normalize-with-cdata.html
14789
14790         * dom/Node.cpp:
14791         (WebCore::Node::normalize): Use nodeType instead of isTextNode.
14792
14793 2010-01-05  James Robinson  <jamesr@google.com>
14794
14795         Reviewed by Eric Seidel.
14796
14797         Typing in Google Wave repaints the whole screen
14798         https://bugs.webkit.org/show_bug.cgi?id=32295
14799
14800         Marks a RenderBlock without block children for layout and painting when it has no line boxes only if it has inline immediate children.
14801         The existing logic uses the existence of line boxes as a dirty flag to indicate that line boxes need to be regenerated.  This heuristic
14802         fails when the RenderBlock does not have any in-flow children at all, causing the RenderBlock to get unnecessarily marked for layout and
14803         painting.  This is particularly bad for common scrollbar manipulation tricks like putting one positioned div inside another - this
14804         structure caused the entire outer div's bounds to get scheduled for a paint whenever there was any mutation of any descendant.
14805
14806         Test: LayoutTests/fast/repaint/block-no-inline-children.html (only shows up in pixel tests)
14807
14808         * rendering/RenderBlockLineLayout.cpp:
14809         (WebCore::RenderBlock::layoutInlineChildren):
14810
14811 2010-01-05  James Robinson  <jamesr@chromium.org>
14812
14813         Reviewed by David Hyatt.
14814
14815         Cleans up line box clearing when a RenderBlock loses its last child.
14816         https://bugs.webkit.org/show_bug.cgi?id=33228
14817
14818         The 'fullLayout' flag in RenderBlock::layoutInlineChildren() is pretty vague, hopefully this will be easier for the next person to figure out.
14819
14820
14821         No new tests.
14822
14823         * rendering/RenderBlock.cpp:
14824         (WebCore::RenderBlock::removeChild):
14825         * rendering/RenderBlockLineLayout.cpp:
14826         (WebCore::RenderBlock::layoutInlineChildren):
14827
14828 2010-01-05  Alexander Pavlov  <apavlov@chromium.org>
14829
14830         Reviewed by Pavel Feldman.
14831
14832         Provide the "documentURL" property for documents and frame owner elements
14833
14834         This is necessary to determine owner document URLs for nodes (all nodes have
14835         the top-level document set as ownerDocument).
14836         https://bugs.webkit.org/show_bug.cgi?id=33025
14837
14838         * inspector/InspectorDOMAgent.cpp:
14839         (WebCore::InspectorDOMAgent::buildObjectForNode):
14840         * inspector/front-end/DOMAgent.js:
14841         (WebInspector.DOMNode):
14842
14843 2010-01-05  Peter Kasting  <pkasting@google.com>
14844
14845         Reviewed by Adam Barth.
14846
14847         Public GIF decoder should stop decoding when allocation fails
14848         https://bugs.webkit.org/show_bug.cgi?id=33231
14849
14850         * platform/image-decoders/gif/GIFImageDecoder.cpp:
14851         (WebCore::GIFImageDecoder::haveDecodedRow):
14852         * platform/image-decoders/gif/GIFImageDecoder.h:
14853         * platform/image-decoders/gif/GIFImageReader.cpp:
14854         (GIFImageReader::output_row):
14855         (GIFImageReader::do_lzw):
14856         (GIFImageReader::read):
14857         * platform/image-decoders/gif/GIFImageReader.h:
14858
14859 2010-01-05  Yong Li  <yoli@rim.com>
14860
14861         Reviewed by Darin Adler.
14862
14863         Make PNG image decoder work with segmented SharedBuffer
14864         https://bugs.webkit.org/show_bug.cgi?id=33213
14865
14866         * platform/image-decoders/ImageDecoder.cpp:
14867         (WebCore::ImageDecoder::create):
14868         * platform/image-decoders/ImageDecoder.h:
14869         (WebCore::ImageDecoder::ImageDecoder):
14870         (WebCore::ImageDecoder::isAllDataReceived):
14871         (WebCore::ImageDecoder::setData):
14872         * platform/image-decoders/png/PNGImageDecoder.cpp:
14873         (WebCore::PNGImageReader::PNGImageReader):
14874         (WebCore::PNGImageReader::close):
14875         (WebCore::PNGImageReader::currentBufferSize):
14876         (WebCore::PNGImageReader::setComplete):
14877         (WebCore::PNGImageReader::decode):
14878         (WebCore::PNGImageDecoder::decode):
14879         (WebCore::PNGImageDecoder::headerAvailable):
14880         (WebCore::PNGImageDecoder::pngComplete):
14881
14882 2010-01-05  Adam Barth  <abarth@webkit.org>
14883
14884         Rubber stamped by Dimitri Glazkov.
14885
14886         Fix namespace indent for ScriptController.
14887
14888         * bindings/v8/ScriptController.h:
14889         (WebCore::ScriptController::proxy):
14890         (WebCore::ScriptController::windowShell):
14891         (WebCore::ScriptController::existingWindowShell):
14892         (WebCore::ScriptController::xssAuditor):
14893         (WebCore::ScriptController::setProcessingTimerCallback):
14894         (WebCore::ScriptController::setPaused):
14895         (WebCore::ScriptController::isPaused):
14896         (WebCore::ScriptController::sourceURL):
14897         (WebCore::ScriptController::evaluateInWorld):
14898
14899 2010-01-05  Rachel Petterson  <rlp@google.com>
14900
14901         Reviewed by Simon Fraser.
14902
14903         Implement most cases of texImage2D and texSubImage2D
14904         https://bugs.webkit.org/show_bug.cgi?id=31562
14905         
14906         This fix is with Chris Marrin  <cmarrin@apple.com>.
14907         Also bug: https://bugs.webkit.org/show_bug.cgi?id=31493
14908
14909         From Chris:
14910         This implements all cases except HTMLVideoElement. It changes
14911         the bindings to accept all parameter forms of the call. Then
14912         it plumbs the calls through WebGLRenderingContext down to
14913         GraphicsContext3D for the actual implementation.
14914
14915         From Rachel:
14916         This implements texImage2D for chromium. It also implements the V8
14917         bindings for texSubImage2D and updates the V8 bindings for texImage2D.
14918
14919         Tests: fast/canvas/webgl/texImage2DImageDataTest.html
14920                   fast/canvas/webgl/texImageTest.html
14921
14922         * bindings/js/JSWebGLRenderingContextCustom.cpp:
14923         (WebCore::JSWebGLRenderingContext::texImage2D):
14924         (WebCore::JSWebGLRenderingContext::texSubImage2D):
14925         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
14926         (WebCore::CALLBACK_FUNC_DECL):
14927         * html/canvas/WebGLRenderingContext.cpp:
14928         (WebCore::WebGLRenderingContext::texImage2D):
14929         (WebCore::WebGLRenderingContext::texSubImage2D):
14930         * html/canvas/WebGLRenderingContext.h:
14931         * html/canvas/WebGLRenderingContext.idl:
14932         * platform/graphics/GraphicsContext3D.h:
14933         * platform/graphics/mac/GraphicsContext3DMac.cpp:
14934         (WebCore::imageToTexture):
14935         (WebCore::GraphicsContext3D::texImage2D):
14936         (WebCore::GraphicsContext3D::texSubImage2D):
14937
14938 2010-01-04  Brian Weinstein  <bweinstein@apple.com>
14939
14940         Reviewed by Tim Hatcher.
14941
14942         Part of <https://bugs.webkit.org/show_bug.cgi?id=32568>.
14943         Web Inspector: Context Menus should be used in more places.
14944         
14945         Add context menus to handle the interaction with breakpoints in the Source Frame. Currently
14946         we use left click to add/disable/remove breakpoints, and left click to edit (for conditional
14947         breakpoints), but this is hard to discover and behaves differently than Xcode.
14948         
14949         Change the behavior to be more like Xcode, left click adds a breakpoint if there isn't one, and
14950         removes it if there is one.
14951         
14952         On the context menu, if there is no breakpoint there, we have Add Breakpoint, and Add Conditional
14953         Breakpoint. If there is a breakpoint there, we add entries for Edit Breakpoint (edit
14954         the condition), Remove Breakpoint, and Enable/Disable Breakpoint (based on the current state).
14955
14956         * English.lproj/localizedStrings.js: Added localized context menu entries.
14957         * inspector/front-end/SourceFrame.js:
14958         (WebInspector.SourceFrame.prototype._documentContextMenu.addAndEditBreakpoint):
14959         (WebInspector.SourceFrame.prototype._documentContextMenu): Added context menu entries and handlers.
14960         (WebInspector.SourceFrame.prototype._documentMouseDown): Changed left click behavior (Add -> Remove).
14961
14962 2010-01-05  Chris Fleizach  <cfleizach@apple.com>
14963
14964         Reviewed by Eric Seidel.
14965
14966         AX: need a way to get the progress of a webpage load
14967         https://bugs.webkit.org/show_bug.cgi?id=33221
14968
14969         Test: platform/mac/accessibility/estimated-progress.html
14970
14971         * accessibility/AccessibilityObject.h:
14972         (WebCore::AccessibilityObject::estimatedLoadingProgress):
14973         * accessibility/AccessibilityRenderObject.cpp:
14974         (WebCore::AccessibilityRenderObject::estimatedLoadingProgress):
14975         * accessibility/AccessibilityRenderObject.h:
14976         * accessibility/mac/AccessibilityObjectWrapper.mm:
14977         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
14978         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
14979
14980 2010-01-05  Yael Aharon  <yael.aharon@nokia.com>
14981
14982         Reviewed by Kenneth Rohde Christiansen.
14983
14984         [Qt] Drag & drop layout tests fail even when run manually
14985         https://bugs.webkit.org/show_bug.cgi?id=33055
14986
14987         No new tests. Fix 3 layout tests when run manually.
14988         fast/events/drag-and-drop.html
14989         fast/events/drag-and-drop-dataTransfer-types-nocrash.html
14990         fast/events/drag-and-drop-fire-drag-dragover.html
14991         Running these tests in DRT will be fixed in 31332.
14992
14993         * page/qt/DragControllerQt.cpp:
14994         (WebCore::DragController::cleanupAfterSystemDrag):
14995         Cleanup the drag operation if it failed to complete,
14996         Otherwise, new drag operations will not be possible.
14997
14998 2010-01-05  Gustavo Noronha Silva <gns@gnome.org>
14999
15000         Reviewed by Xan Lopez.
15001
15002         Based on idea and original patch by Evan Martin.
15003
15004         Remove libWebCore intermediate library, to improve link time.
15005
15006         [GTK] Build time must be reduced
15007         https://bugs.webkit.org/show_bug.cgi?id=32921
15008
15009         * GNUmakefile.am:
15010
15011 2010-01-05  Nate Chapin  <japhet@chromium.org>
15012
15013         Reviewed by Adam Barth.
15014
15015         Move allowSetting{Frame}SrcToJavascriptUrl from V8Custom to BindingSecurity and
15016         remove the v8-specific pieces.
15017
15018         https://bugs.webkit.org/show_bug.cgi?id=33182
15019
15020         * bindings/BindingSecurity.h:
15021         (WebCore::::allowSettingFrameSrcToJavascriptUrl): Moved from V8CustomBinding.cpp.
15022         (WebCore::::allowSettingSrcToJavascriptURL): Moved from V8CustomBinding.cpp.
15023         * bindings/v8/custom/V8AttrCustom.cpp:
15024         (WebCore::V8Attr::valueAccessorSetter):
15025         * bindings/v8/custom/V8CustomBinding.cpp:
15026         * bindings/v8/custom/V8CustomBinding.h:
15027         * bindings/v8/custom/V8ElementCustom.cpp:
15028         (WebCore::V8Element::setAttributeCallback):
15029         (WebCore::V8Element::setAttributeNodeCallback):
15030         (WebCore::V8Element::setAttributeNSCallback):
15031         (WebCore::V8Element::setAttributeNodeNSCallback):
15032         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
15033         (WebCore::V8HTMLFrameElement::srcAccessorSetter):
15034         (WebCore::V8HTMLFrameElement::locationAccessorSetter):
15035         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
15036         (WebCore::V8HTMLIFrameElement::srcAccessorSetter):
15037
15038 2010-01-05  Adam Barth  <abarth@webkit.org>
15039
15040         Reviewed by Dimitri Glazkov.
15041
15042         [V8] Separate DOMWrapperWorld from V8IsolatedWorld
15043         https://bugs.webkit.org/show_bug.cgi?id=33087
15044
15045         This change separate DOMWrapperWorld and IsolatedWorld from
15046         V8IsolatedWorld.  I've also renamed V8IsolatedWorld to
15047         V8IsolatedContext in preparation for having more than one context in a
15048         single isolated world.
15049
15050         This patch moves us closer to two goals:
15051         1) Matching the structure of the JSC implementation of isolated worlds.
15052         2) Letting scripts running in isolated contexts see into other iframes
15053            (which requires having more than one context in an isolated world.)
15054
15055         * WebCore.gypi:
15056         * bindings/v8/DOMWrapperWorld.cpp: Added.
15057         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
15058         (WebCore::mainThreadNormalWorld):
15059         * bindings/v8/DOMWrapperWorld.h: Added.
15060         (WebCore::DOMWrapperWorld::create):
15061         * bindings/v8/IsolatedWorld.cpp: Added.
15062         (WebCore::IsolatedWorld::IsolatedWorld):
15063         (WebCore::IsolatedWorld::~IsolatedWorld):
15064         * bindings/v8/IsolatedWorld.h: Added.
15065         (WebCore::IsolatedWorld::create):
15066         (WebCore::IsolatedWorld::count):
15067         (WebCore::IsolatedWorld::domDataStore):
15068         * bindings/v8/MainThreadDOMData.cpp:
15069         (WebCore::MainThreadDOMData::getMainThreadStore):
15070         * bindings/v8/ScriptController.cpp:
15071         (WebCore::ScriptController::currentScriptState):
15072         * bindings/v8/ScriptState.cpp:
15073         * bindings/v8/ScriptState.h:
15074         * bindings/v8/V8DOMWindowShell.cpp:
15075         * bindings/v8/V8DOMWrapper.cpp:
15076         (WebCore::V8DOMWrapper::instantiateV8Object):
15077         * bindings/v8/V8IsolatedContext.cpp: Copied from WebCore/bindings/v8/V8IsolatedWorld.cpp.
15078         (WebCore::V8IsolatedContext::contextWeakReferenceCallback):
15079         (WebCore::V8IsolatedContext::V8IsolatedContext):
15080         (WebCore::V8IsolatedContext::destroy):
15081         (WebCore::V8IsolatedContext::~V8IsolatedContext):
15082         (WebCore::V8IsolatedContext::scriptState):
15083         * bindings/v8/V8IsolatedContext.h: Copied from WebCore/bindings/v8/V8IsolatedWorld.h.
15084         (WebCore::V8IsolatedContext::getEntered):
15085         (WebCore::V8IsolatedContext::world):
15086         * bindings/v8/V8IsolatedWorld.cpp: Removed.
15087         * bindings/v8/V8IsolatedWorld.h: Removed.
15088         * bindings/v8/V8Proxy.cpp:
15089         (WebCore::V8Proxy::evaluateInIsolatedWorld):
15090         (WebCore::V8Proxy::context):
15091         * bindings/v8/V8Proxy.h:
15092         * bindings/v8/WorldContextHandle.cpp:
15093         (WebCore::WorldContextHandle::WorldContextHandle):
15094
15095 2010-01-05  Adam Barth  <abarth@webkit.org>
15096
15097         Reviewed by Dimitri Glazkov.
15098
15099         [V8] Move createWindow into generic bindings so it can be shared with JSC
15100         https://bugs.webkit.org/show_bug.cgi?id=33201
15101
15102         This patch moves createWindow from V8-specific code into the generic
15103         bindings so that is can be re-used by the JavaScriptCore bindings.  I
15104         haven't actually moved the JSC bindings over to using this yet.
15105
15106         Also, I organized the generic bindings a bit more as it's becoming
15107         clearer how things are going to shape up.  There are still some
15108         question marks, but hopefully the answers will become clear as we
15109         progress.
15110
15111         * WebCore.gyp/WebCore.gyp:
15112         * WebCore.gypi:
15113         * bindings/generic/BindingDOMWindow.h: Added.
15114         (WebCore::::createWindow):
15115         * bindings/generic/BindingSecurity.h: Renamed from WebCore/bindings/BindingSecurity.h.
15116         (WebCore::BindingSecurity::BindingSecurity):
15117         (WebCore::::canAccessWindow):
15118         (WebCore::::canAccessFrame):
15119         (WebCore::::checkNodeSecurity):
15120         * bindings/generic/BindingSecurityBase.cpp: Renamed from WebCore/bindings/BindingSecurityBase.cpp.
15121         (WebCore::BindingSecurityBase::getDOMWindow):
15122         (WebCore::BindingSecurityBase::getFrame):
15123         (WebCore::BindingSecurityBase::canAccess):
15124         * bindings/generic/BindingSecurityBase.h: Renamed from WebCore/bindings/BindingSecurityBase.h.
15125         * bindings/generic/GenericBinding.h: Renamed from WebCore/bindings/GenericBinding.h.
15126         (WebCore::):
15127         * bindings/v8/V8Binding.h:
15128         * bindings/v8/custom/V8DOMWindowCustom.cpp:
15129         (WebCore::V8DOMWindow::showModalDialogCallback):
15130         (WebCore::V8DOMWindow::openCallback):
15131         * bindings/v8/specialization/V8BindingDOMWindow.h: Added.
15132         (WebCore::V8BindingDOMWindow::storeDialogArgs):
15133         * bindings/v8/specialization/V8BindingState.cpp: Renamed from WebCore/bindings/v8/V8BindingState.cpp.
15134         (WebCore::::Only):
15135         (WebCore::::getActiveWindow):
15136         (WebCore::::immediatelyReportUnsafeAccessTo):
15137         * bindings/v8/specialization/V8BindingState.h: Renamed from WebCore/bindings/v8/V8BindingState.h.
15138         (WebCore::):
15139
15140 2010-01-05  Dominic Mazzoni  <dmazzoni@google.com>
15141
15142         Reviewed by Darin Adler.
15143
15144         https://bugs.webkit.org/show_bug.cgi?id=32571
15145
15146         For an object with an aria role of "checkbox" or "radiobutton",
15147         Use the "aria-checked" attribute to determine if it's checked.
15148
15149         Test: accessibility/aria-checkbox-checked.html
15150
15151         * accessibility/AccessibilityRenderObject.cpp:
15152         (WebCore::AccessibilityRenderObject::isChecked):
15153
15154 2010-01-05  Yong Li  <yoli@rim.com>
15155
15156         Reviewed by Adam Roben.
15157
15158         Fix build warnings blindly
15159         https://bugs.webkit.org/show_bug.cgi?id=33178
15160
15161         * platform/SharedBuffer.cpp:
15162         * platform/SharedBuffer.h:
15163         (WebCore::SharedBuffer::append):
15164
15165 2010-01-05  Dan Bernstein  <mitz@apple.com>
15166
15167         Build fix
15168
15169         * platform/SharedBuffer.cpp:
15170
15171 2010-01-05  Yong Li  <yong.li@torchmobile.com>
15172
15173         Reviewed by Darin Adler.
15174
15175         Fix an obvious bug and build errors in previous commit (r52795)
15176         https://bugs.webkit.org/show_bug.cgi?id=33178
15177
15178         * platform/SharedBuffer.h:
15179         (WebCore::SharedBuffer::isEmpty):
15180         * platform/cf/SharedBufferCF.cpp:
15181         (WebCore::SharedBuffer::maybeTransferPlatformData):
15182
15183 2010-01-04  Yong Li  <yoli@rim.com>
15184
15185         Reviewed by Darin Adler.
15186
15187         Let SharedBuffer use a group of memory segments internally.
15188         It will merge the segments into a flat consecutive buffer only when
15189         necessary.
15190         https://bugs.webkit.org/show_bug.cgi?id=33178
15191
15192         * platform/SharedBuffer.cpp:
15193         (WebCore::allocateSegment):
15194         (WebCore::freeSegment):
15195         (WebCore::SharedBuffer::SharedBuffer):
15196         (WebCore::SharedBuffer::~SharedBuffer):
15197         (WebCore::SharedBuffer::adoptVector):
15198         (WebCore::SharedBuffer::size):
15199         (WebCore::SharedBuffer::data):
15200         (WebCore::SharedBuffer::append):
15201         (WebCore::SharedBuffer::clear):
15202         (WebCore::SharedBuffer::copy):
15203         (WebCore::SharedBuffer::buffer):
15204         (WebCore::SharedBuffer::getSomeData):
15205         * platform/SharedBuffer.h:
15206         * platform/cf/SharedBufferCF.cpp:
15207         (WebCore::SharedBuffer::maybeTransferPlatformData):
15208         * platform/haiku/SharedBufferHaiku.cpp:
15209         (WebCore::SharedBuffer::createWithContentsOfFile):
15210         * platform/qt/SharedBufferQt.cpp:
15211         (WebCore::SharedBuffer::createWithContentsOfFile):
15212         * platform/win/SharedBufferWin.cpp:
15213         (WebCore::SharedBuffer::createWithContentsOfFile):
15214
15215 2010-01-05  Simon Hausmann  <simon.hausmann@nokia.com>
15216
15217         Unreviewed trivial Symbian build fix
15218
15219         * plugins/symbian/PluginViewSymbian.cpp: Add missing HostWindow.h inclusion
15220
15221 2010-01-05  Simon Hausmann  <simon.hausmann@nokia.com>
15222
15223         Reviewed by Tor Arne Vestbø.
15224
15225         [Qt] Fix broken export macros in package builds.
15226
15227         https://bugs.webkit.org/show_bug.cgi?id=33202
15228
15229         Always define QT_MAKEDLL unless we're doing a static
15230         build or we're building inside of Qt. When building
15231         inside of Qt the correct define is pulled from qbase.pri.
15232
15233         * WebCore.pro:
15234
15235 2010-01-04  Maciej Stachowiak  <mjs@apple.com>
15236
15237         Reviewed by Darin Fisher.
15238
15239         Reorganize, document and rename OS() platform macros.
15240         https://bugs.webkit.org/show_bug.cgi?id=33198
15241
15242         Adapt to name changes. Also fixed a few incorrect OS checks.
15243
15244         * accessibility/AccessibilityObject.h:
15245         * config.h:
15246         * dom/SelectElement.cpp:
15247         (WebCore::SelectElement::listBoxDefaultEventHandler):
15248         * inspector/InspectorFrontendHost.cpp:
15249         (WebCore::InspectorFrontendHost::platform):
15250         * loader/CachedFont.cpp:
15251         * loader/FTPDirectoryDocument.cpp:
15252         * loader/FTPDirectoryParser.cpp:
15253         * page/EventHandler.cpp:
15254         * page/Frame.cpp:
15255         (WebCore::Frame::setUseSecureKeyboardEntry):
15256         * page/NavigatorBase.cpp:
15257         (WebCore::NavigatorBase::platform):
15258         * page/Page.h:
15259         * page/Settings.cpp:
15260         (WebCore::Settings::Settings):
15261         * page/Settings.h:
15262         * page/chromium/DragControllerChromium.cpp:
15263         (WebCore::DragController::isCopyKeyDown):
15264         * page/chromium/EventHandlerChromium.cpp:
15265         (WebCore::EventHandler::accessKeyModifiers):
15266         * page/win/EventHandlerWin.cpp:
15267         (WebCore::EventHandler::createDraggingClipboard):
15268         * platform/FileSystem.h:
15269         * platform/KeyboardCodes.h:
15270         * platform/PurgeableBuffer.h:
15271         * platform/chromium/ChromiumBridge.h:
15272         * platform/chromium/ClipboardChromium.cpp:
15273         (WebCore::ClipboardChromium::writeRange):
15274         * platform/chromium/ClipboardUtilitiesChromium.cpp:
15275         * platform/chromium/ClipboardUtilitiesChromium.h:
15276         * platform/chromium/PasteboardChromium.cpp:
15277         (WebCore::Pasteboard::writeSelection):
15278         (WebCore::Pasteboard::writePlainText):
15279         (WebCore::Pasteboard::documentFragment):
15280         * platform/chromium/PlatformKeyboardEventChromium.cpp:
15281         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
15282         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
15283         * platform/chromium/PopupMenuChromium.cpp:
15284         (WebCore::PopupListBox::layout):
15285         (WebCore::PopupMenu::show):
15286         * platform/graphics/BitmapImage.h:
15287         (WebCore::BitmapImage::mayFillWithSolidColor):
15288         * platform/graphics/FloatPoint.h:
15289         * platform/graphics/FloatRect.h:
15290         * platform/graphics/FloatSize.h:
15291         * platform/graphics/FontCache.cpp:
15292         (WebCore::alternateFamilyName):
15293         * platform/graphics/FontCache.h:
15294         * platform/graphics/FontFastPath.cpp:
15295         (WebCore::Font::glyphDataForCharacter):
15296         * platform/graphics/GlyphBuffer.h:
15297         (WebCore::GlyphBuffer::advanceAt):
15298         (WebCore::GlyphBuffer::add):
15299         * platform/graphics/Gradient.h:
15300         * platform/graphics/GraphicsContext.cpp:
15301         * platform/graphics/GraphicsContext.h:
15302         * platform/graphics/GraphicsContext3D.h:
15303         * platform/graphics/ImageSource.h:
15304         * platform/graphics/IntRect.h:
15305         * platform/graphics/MediaPlayer.cpp:
15306         * platform/graphics/Path.h:
15307         * platform/graphics/Pattern.h:
15308         * platform/graphics/SimpleFontData.h:
15309         * platform/graphics/cg/ColorCG.cpp:
15310         * platform/graphics/cg/GraphicsContextCG.cpp:
15311         * platform/graphics/chromium/FontCustomPlatformData.cpp:
15312         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
15313         (WebCore::FontCustomPlatformData::fontPlatformData):
15314         (WebCore::createFontCustomPlatformData):
15315         * platform/graphics/chromium/FontCustomPlatformData.h:
15316         * platform/graphics/chromium/FontPlatformData.h:
15317         * platform/graphics/opentype/OpenTypeUtilities.cpp:
15318         * platform/graphics/opentype/OpenTypeUtilities.h:
15319         * platform/graphics/qt/GraphicsContextQt.cpp:
15320         (WebCore::GraphicsContext::getWindowsContext):
15321         * platform/graphics/qt/ImageQt.cpp:
15322         * platform/graphics/skia/GraphicsContextSkia.cpp:
15323         (WebCore::GraphicsContext::clipToImageBuffer):
15324         * platform/graphics/skia/ImageBufferSkia.cpp:
15325         (WebCore::ImageBuffer::ImageBuffer):
15326         * platform/graphics/skia/PlatformContextSkia.cpp:
15327         (PlatformContextSkia::State::State):
15328         (PlatformContextSkia::PlatformContextSkia):
15329         (PlatformContextSkia::save):
15330         (PlatformContextSkia::restore):
15331         * platform/graphics/skia/PlatformContextSkia.h:
15332         * platform/graphics/win/IconWin.cpp:
15333         (WebCore::Icon::createIconForFiles):
15334         (WebCore::Icon::paint):
15335         * platform/graphics/wx/GraphicsContextWx.cpp:
15336         * platform/gtk/FileSystemGtk.cpp:
15337         (WebCore::filenameToString):
15338         (WebCore::filenameFromString):
15339         (WebCore::filenameForDisplay):
15340         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
15341         * platform/network/curl/ResourceHandleManager.cpp:
15342         * platform/network/soup/ResourceHandleSoup.cpp:
15343         (WebCore::):
15344         * platform/text/String.cpp:
15345         (WebCore::String::format):
15346         (WebCore::String::number):
15347         * platform/text/TextEncoding.cpp:
15348         (WebCore::TextEncoding::encode):
15349         * platform/text/TextEncodingRegistry.cpp:
15350         (WebCore::buildBaseTextCodecMaps):
15351         (WebCore::extendTextCodecMaps):
15352         * platform/text/TextStream.cpp:
15353         * platform/text/TextStream.h:
15354         * platform/text/qt/TextCodecQt.cpp:
15355         (WebCore::TextCodecQt::decode):
15356         * platform/win/PlatformMouseEventWin.cpp:
15357         (WebCore::messageToEventType):
15358         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
15359         * platform/win/PlatformScreenWin.cpp:
15360         (WebCore::deviceInfoForWidget):
15361         (WebCore::screenIsMonochrome):
15362         * platform/win/PopupMenuWin.cpp:
15363         (WebCore::PopupMenu::show):
15364         (WebCore::PopupMenu::paint):
15365         (WebCore::PopupMenu::registerClass):
15366         (WebCore::PopupMenu::PopupMenuWndProc):
15367         (WebCore::PopupMenu::wndProc):
15368         * platform/win/SystemTimeWin.cpp:
15369         (WebCore::userIdleTime):
15370         * platform/wx/FileSystemWx.cpp:
15371         (WebCore::unloadModule):
15372         * plugins/PluginDatabase.cpp:
15373         * plugins/PluginPackage.cpp:
15374         (WebCore::PluginPackage::compareFileVersion):
15375         * plugins/PluginPackage.h:
15376         * plugins/PluginView.cpp:
15377         (WebCore::PluginView::setFrameRect):
15378         (WebCore::PluginView::stop):
15379         (WebCore::PluginView::PluginView):
15380         * plugins/PluginView.h:
15381         * plugins/win/PluginDatabaseWin.cpp:
15382         (WebCore::addWindowsMediaPlayerPluginDirectory):
15383         (WebCore::addMacromediaPluginDirectories):
15384         * plugins/win/PluginPackageWin.cpp:
15385         (WebCore::PluginPackage::load):
15386         * plugins/win/PluginViewWin.cpp:
15387         (WebCore::registerPluginView):
15388         (WebCore::PluginView::wndProc):
15389         (WebCore::PluginView::updatePluginWidget):
15390         (WebCore::PluginView::paintIntoTransformedContext):
15391         (WebCore::PluginView::paintWindowedPluginIntoContext):
15392         (WebCore::PluginView::paint):
15393         (WebCore::PluginView::handleMouseEvent):
15394         (WebCore::PluginView::setParent):
15395         (WebCore::PluginView::setNPWindowRect):
15396         (WebCore::PluginView::platformStart):
15397
15398 2010-01-04  Chris Fleizach  <cfleizach@apple.com>
15399
15400         Reviewed by Darin Adler.
15401
15402         Add ARIA "Live Region" support
15403         https://bugs.webkit.org/show_bug.cgi?id=33117
15404
15405         Tests: platform/mac/accessibility/aria-liveregions-attributes.html
15406                platform/mac/accessibility/aria-liveregions-notifications.html
15407
15408         * accessibility/AXObjectCache.cpp:
15409         (WebCore::AXObjectCache::contentChanged):
15410         * accessibility/AXObjectCache.h:
15411         (WebCore::AXObjectCache::):
15412         * accessibility/AccessibilityObject.cpp:
15413         (WebCore::AccessibilityObject::isChildOfARIALiveRegion):
15414         (WebCore::AccessibilityObject::supportsARIALiveRegion):
15415         * accessibility/AccessibilityObject.h:
15416         (WebCore::AccessibilityObject::contentChanged):
15417         (WebCore::AccessibilityObject::ariaLiveRegionStatus):
15418         (WebCore::AccessibilityObject::ariaLiveRegionRelevant):
15419         (WebCore::AccessibilityObject::ariaLiveRegionAtomic):
15420         (WebCore::AccessibilityObject::ariaLiveRegionBusy):
15421         * accessibility/AccessibilityRenderObject.cpp:
15422         (WebCore::AccessibilityRenderObject::elementAttributeValue):
15423         (WebCore::AccessibilityRenderObject::contentChanged):
15424         (WebCore::AccessibilityRenderObject::childrenChanged):
15425         (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
15426         (WebCore::AccessibilityRenderObject::ariaLiveRegionRelevant):
15427         (WebCore::AccessibilityRenderObject::ariaLiveRegionAtomic):
15428         (WebCore::AccessibilityRenderObject::ariaLiveRegionBusy):
15429         * accessibility/AccessibilityRenderObject.h:
15430         (WebCore::AccessibilityRenderObject::areChildrenDirty):
15431         * accessibility/mac/AXObjectCacheMac.mm:
15432         (WebCore::AXObjectCache::postPlatformNotification):
15433         * accessibility/mac/AccessibilityObjectWrapper.h:
15434         * accessibility/mac/AccessibilityObjectWrapper.mm:
15435         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
15436         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
15437         (-[AccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:]):
15438         (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
15439         * dom/Element.cpp:
15440         (WebCore::Element::updateAfterAttributeChanged):
15441         * html/HTMLAttributeNames.in:
15442         * rendering/RenderText.cpp:
15443         (WebCore::RenderText::setText):
15444
15445 2010-01-04  Chris Evans  <cevans@chromium.org>
15446
15447         Reviewed by Adam Barth.
15448
15449         Adopt a more conservative approach for loading CSS cross-origin. When
15450         loading CSS cross-origin, it must be start with valid CSS if the MIME
15451         type is broken.
15452
15453         https://bugs.webkit.org/show_bug.cgi?id=29820
15454
15455         Test: http/tests/security/cross-origin-css.html
15456         Test: http/tests/security/cross-origin-css-in-xml.xml
15457
15458         * html/HTMLLinkElement.cpp:
15459         (WebCore::HTMLLinkElement::setCSSStyleSheet): Enforce stricter load
15460         requirements for cross-origin loads.
15461         * css/CSSImportRule.cpp:
15462         (WebCore::CSSImportRule::setCSSStyleSheet): Enforce stricter load
15463         requirements for cross-origin loads.
15464         * css/CSSStyleSheet.h:
15465         * css/CSSStyleSheet.cpp:
15466         * css/CSSParser.cpp:
15467         * css/CSSGrammar.y:
15468         * css/CSSParser.h:
15469         Add ability to tell whether the CSS parse started with a syntactically
15470         valid CSS rule.
15471         * loader/CachedCSSStyleSheet.h:
15472         * loader/CachedCSSStyleSheet.cpp:
15473         (WebCore::CachedCSSStyleSheet::sheetText): Add ability to return
15474         whether the MIME type was acceptable for CSS.
15475         (WebCore::CachedCSSStyleSheet::canUseSheet): If requested, return
15476         whether the MIME type was valid or not.
15477         * dom/ProcessingInstruction.cpp
15478         (WebCore::ProcessingInstruction::setCSSStyleSheet): Make use of strict
15479         mode explicit and add comment.
15480
15481 2010-01-04  Dan Bernstein  <mitz@apple.com>
15482
15483         Reviewed by Simon Fraser.
15484
15485         <rdar://problem/6655695> REGRESSION: VoiceOver is not highlighting some web elements correctly
15486         <rdar://problem/7397558> REGRESSION: AXImages inside of AXLink cause AXLink to have wrong bounds
15487
15488         Test: accessibility/dimensions-include-descendants.html
15489
15490         * accessibility/AccessibilityRenderObject.cpp:
15491         (WebCore::AccessibilityRenderObject::boundingBoxRect): Use absoluteFocusRingQuads()
15492         for non-text renderers. The focus ring encompasses descendants, which is
15493         what we want for the accessibility indicator.
15494         * rendering/RenderObject.cpp:
15495         (WebCore::RenderObject::absoluteFocusRingQuads): Added.
15496         * rendering/RenderObject.h:
15497
15498 2010-01-04  Ojan Vafai  <ojan@ojanmacpro.sfo.corp.google.com>
15499
15500         Reviewed by Dan Bernstein.
15501
15502         Remove unnecessary division by a constant in SimpleFontDataMac.mm.
15503         https://bugs.webkit.org/show_bug.cgi?id=33189
15504
15505         This was added in http://trac.webkit.org/changeset/8104 and seems like
15506         it was just there to match the previously private function which we no
15507         longer use.
15508
15509         No new tests. No change in behavior.
15510
15511         * platform/graphics/mac/SimpleFontDataMac.mm:
15512
15513 2010-01-04  Darin Adler  <darin@apple.com>
15514
15515         Reviewed by Maciej Stachowiak.
15516
15517         Selection-related code needs stricter rules about how it relates to layout
15518         https://bugs.webkit.org/show_bug.cgi?id=32882
15519
15520         Covered by existing tests along with the new assertions.
15521
15522         * dom/Document.cpp:
15523         (WebCore::Document::recalcStyle): Make sure that m_inStyleRecalc is
15524         already false by the time post-attach callbacks are done so that
15525         layout triggered inside those callbacks can work properly.
15526
15527         * editing/SelectionController.cpp:
15528         (WebCore::SelectionController::layout): Added code to trigger a
15529         layout when it's needed.
15530         (WebCore::SelectionController::recomputeCaretRect): Removed unneeded
15531         code to do nothing when FrameView is 0. Added an assertion that layout
15532         is not needed at the time the function is called.
15533         (WebCore::SelectionController::invalidateCaretRect): Added code to
15534         trigger a layout when it's needed.
15535         (WebCore::SelectionController::paintCaret): Added an assertion that
15536         layout is not needed at the time the function is called.
15537
15538         * html/HTMLFormControlElement.cpp:
15539         (WebCore::shouldAutofocus): Added. Helper function that expresses
15540         the rule for which form control elements should auto-focus.
15541         (WebCore::focusPostAttach): Added. Called post-attach to focus an
15542         element if we discover it should be focused during attach.
15543         (WebCore::HTMLFormControlElement::attach): Refactored code for
15544         which elements need auto-focus into a separate function. Instead
15545         of focusing right away, use the focusPostAttach function to focus
15546         after attach is done. Also added calls to suspendPostAttachCallbacks
15547         and resumePostAttachCallbacks so post-attach callbacks happen late
15548         enough. Before, they could run inside the base attach function.
15549
15550         * html/HTMLInputElement.cpp:
15551         (WebCore::HTMLInputElement::attach): Added calls to
15552         suspendPostAttachCallbacks and resumePostAttachCallbacks so
15553         post-attach callbacks happen late enough
15554
15555         * page/Frame.cpp:
15556         (WebCore::Frame::revealSelection): Added code to trigger a layout
15557         when it's needed.
15558
15559 2010-01-04  Gavin Barraclough <barraclough@apple.com>
15560
15561         Reviewed by Sam Weinig.
15562
15563         https://bugs.webkit.org/show_bug.cgi?id=33163
15564         Use WTF's string hashing functions from StringImpl.
15565
15566         * ForwardingHeaders/wtf/StringHashFunctions.h: Added.
15567         * platform/text/StringHash.h:
15568         * platform/text/StringImpl.h:
15569         (WebCore::StringImpl::computeHash):
15570
15571 2010-01-04  Jon Honeycutt  <jhoneycutt@apple.com>
15572
15573         Qt build fix. Unreviewed.
15574
15575         * accessibility/AXObjectCache.h:
15576         (WebCore::AXObjectCache::postNotification):
15577
15578 2010-01-04  Jon Honeycutt  <jhoneycutt@apple.com>
15579
15580         MSAA: <select> elements should broadcast value change events
15581
15582         https://bugs.webkit.org/show_bug.cgi?id=33088
15583
15584         <rdar://problem/7332364>
15585
15586         Reviewed by Darin Adler.
15587
15588         * accessibility/AXObjectCache.cpp:
15589         (WebCore::AXObjectCache::postNotification):
15590         If the post type is async, follow the old code path; otherwise, call
15591         postPlatformNotification().
15592
15593         * accessibility/AXObjectCache.h:
15594         (WebCore::AXObjectCache::):
15595         Added a new accessibility notification, AXMenuListValueChanged. Added
15596         a new parameter to postNotification() to specify whether the post should
15597         be synchronous or asynchronous.
15598
15599         * accessibility/win/AXObjectCacheWin.cpp:
15600         (WebCore::AXObjectCache::postPlatformNotification):
15601         If the WebCore notification is AXMenuListValueChanged, broadcast an
15602         EVENT_OBJECT_VALUECHANGE event.
15603
15604         * dom/SelectElement.cpp:
15605         (WebCore::SelectElement::setSelectedIndex):
15606         When the selected index of a RenderMenuList is changed, call
15607         RenderMenuList::didSetSelectedIndex().
15608
15609         * rendering/RenderMenuList.cpp:
15610         (WebCore::RenderMenuList::RenderMenuList):
15611         Initialize new member
15612         (WebCore::RenderMenuList::didSetSelectedIndex):
15613         If the selected index has changed, post AXMenuListValueChanged to the
15614         object synchronously.
15615
15616         * rendering/RenderMenuList.h:
15617         Declare didSetSelectedIndex(), and add a member to hold the last
15618         selected index.
15619
15620 2010-01-04  Darin Adler  <darin@apple.com>
15621
15622         Reviewed by Sam Weinig.
15623
15624         Added missing null check in BarInfo code.
15625
15626         Test: fast/dom/Window/BarInfo-after-frame-removed.html
15627
15628         * page/BarInfo.cpp:
15629         (WebCore::BarInfo::visible): Added null check. A few other
15630         cleanups.
15631
15632 2010-01-04  Mark Rowe  <mrowe@apple.com>
15633
15634         Rubber-stamped by Jon Honeycutt.
15635
15636         Delete an empty and unused JavaScript file.
15637
15638         * WebCore.vcproj/WebCore.vcproj:
15639         * inspector/front-end/InspectorControllerStub.js: Removed.
15640
15641 2010-01-04  Kevin Ollivier  <kevino@theolliviers.com>
15642
15643         [wx] Build fix, add a couple include dirs to the build.
15644
15645         * wscript:
15646
15647 2010-01-04  Dan Bernstein  <mitz@apple.com>
15648
15649         Windows build fix
15650
15651         * page/FrameView.cpp:
15652         (WebCore::FrameView::layout):
15653
15654 2010-01-04  Simon Fraser  <simon.fraser@apple.com>
15655
15656         Reviewed by Dan Bernstein.
15657
15658         Repaint issues in text input under a scale transform
15659         https://bugs.webkit.org/show_bug.cgi?id=32086
15660         
15661         When doing a subtree layout we have to look up the container chain to see if there
15662         are any properties, such as transforms or reflections, that mean that we are unable
15663         to use layoutState.
15664
15665         Test: fast/repaint/subtree-layoutstate-transform.html
15666
15667         * page/FrameView.cpp:
15668         (WebCore::FrameView::layout): Call canUseLayoutStateForSubtree() to determine
15669         whether it's OK to use layoutState.
15670         
15671         * rendering/RenderView.h:
15672         * rendering/RenderView.cpp:
15673         (WebCore::RenderView::canUseLayoutStateForSubtree): New method that reports whether it's
15674         OK to use layoutState when doing a subtree layout from the given root.
15675
15676 2010-01-04  Darin Adler  <darin@apple.com>
15677
15678         Reviewed by Dan Bernstein.
15679
15680         Reentrancy problem with selection in some edge cases.
15681         https://bugs.webkit.org/show_bug.cgi?id=32842
15682         rdar://problem/7449974
15683
15684         Test: fast/forms/selection-layout-reentry-strange-case.html
15685
15686         Move the selection display update process done in the
15687         selectionLayoutChanged function into the layout timer
15688         instead of doing it immediately when selection changes occur.
15689
15690         * dom/Document.cpp:
15691         (WebCore::Document::updateLayout): Changed this to use the
15692         definition of needsLayout from FrameView rather than rolling
15693         its own.
15694
15695         * editing/SelectionController.cpp:
15696         (WebCore::SelectionController::SelectionController):
15697         Initialize m_needsDisplayUpdate to false.
15698         (WebCore::SelectionController::setSelection): Call
15699         the new setNeedsDisplayUpdate function instead of the old
15700         badly named Frame::selectionLayoutChanged function.
15701         (WebCore::SelectionController::setNeedsDisplayUpdate):
15702         Set m_needsDisplayUpdate. If it is just becoming true, then
15703         call FrameView::scheduleRelayout.
15704
15705         * editing/SelectionController.h: Added setNeedsDisplayUpdate,
15706         needsDisplayUpdate, and m_needsDisplayUpdate.
15707
15708         * page/Frame.cpp:
15709         (WebCore::Frame::setCaretVisible): Call setNeedsDisplayUpdate.
15710         (WebCore::Frame::selectionLayoutChanged): Call
15711         setNeedsDisplayUpdate to set it to false, since this is the
15712         function that performs "selection display update". Later I want
15713         to rename this function. Also added a global reentrancy check
15714         since that's the easiest way I could think of to prevent infinite
15715         recursion in the case where recomputeCaretRect ends up triggering
15716         a layout. As a side effect, fixed theoretical problems in
15717         TEXT_CARET builds by improving the ifdef.
15718         (WebCore::Frame::caretBlinkTimerFired): Loosen assertions a
15719         bit. Later we might want to decouple caret rect from caret state
15720         a bit more and add these assertions back.
15721         (WebCore::Frame::selectionBounds): Call Document::updateLayout.
15722         This function is for external clients and they do not currently
15723         do anything to make sure layout is up to date.
15724
15725         * page/FrameView.cpp:
15726         (WebCore::FrameView::needsLayout): Add a new clause, since
15727         we need a call to layout if needsDisplayUpdate is true.
15728
15729 2010-01-04  Brent Fulgham  <bfulgham@webkit.org>
15730
15731         Reviewed by Adam Roben.
15732
15733         Correct debug assertion (and possible runtime errors) by
15734         checking validity of bitmap settings used to create
15735         the Windows Cairo contexts.
15736         https://bugs.webkit.org/show_bug.cgi?id=33164.
15737
15738         * platform/graphics/win/GraphicsContextCairoWin.cpp:
15739         (WebCore::createCairoContextWithHDC): Check validity of selected
15740           OBJ_BITMAP retrieved, and only create 32-bit context when
15741           a valid bitmap is provided.
15742
15743 2010-01-04  Dmitry Titov  <dimich@chromium.org>
15744
15745         Not reviewed, revert r52745 and r52746 on behalf of Nikolas Zimmermann, as discussed on IRC.
15746         Patch produced by 'git revert' and then reverting back ChangeLog files.
15747
15748         * Android.mk:
15749         * GNUmakefile.am:
15750         * WebCore.gypi:
15751         * WebCore.pro:
15752         * WebCore.vcproj/WebCore.vcproj:
15753         * WebCore.xcodeproj/project.pbxproj:
15754         * page/FrameView.cpp:
15755         (WebCore::FrameView::layout):
15756         * rendering/RenderPath.cpp:
15757         (WebCore::RenderPath::repaintRectInLocalCoordinates):
15758         (WebCore::RenderPath::setPath):
15759         (WebCore::RenderPath::path):
15760         (WebCore::RenderPath::paint):
15761         (WebCore::):
15762         (WebCore::DrawMarkersData::DrawMarkersData):
15763         (WebCore::drawMarkerWithData):
15764         (WebCore::updateMarkerDataForElement):
15765         (WebCore::drawStartAndMidMarkers):
15766         (WebCore::RenderPath::drawMarkersIfNeeded):
15767         * rendering/RenderPath.h:
15768         (WebCore::RenderPath::markerBoundingBox):
15769         * rendering/RenderSVGContainer.h:
15770         * rendering/RenderSVGViewportContainer.cpp:
15771         (WebCore::RenderSVGViewportContainer::paint):
15772         * rendering/RenderSVGViewportContainer.h:
15773         * rendering/SVGMarkerData.h: Removed.
15774         * rendering/SVGMarkerLayoutInfo.cpp: Removed.
15775         * rendering/SVGMarkerLayoutInfo.h: Removed.
15776         * svg/SVGMarkerElement.cpp:
15777         (WebCore::SVGMarkerElement::canvasResource):
15778         * svg/graphics/SVGResource.cpp:
15779         (WebCore::SVGResource::SVGResource):
15780         (WebCore::ResourceSet::ResourceSet):
15781         (WebCore::clientMap):
15782         (WebCore::SVGResource::~SVGResource):
15783         (WebCore::SVGResource::removeClient):
15784         (WebCore::SVGResource::addClient):
15785         * svg/graphics/SVGResourceMarker.cpp:
15786         (WebCore::SVGResourceMarker::SVGResourceMarker):
15787         (WebCore::SVGResourceMarker::setMarker):
15788         (WebCore::SVGResourceMarker::setRef):
15789         (WebCore::SVGResourceMarker::draw):
15790         (WebCore::SVGResourceMarker::cachedBounds):
15791         (WebCore::SVGResourceMarker::externalRepresentation):
15792         * svg/graphics/SVGResourceMarker.h:
15793         (WebCore::SVGResourceMarker::refX):
15794         (WebCore::SVGResourceMarker::refY):
15795
15796 2010-01-04  Dan Bernstein  <mitz@apple.com>
15797
15798         Reviewed by Ada Chan and Mark Rowe.
15799
15800         Updated copyright string
15801
15802         * Info.plist:
15803         * WebCore.vcproj/QTMovieWin.rc:
15804
15805 2010-01-04  Chris Fleizach  <cfleizach@apple.com>
15806
15807         Reviewed by Darin Adler.
15808
15809         AX: any DIV with an aria role should not be ignored
15810         https://bugs.webkit.org/show_bug.cgi?id=33090
15811
15812         Test: platform/mac/accessibility/aria-divs-not-ignored.html
15813
15814         * accessibility/AccessibilityRenderObject.cpp:
15815         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
15816
15817 2010-01-04  Nate Chapin  <japhet@chromium.org>
15818
15819         Reviewed by Dimitri Glazkov.
15820
15821         Generate declarations for V8 runtime enablers.
15822
15823         https://bugs.webkit.org/show_bug.cgi?id=33156
15824
15825         * bindings/scripts/CodeGeneratorV8.pm: Generate runtime enabler declarations.
15826         * bindings/v8/custom/V8CustomBinding.h: Remove manual declarations of runtime enablers.
15827         * bindings/v8/custom/V8DOMWindowCustom.cpp:
15828         * bindings/v8/custom/V8WebSocketCustom.cpp: Remove closeCallback(), which isn't actually being used.
15829         * bindings/v8/custom/V8WorkerContextCustom.cpp:
15830
15831 2010-01-04  Nikolas Zimmermann  <nzimmermann@rim.com>
15832
15833         Not reviewed. Forgot to add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to Chromium build.
15834
15835         * WebCore.gypi:
15836
15837 2010-01-04  Nikolas Zimmermann  <nzimmermann@rim.com>
15838
15839         Reviewed by Dirk Schulze.
15840
15841         Marker code is buggy: referencePoint translation is off
15842         https://bugs.webkit.org/show_bug.cgi?id=33012
15843
15844         Rewrite marker code, as it had many issues:
15845         - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
15846         - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
15847         - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
15848         - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
15849           can have three different resources of the same type (three markers, start/mid/end markers)
15850
15851         Filed bug 33115 (PathElementAddQuadCurveToPoint not handled for <marker>), which was just a TODO in the code before.
15852
15853         Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
15854         Test: svg/custom/marker-referencePoint.svg
15855               svg/custom/marker-opacity.svg
15856
15857         * Android.mk: Add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to build.
15858         * GNUmakefile.am: Ditto.
15859         * WebCore.pro: Ditto.
15860         * WebCore.vcproj/WebCore.vcproj: Ditto.
15861         * WebCore.xcodeproj/project.pbxproj: Ditto.
15862         * page/FrameView.cpp: Notify RenderSVGRoot children about viewport size changes, just like it's handled for <body> in HTML.
15863         (WebCore::FrameView::layout): This is important, as marker bounding boxes may depend on the current viewport size through relative coordinates used in <svg>.
15864         * rendering/RenderPath.cpp:
15865         (WebCore::RenderPath::markerBoundingBox): Calculates and caches marker boundaries in the layout() phase.
15866         (WebCore::RenderPath::repaintRectInLocalCoordinates): Use the cached marker bounding box during paint() time.
15867         (WebCore::RenderPath::setPath): Clear marker boundaries upon path changes.
15868         (WebCore::RenderPath::paint): Use SVGMarkerLayoutInfo::drawMarkers() instead of the local drawMarkersIfNeeded() function, which is gone now.
15869         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Utilized by markerBoundingBox() to request SVGResourceMarker objects and calculate their boundaries.
15870         * rendering/RenderPath.h: Store SVGMarkerLayoutInfo objects, and rename m_markerBounds to m_cachedLocalMarkerBBox for consistency.
15871         (WebCore::RenderPath::path): Inline this accessor.
15872         * rendering/RenderSVGContainer.h: Make paint() public (to be used from SVGResourceMarker), all other methods protected (to be used from RenderSVGViewportContainer).
15873         * rendering/RenderSVGViewportContainer.cpp: Remove useless paint() override, as the comment in the code indicated.
15874         (WebCore::RenderSVGViewportContainer::markerBoundaries): Maps the marker contents repaintRectInLocalCoordinates() into the final coordinate system (see code).
15875         (WebCore::RenderSVGViewportContainer::markerContentTransformation): Add marker-specific helper method, allowing to make viewportTransform() private again.
15876         * rendering/RenderSVGViewportContainer.h: Marking viewportTransform() private, it's never meant to be used outside this renderer.
15877         * rendering/SVGMarkerData.h: Added. Refactored from existing RenderPath code, preserving original copyrights.
15878         (WebCore::SVGMarkerData::): Helper struct for SVGMarkerLayoutInfo.
15879         (WebCore::SVGMarkerData::origin): Holds the final computed destination of a marker.
15880         (WebCore::SVGMarkerData::marker): Holds a pointer to the associated SVGResourceMarker object, which we're aiming to layout.
15881         (WebCore::SVGMarkerData::currentAngle): Calculates the current angle for a certain marker type (start/mid/end) based upon the computed inslope/outslope values.
15882         (WebCore::SVGMarkerData::updateTypeAndMarker): Helper method.
15883         (WebCore::SVGMarkerData::updateOutslope): Ditto.
15884         (WebCore::SVGMarkerData::updateMarkerDataForPathElement): Does the actual inslope/outslope calculation.
15885         (WebCore::SVGMarkerData::updateInslope): Helper method.
15886         * rendering/SVGMarkerLayoutInfo.cpp: Added. New approach to build marker layout info, this time correct during layout() time instead of paint() time.
15887         (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
15888         (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
15889         (WebCore::processStartAndMidMarkers): Static helper method used to visit each path element in order to calculate inslopes/outslopes (-> orientation angles)
15890         (WebCore::SVGMarkerLayoutInfo::calculateBoundaries): Build list of MarkerLayout objects, used to query boundaries, and to paint markers during drawMarkers().
15891         (WebCore::SVGMarkerLayoutInfo::drawMarkers): Cheap method walking existing MarkerLayout vector, drawing the individual RenderSVGViewportContainer of the markers.
15892         (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker): Helper method.
15893         * rendering/SVGMarkerLayoutInfo.h: Added.
15894         (WebCore::MarkerLayout::MarkerLayout): Helper struct storing a pair of SVGResourceMarker* and a TranformationMatrix.
15895         (WebCore::SVGMarkerLayoutInfo::markerData): Public helper methods returning references to private member variables, used from processStartAndMidMarkers.
15896         (WebCore::SVGMarkerLayoutInfo::midMarker): Ditto.
15897         (WebCore::SVGMarkerLayoutInfo::elementIndex): Ditto.
15898         * svg/SVGMarkerElement.cpp: Adopt to name change: setRef() -> setReferencePoint(). setMarker() -> setRenderer()
15899         (WebCore::SVGMarkerElement::canvasResource): Add ASSERT(renderer()) to clarify that canvasResource() is only meant to used after renderer creation.
15900         * svg/graphics/SVGResource.cpp: Instead of maintaining a global hashmap between SVGStyledElements and an array of possible SVGResources, use a HashSet of SVGResources
15901                                         and directly scan the already existing list of clients for a certain SVGResource. This wrong approach has been introduced over two years
15902                                         ago, making the assumption that there's only one resource type per element. Though markers can provide three resources of the same type
15903                                         per element (all SVGResourceMarker objects, but in different rules: start/mid/end marker). That information is only available while painting.
15904         (WebCore::resourceSet): Add global static HashSet<SVGResource*>.
15905         (WebCore::SVGResource::SVGResource): Add us to the resourceSet.
15906         (WebCore::SVGResource::~SVGResource): Remove us from resourceSet.
15907         (WebCore::SVGResource::removeClient): Traverse all SVGResource clients and remove the passed SVGStyledElement from the client list (invoked by SVGStyledElement destructor).
15908         (WebCore::SVGResource::addClient): Remove the offending part of the old approach, making the wrong assumption regarding resource types.
15909         * svg/graphics/SVGResourceMarker.cpp:
15910         (WebCore::SVGResourceMarker::SVGResourceMarker):
15911         (WebCore::SVGResourceMarker::markerTransformation): Create TransformationMatrix in the local marker content (RenderSVGViewportContainer) coordinate system, to position a marker.
15912         (WebCore::SVGResourceMarker::draw): Simplify marker drawing a lot: used the passing TransformationMatrix (cached in SVGMarkerLayoutInfo) to draw the marker content renderer.
15913         (WebCore::SVGResourceMarker::externalRepresentation): Adopt to refX/refY -> referencePoint changes.
15914         * svg/graphics/SVGResourceMarker.h: Store a FloatPoint m_referecePoint instead of two refX/refY float values.
15915         (WebCore::SVGResourceMarker::setRenderer): Renamed from setMarker().
15916         (WebCore::SVGResourceMarker::setReferencePoint): Renamed from setRef().
15917         (WebCore::SVGResourceMarker::referencePoint): New accessor replacing refX() / refY().
15918
15919 2010-01-04  Simon Hausmann  <simon.hausmann@nokia.com>
15920
15921         Reviewed by Tor Arne Vestbø.
15922
15923         [Qt] Fix standalone package builds.
15924
15925         * WebCore.pro: Moved logic for detecting standalone builds to WebKit.pri. Set DESTDIR for package builds.
15926
15927 2010-01-04  Yongjun Zhang  <yongjun.zhang@nokia.com>
15928
15929         Reviewed by Laszlo Gombos.
15930
15931         https://bugs.webkit.org/show_bug.cgi?id=29048
15932         [Qt] make RenderStyle.h compile in winscw compiler.
15933
15934         Change compareEqual to a macro in Winscw compiler to get around "illegal operand" 
15935         error when compareEqual is defined as template.
15936
15937         The compiler bug is reported at:
15938         https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=10447
15939
15940         * rendering/style/RenderStyle.h:
15941
15942 2010-01-04  Maciej Stachowiak  <mjs@apple.com>
15943
15944         Reviewed by Simon Hausmann.
15945
15946         Fix some PLATFORM(*_ENDIAN) uses to CPU()
15947         https://bugs.webkit.org/show_bug.cgi?id=33148
15948
15949         * platform/image-decoders/bmp/BMPImageReader.h:
15950         (WebCore::BMPImageReader::readUint16):
15951         (WebCore::BMPImageReader::readUint32):
15952         (WebCore::BMPImageReader::readCurrentPixel):
15953
15954 2010-01-04  Maciej Stachowiak  <mjs@apple.com>
15955
15956         Reviewed by Adam Barth.
15957
15958         Reorganize, document and rename CPU() platform macros.
15959         https://bugs.webkit.org/show_bug.cgi?id=33145
15960
15961         * page/NavigatorBase.cpp:
15962         * platform/text/AtomicString.cpp:
15963         (WebCore::equal):
15964         * platform/text/StringHash.h:
15965         (WebCore::StringHash::equal):
15966
15967 2009-12-22  Philippe Normand  <pnormand@igalia.com>
15968
15969         Reviewed by Eric Seidel.
15970
15971         [GTK] G_OBJECT() cast is not necessary for signals connection and properties access
15972         https://bugs.webkit.org/show_bug.cgi?id=32661
15973
15974         Reverted the SENTINEL / NULL crap :) Hopefully the style-bot won't
15975         complain about NULL usage in g_object_{get,set} anymore.
15976
15977         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
15978         (WebCore::MediaPlayerPrivate::hasVideo):
15979         (WebCore::MediaPlayerPrivate::hasAudio):
15980         (WebCore::MediaPlayerPrivate::setVolume):
15981         (WebCore::MediaPlayerPrivate::setRate):
15982         (WebCore::MediaPlayerPrivate::updateStates):
15983         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
15984
15985 2010-01-04  Alex Milowski  <alex@milowski.com>
15986
15987         Reviewed by Eric Seidel.
15988
15989         Updated license to match recommended header license.
15990
15991         * mathml/MathMLElement.cpp:
15992         * mathml/MathMLElement.h:
15993         * mathml/MathMLInlineContainerElement.cpp:
15994         * mathml/MathMLInlineContainerElement.h:
15995         * mathml/MathMLMathElement.cpp:
15996         * mathml/MathMLMathElement.h:
15997
15998 2010-01-04  Dirk Schulze  <krit@webkit.org>
15999
16000         Reviewed by Nikolas Zimmermann.
16001
16002         SVGResources don't invalidate if target object changes attributes
16003         https://bugs.webkit.org/show_bug.cgi?id=33091
16004
16005         It's neccessary to invalidate all resources of an object, if the attributes of this
16006         target change. Otherwise the saved resource data (like ImageBuffers) don't match
16007         to the new object properties. 
16008
16009         Test: svg/custom/resource-invalidate-on-target-update.svg
16010
16011         * svg/SVGStyledElement.cpp:
16012         (WebCore::SVGStyledElement::svgAttributeChanged):
16013         (WebCore::SVGStyledElement::invalidateResources):
16014         * svg/SVGStyledElement.h:
16015
16016 2010-01-03  Kenneth Russell  <kbr@google.com>
16017
16018         Reviewed by Maciej Stachowiak.
16019
16020         Index validation code must always copy client data
16021         https://bugs.webkit.org/show_bug.cgi?id=32748
16022
16023         Client data must always be copied during bufferData and
16024         bufferSubData calls, because otherwise the data the GL uses to
16025         draw may differ from that checked by the index validation code.
16026
16027         Test: fast/canvas/webgl/index-validation-copies-indices.html
16028
16029         * html/canvas/WebGLBuffer.cpp:
16030         (WebCore::WebGLBuffer::WebGLBuffer):
16031         (WebCore::WebGLBuffer::associateBufferData):
16032         (WebCore::WebGLBuffer::associateBufferSubData):
16033         * html/canvas/WebGLBuffer.h:
16034
16035 2010-01-03  Adam Barth  <abarth@webkit.org>
16036
16037         Reviewed by Eric Seidel.
16038
16039         [Chromium] Implement CookieJarChromium::cookiesEnabled
16040         https://bugs.webkit.org/show_bug.cgi?id=33123
16041
16042         Call out to ChromiumBridge to find out if cookies are enabled.
16043
16044         * platform/chromium/ChromiumBridge.h:
16045         * platform/network/chromium/CookieJarChromium.cpp:
16046         (WebCore::cookiesEnabled):
16047
16048 2010-01-03  Adam Barth  <abarth@webkit.org>
16049
16050         Reviewed by Eric Seidel.
16051
16052         [Chromium] Remove evaluateInNewContext (it's useless)
16053         https://bugs.webkit.org/show_bug.cgi?id=33068
16054
16055         This function has no clients and makes life complicated.  Isolated
16056         worlds won out over NewContext and there's not really any going back
16057         now.
16058
16059         No new tests because this is all minus lines.
16060
16061         * bindings/v8/ScriptController.cpp:
16062         * bindings/v8/ScriptController.h:
16063         * bindings/v8/V8DOMWrapper.cpp:
16064         (WebCore::V8DOMWrapper::convertWindowToV8Object):
16065         * bindings/v8/V8Proxy.cpp:
16066         * bindings/v8/V8Proxy.h:
16067
16068 2010-01-03  Sam Weinig  <sam@webkit.org>
16069
16070         Rubber-stamped by Dan Bernstein.
16071
16072         Remove out of date commented out attributes in IDLs. We have implemented onpopstate.
16073
16074         * html/HTMLBodyElement.idl:
16075         * html/HTMLFrameSetElement.idl:
16076         * page/DOMWindow.idl:
16077
16078 2010-01-03  Dirk Schulze  <krit@webkit.org>
16079
16080         Reviewed by Nikolas Zimmermann.
16081
16082         Mark more filter effect as alphaImage if possible
16083         https://bugs.webkit.org/show_bug.cgi?id=33111
16084
16085         Mark more effects as alphaImage if the previous effect is a
16086         alphaImage. This can reduce the calculation on the next effect
16087         like feGaussianBlur.
16088         
16089         Test: This changes don't affect any LayoutTests and can't be tested
16090               somehow, since the changes are 'invisible'.
16091
16092         * platform/graphics/filters/FEColorMatrix.cpp:
16093         (WebCore::FEColorMatrix::apply):
16094         * svg/graphics/filters/SVGFEMorphology.cpp:
16095         (WebCore::FEMorphology::apply):
16096         * svg/graphics/filters/SVGFEOffset.cpp:
16097         (WebCore::FEOffset::apply):
16098         * svg/graphics/filters/SVGFETile.cpp:
16099         (WebCore::FETile::apply):
16100
16101 2010-01-01  Simon Fraser  <simon.fraser@apple.com>
16102
16103         Reviewed by Dan Bernstein.
16104
16105         Scrollbar of overflow:scroll div in compositing layer fails to render
16106         https://bugs.webkit.org/show_bug.cgi?id=32439
16107         
16108         When deciding whether a RenderLayer needs backing store, check whether it has
16109         overflow controls that need painting.
16110
16111         Test: compositing/overflow/scrollbar-painting.html
16112
16113         * rendering/RenderLayer.cpp:
16114         (WebCore::RenderLayer::hasOverflowControls):
16115         * rendering/RenderLayer.h:
16116         * rendering/RenderLayerBacking.cpp:
16117         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
16118
16119 2009-12-31  Christian Dywan  <christian@twotoasts.de>
16120
16121         Reviewed by Gustavo Noronha Silva.
16122
16123         [GTK] context menu overriding API is very limited
16124         https://bugs.webkit.org/show_bug.cgi?id=27546
16125
16126         Only show font menu items in rich text areas in the GTK+ port.
16127
16128         * platform/ContextMenu.cpp:
16129         (WebCore::ContextMenu::populate):
16130
16131 2009-12-31  Christian Dywan  <christian@twotoasts.de>
16132
16133         Reviewed by Gustavo Noronha Silva.
16134
16135         [GTK] context menu overriding API is very limited
16136         https://bugs.webkit.org/show_bug.cgi?id=27546
16137
16138         Don't show spell checking menu items in text areas in the GTK+ port.
16139
16140         * platform/ContextMenu.cpp:
16141         (WebCore::ContextMenu::populate):
16142
16143 2009-12-31  Dan Bernstein  <mitz@apple.com>
16144
16145         Reviewed by Simon Fraser.
16146
16147         <rdar://problem/7503279> REGRESSION (r47440): Incomplete repaint at macworldexpo.com
16148         https://bugs.webkit.org/show_bug.cgi?id=33067
16149
16150         Test: fast/repaint/table-cell-overflow.html
16151
16152         * rendering/RenderTableCell.h:
16153         (WebCore::RenderTableCell::hasVisibleOverflow): Added.
16154         * rendering/RenderTableSection.cpp:
16155         (WebCore::RenderTableSection::layoutRows): Set m_hasOverflowingCell if
16156         any cell has visible overflow, like it was before r47440.
16157
16158 2009-12-31  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
16159
16160         Reviewed by Kenneth Rohde Christiansen.
16161
16162         Do not include Frame.h under WebCore/html/canvas
16163         https://bugs.webkit.org/show_bug.cgi?id=33082
16164
16165         No new tests, as there is no new functionality.
16166
16167         * html/canvas/CanvasRenderingContext2D.cpp:
16168
16169 2009-12-30  Darin Fisher  <darin@chromium.org>
16170
16171         Reviewed by David Levin.
16172
16173         [Chromium] Delete ResourceRequest::securityInfo
16174         https://bugs.webkit.org/show_bug.cgi?id=26847
16175
16176         * platform/network/chromium/ResourceRequest.h:
16177
16178 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
16179
16180         Reviewed by Adam Barth.
16181
16182         Remove unused code from V8DOMWrapper.
16183
16184         * bindings/v8/V8DOMWrapper.cpp: Removed code that I added but it's no longer used.
16185         * bindings/v8/V8DOMWrapper.h: Ditto.
16186
16187 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
16188
16189         Reviewed by Adam Barth.
16190
16191         [V8] Generate configuring undetectable collection.
16192         https://bugs.webkit.org/show_bug.cgi?id=33063
16193
16194         Refactoring, covered by existing tests.
16195
16196         * bindings/scripts/CodeGeneratorV8.pm: Added GenerateImplementationMasqueradeAsUndefined.
16197         * bindings/v8/DerivedSourcesAllInOne.cpp: Touched to keep IB-based builds happy.
16198         * bindings/v8/V8DOMWrapper.cpp:
16199         (WebCore::V8DOMWrapper::getTemplate): Removed hand-configuring.
16200
16201 2009-12-30  Zelidrag Hornung  <zelidrag@chromium.org>
16202
16203         Reviewed by Dimitri Glazkov.
16204
16205         Added ability for PopupMenuClient to signal when
16206         a) selection changed, and
16207         b) weather suggested value should be accepted when popup menu closes
16208
16209         No new tests since this new functionality (autocomplete suggestions)
16210         is intentionally hidden from everything else than renderer.
16211
16212         * platform/PopupMenuClient.h:
16213         * platform/chromium/PopupMenuChromium.cpp:
16214         (WebCore::PopupContainer::hidePopup):
16215         (WebCore::PopupListBox::handleKeyEvent):
16216         (WebCore::PopupListBox::abandon):
16217         (WebCore::PopupListBox::acceptIndex):
16218         (WebCore::PopupListBox::selectIndex):
16219         (WebCore::PopupListBox::clearSelection):
16220         (WebCore::PopupListBox::hidePopup):
16221         * platform/gtk/PopupMenuGtk.cpp:
16222         (WebCore::PopupMenu::menuUnmapped):
16223         * platform/mac/PopupMenuMac.mm:
16224         (WebCore::PopupMenu::show):
16225         * platform/qt/QtFallbackWebPopup.cpp:
16226         (WebCore::QtFallbackWebPopup::hidePopup):
16227         * platform/win/PopupMenuWin.cpp:
16228         (WebCore::PopupMenu::hide):
16229         * platform/wx/PopupMenuWx.cpp:
16230         (WebCore::PopupMenu::OnMenuItemSelected):
16231         * rendering/RenderMenuList.cpp:
16232         (WebCore::RenderMenuList::popupDidHide):
16233         * rendering/RenderMenuList.h:
16234         (WebCore::RenderMenuList::selectionChanged):
16235         * rendering/RenderTextControlSingleLine.cpp:
16236         (WebCore::RenderTextControlSingleLine::popupDidHide):
16237         * rendering/RenderTextControlSingleLine.h:
16238         (WebCore::RenderTextControlSingleLine::selectionChanged):
16239
16240 2009-12-30  Nate Chapin  <japhet@chromium.org>
16241
16242         Reviewed by Dimitri Glazkov.
16243
16244         Auto-generate V8 bindings header declarations for
16245         property accessor getter/setters, and remove a couple of
16246         unnecessarily custom bindings that weren't properly declared
16247         custom anyway.
16248
16249         * Android.v8bindings.mk: Remove V8NavigatorCustom.cpp.
16250         * WebCore.gypi: Remove V8NavigatorCustom.cpp.
16251         * bindings/scripts/CodeGeneratorV8.pm:
16252         * bindings/v8/V8DOMWrapper.cpp:
16253         * bindings/v8/custom/V8AttrCustom.cpp:
16254         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
16255         * bindings/v8/custom/V8ClipboardCustom.cpp:
16256         * bindings/v8/custom/V8CoordinatesCustom.cpp:
16257         * bindings/v8/custom/V8CustomBinding.cpp:
16258         * bindings/v8/custom/V8CustomBinding.h:
16259         * bindings/v8/custom/V8DOMWindowCustom.cpp:
16260         * bindings/v8/custom/V8DocumentCustom.cpp:
16261         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
16262         * bindings/v8/custom/V8EventCustom.cpp:
16263         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
16264         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
16265         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
16266         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
16267         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
16268         * bindings/v8/custom/V8LocationCustom.cpp:
16269         * bindings/v8/custom/V8MessageEventCustom.cpp:
16270         * bindings/v8/custom/V8NavigatorCustom.cpp: Removed.
16271         * bindings/v8/custom/V8SVGLengthCustom.cpp:
16272         * bindings/v8/custom/V8WorkerContextCustom.cpp:
16273         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
16274
16275 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
16276
16277         Unreviewed, build fix.
16278
16279         [Chromium] Touch DerivedSourcesAllInOne to avoid clobbering IB-based builds.
16280
16281         * bindings/v8/DerivedSourcesAllInOne.cpp: Added a line-break.
16282
16283 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
16284
16285         Reviewed by Adam Barth.
16286
16287         [V8] Generate configuring of call-as-function callbacks.
16288         https://bugs.webkit.org/show_bug.cgi?id=33061
16289
16290         Refactoring, covered by existing tests.
16291
16292         * bindings/scripts/CodeGeneratorV8.pm: Added GenerateHeaderCustomCall and
16293             GenerateImplementationCustomCall.
16294         * bindings/v8/V8DOMWrapper.cpp:
16295         (WebCore::V8DOMWrapper::getTemplate): Removed all hand-configuring of call-as-function
16296             callbacks.
16297         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
16298         (WebCore::V8HTMLAppletElement::callAsFunctionCallback): Added.
16299         (WebCore::V8HTMLEmbedElement::callAsFunctionCallback): Added.
16300         (WebCore::V8HTMLObjectElement::callAsFunctionCallback): Added.
16301         * bindings/v8/custom/V8HTMLPlugInElementCustom.h: Removed.
16302
16303 2009-12-30  Adam Barth  <abarth@webkit.org>
16304
16305         Reviewed by Eric Seidel.
16306
16307         [v8] Move world-specific state out of V8Proxy
16308         https://bugs.webkit.org/show_bug.cgi?id=33034
16309
16310         This is the first step towards unifying the V8 implementation of
16311         isolated worlds with the JSC implementation.  We need an object to
16312         encapulate all the world-specific bindings state.  Previoulsy, we used
16313         V8Proxy for this purpose (along with a million other things), but
16314         there's a one-to-one mapping between V8Proxy objects and Frame objects.
16315
16316         This patch takes the world-specific state and moves it to a new object,
16317         affectionately called V8DOMWindowShell.  This object is the moral
16318         equivalent of JSDOMWindowShell but with more data members because life
16319         is more complicated in V8-land.
16320
16321         This patch is almost entirely code motion.  Future patches will clean
16322         up this class as we use it to represent window shells in isolated
16323         worlds as well as the main world.
16324
16325         * WebCore.gypi:
16326         * bindings/v8/ScriptController.cpp:
16327         (WebCore::ScriptController::updateSecurityOrigin):
16328         (WebCore::ScriptController::haveInterpreter):
16329         (WebCore::ScriptController::updateDocument):
16330         * bindings/v8/V8DOMWindowShell.cpp: Added.
16331         (WebCore::handleFatalErrorInV8):
16332         (WebCore::reportFatalErrorInV8):
16333         (WebCore::reportUnsafeJavaScriptAccess):
16334         (WebCore::V8DOMWindowShell::create):
16335         (WebCore::V8DOMWindowShell::V8DOMWindowShell):
16336         (WebCore::V8DOMWindowShell::isContextInitialized):
16337         (WebCore::V8DOMWindowShell::disposeContextHandles):
16338         (WebCore::V8DOMWindowShell::destroyGlobal):
16339         (WebCore::V8DOMWindowShell::clearForClose):
16340         (WebCore::V8DOMWindowShell::clearForNavigation):
16341         (WebCore::V8DOMWindowShell::initContextIfNeeded):
16342         (WebCore::V8DOMWindowShell::createNewContext):
16343         (WebCore::V8DOMWindowShell::installDOMWindow):
16344         (WebCore::V8DOMWindowShell::updateDocumentWrapper):
16345         (WebCore::V8DOMWindowShell::clearDocumentWrapper):
16346         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
16347         (WebCore::V8DOMWindowShell::clearDocumentWrapperCache):
16348         (WebCore::V8DOMWindowShell::setSecurityToken):
16349         (WebCore::V8DOMWindowShell::updateDocument):
16350         (WebCore::V8DOMWindowShell::updateSecurityOrigin):
16351         (WebCore::V8DOMWindowShell::getHiddenObjectPrototype):
16352         (WebCore::V8DOMWindowShell::installHiddenObjectPrototype):
16353         (WebCore::V8DOMWindowShell::createWrapperFromCacheSlowCase):
16354         * bindings/v8/V8DOMWindowShell.h: Added.
16355         (WebCore::V8DOMWindowShell::context):
16356         (WebCore::V8DOMWindowShell::createWrapperFromCache):
16357         * bindings/v8/V8DOMWrapper.cpp:
16358         (WebCore::V8DOMWrapper::getConstructorForContext):
16359         (WebCore::V8DOMWrapper::instantiateV8Object):
16360         (WebCore::V8DOMWrapper::convertDocumentToV8Object):
16361         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
16362         * bindings/v8/V8IsolatedWorld.cpp:
16363         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
16364         * bindings/v8/V8Proxy.cpp:
16365         (WebCore::V8Proxy::V8Proxy):
16366         (WebCore::V8Proxy::~V8Proxy):
16367         (WebCore::V8Proxy::handleOutOfMemory):
16368         (WebCore::V8Proxy::evaluateInIsolatedWorld):
16369         (WebCore::V8Proxy::evaluateInNewContext):
16370         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
16371         (WebCore::V8Proxy::clearForClose):
16372         (WebCore::V8Proxy::clearForNavigation):
16373         (WebCore::V8Proxy::mainWorldContext):
16374         (WebCore::V8Proxy::setContextDebugId):
16375         * bindings/v8/V8Proxy.h:
16376         (WebCore::V8Proxy::windowShell):
16377         (WebCore::V8Proxy::extensions):
16378
16379 2009-12-30  Dirk Schulze  <krit@webkit.org>
16380
16381         Reviewed by Eric Seidel.
16382
16383         SVGResourceClipper needs to invalidate content
16384         https://bugs.webkit.org/show_bug.cgi?id=33054
16385
16386         Added invalidate() to SVGResourceClipper to reset clipData
16387         and drawing area after attribute changes.
16388
16389         This fixes two LayoutTests.
16390
16391         * svg/graphics/SVGResourceClipper.cpp:
16392         (WebCore::SVGResourceClipper::resetClipData):
16393         (WebCore::SVGResourceClipper::invalidate):
16394         * svg/graphics/SVGResourceClipper.h:
16395
16396 2009-12-30  Carol Szabo  <carol.szabo@nokia.com>
16397
16398         Reviewed by Laszlo Gombos.
16399
16400          [Qt] RenderThemeQt::applyTheme is a misnomer and is suboptimally coded.
16401         https://bugs.webkit.org/show_bug.cgi?id=33035
16402
16403         This patch:
16404         - renames RenderThemeQt::applyTheme to initializeCommonQStyleOptions,
16405         - extracts the palette initialization code to a separate function in order to
16406         provide for readable pointer checking and moves this code up in the function to
16407         allow for future changes to the palette brushes needed for bug 30173,
16408         - optimizes some of the code in the function for readability, speed and size.
16409         - fixes some minor style issues
16410
16411         No new tests because code behavior is not changed.
16412
16413         * platform/qt/RenderThemeQt.cpp:
16414         (WebCore::RenderThemeQt::paintButton):
16415         (WebCore::RenderThemeQt::paintTextField):
16416         (WebCore::RenderThemeQt::paintMenuList):
16417         (WebCore::RenderThemeQt::paintMenuListButton):
16418         (WebCore::initPaletteFromPageClientIfExists):
16419         (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
16420         * platform/qt/RenderThemeQt.h:
16421
16422 2009-12-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
16423
16424         Reviewed by Simon Hausmann.
16425
16426         [Qt] It should be possible to disable inspector
16427         https://bugs.webkit.org/show_bug.cgi?id=32724
16428
16429         This makes the r48430 available for other ports as well.
16430         No new tests, as there is no new functionality.
16431
16432         * inspector/InjectedScriptHost.idl: Guard the interface with
16433         INSPECTOR guard.
16434
16435         * inspector/InspectorBackend.idl: Ditto.
16436
16437         * inspector/InspectorFrontendHost.idl: Ditto.
16438
16439 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
16440
16441         Reviewed by Adam Barth.
16442
16443         [V8] Generate configuring of all indexers.
16444         https://bugs.webkit.org/show_bug.cgi?id=33031
16445
16446         Refactorig, covered by existing tests.
16447
16448         * bindings/scripts/CodeGeneratorV8.pm: Added generation of indexers for
16449             special cases.
16450         * bindings/v8/V8DOMWrapper.cpp:
16451         (WebCore::V8DOMWrapper::getTemplate): Removed custom tempalte configuration of
16452             indexers.
16453         * bindings/v8/custom/V8CustomBinding.h: Added decls for Applet, Embed, and Object
16454             elements (these will be generated, too -- later.)
16455         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
16456         (WebCore::npObjectIndexedGetter): Moved common code to a separate method.
16457         (WebCore::npObjectIndexedSetter): Ditto.
16458         (WebCore::INDEXED_PROPERTY_GETTER): Added custom handlers for Applet, Embed, and Object
16459           all calling the common method.
16460         (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
16461
16462 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
16463
16464         Reviewed by Adam Barth.
16465
16466         [V8] Generate configuring of all named property getters/setters/enumerators.
16467         https://bugs.webkit.org/show_bug.cgi?id=32996
16468
16469         Refactoring, covered by existing tests.
16470
16471         * bindings/scripts/CodeGeneratorV8.pm: Added generation of named property handlers
16472             for special cases (See bug for more info).
16473         * bindings/v8/V8DOMWrapper.cpp:
16474         (WebCore::V8DOMWrapper::getTemplate): Removed custom template configuration of named
16475             property handlers.
16476         * bindings/v8/custom/V8CustomBinding.h: Added decls for Applet, Embed, and Object
16477             elements (these will be generated, too -- later.)
16478         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
16479         (WebCore::npObjectNamedGetter): Moved common code to a separate method.
16480         (WebCore::npObjectNamedSetter): Ditto.
16481         (WebCore::NAMED_PROPERTY_GETTER): Added custom handlers for Applet, Embed, and Object
16482           all calling the common method.
16483         (WebCore::NAMED_PROPERTY_SETTER): Ditto.
16484
16485 2009-12-30  Jakub Wieczorek  <faw217@gmail.com>
16486
16487         Reviewed by Simon Hausmann.
16488
16489         [Qt] Fix PluginView::handlePostReadFile().
16490         https://bugs.webkit.org/show_bug.cgi?id=33052
16491
16492         The function should actually rewrite the given file to the buffer.
16493
16494         This change fixes http/tests/plugins/post-url-file.html, which can be unskipped
16495         now along with other passing http/plugins tests.
16496
16497         * plugins/qt/PluginViewQt.cpp:
16498         (WebCore::PluginView::handlePostReadFile):
16499
16500 2009-12-30  Holger Hans Peter Freyther  <zecke@selfish.org>
16501
16502         Rubber stamped by Simon Hausmann.
16503
16504         https://bugs.webkit.org/show_bug.cgi?id=32121
16505         [Qt] Revert "Implement ImageDecoderQt::clearFrameBufferCache()" from r52516.
16506
16507         The implementation appears to either run into an ASSERT
16508         or leak memory at runtime as the m_buffer, m_reader may
16509         already exist. The bug was reopened and we do have a plan now.
16510
16511         * platform/graphics/qt/ImageDecoderQt.cpp:
16512         (WebCore::ImageDecoderQt::setData):
16513         (WebCore::ImageDecoderQt::clearFrameBufferCache):
16514         * platform/graphics/qt/ImageDecoderQt.h:
16515
16516 2009-12-30  Janne Koskinen  <janne.p.koskinen@digia.com>
16517
16518         Reviewed by Simon Hausmann.
16519
16520         [Qt] Add support for Symbian def files
16521
16522         * WebCore.pro:
16523
16524 2009-12-30  Simon Hausmann  <simon.hausmann@nokia.com>
16525
16526         Unreviewed Qt/Symbian build fix.
16527
16528         Don't build network state notifier support when building inside of Qt.
16529         Otherwise the Qt build depends on an external module that itself depends
16530         on Qt again.
16531
16532         * WebCore.pro:
16533
16534 2009-12-30  Yury Semikhatsky  <yurys@chromium.org>
16535
16536         Reviewed by Dimitri Glazkov.
16537
16538         [v8] Use current isolated world's context for ScriptCallStack.
16539
16540         https://bugs.webkit.org/show_bug.cgi?id=33016
16541
16542         * bindings/v8/ScriptCallStack.cpp:
16543         (WebCore::ScriptCallStack::ScriptCallStack):
16544         * bindings/v8/ScriptCallStack.h:
16545         (WebCore::ScriptCallStack::state):
16546         * bindings/v8/ScriptController.cpp:
16547         (WebCore::ScriptController::mainWorldScriptState):
16548         (WebCore::ScriptController::currentScriptState):
16549         (WebCore::ScriptController::clearWindowShell):
16550         * bindings/v8/ScriptController.h:
16551         * bindings/v8/V8IsolatedWorld.cpp:
16552         (WebCore::V8IsolatedWorld::scriptState):
16553         * bindings/v8/V8IsolatedWorld.h:
16554
16555 2009-12-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
16556
16557         Reviewed by Simon Hausmann.
16558
16559         Turn off DataGrid support by default.
16560
16561         No new tests, as there is no new functionality.
16562
16563         * WebCore.pro:
16564
16565 2009-12-29  Dirk Schulze  <krit@webkit.org>
16566
16567         Reviewed by Nikolas Zimmermann.
16568
16569         Detailed boundingBoxes in SVG Renderer
16570         https://bugs.webkit.org/show_bug.cgi?id=32815
16571
16572         Add new bounding boxes for strokes, filters, masker and clipper in SVG.
16573         These new bounding boxes help to fix repaintRectInLocalCoordinates.
16574         We calculate the smallest repaint rect considering the new bounding boxes
16575         now, filters get the correct paint area, masker clip the mask image size
16576         to the visible area of the target.
16577
16578         Tests: Many tests need an update. The changes in repaintRectInLocalCoordinates
16579                affect the LayoutTests.     
16580
16581         * rendering/RenderForeignObject.h:
16582         (WebCore::RenderForeignObject::strokeBoundingBox):
16583         * rendering/RenderObject.cpp:
16584         (WebCore::RenderObject::toSVGRenderBase):
16585         * rendering/RenderObject.h:
16586         * rendering/RenderPath.cpp:
16587         (WebCore::RenderPath::strokeBoundingBox):
16588         (WebCore::RenderPath::repaintRectInLocalCoordinates):
16589         (WebCore::RenderPath::setPath):
16590         * rendering/RenderPath.h:
16591         (WebCore::RenderPath::markerBoundingBox):
16592         * rendering/RenderSVGBlock.h:
16593         (WebCore::RenderSVGBlock::toSVGRenderBase):
16594         * rendering/RenderSVGContainer.cpp:
16595         (WebCore::RenderSVGContainer::strokeBoundingBox):
16596         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
16597         * rendering/RenderSVGContainer.h:
16598         * rendering/RenderSVGImage.cpp:
16599         (WebCore::RenderSVGImage::layout):
16600         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
16601         * rendering/RenderSVGImage.h:
16602         (WebCore::RenderSVGImage::toSVGRenderBase):
16603         (WebCore::RenderSVGImage::strokeBoundingBox):
16604         * rendering/RenderSVGInline.h:
16605         (WebCore::RenderSVGInline::objectBoundingBox):
16606         (WebCore::RenderSVGInline::repaintRectInLocalCoordinates):
16607         * rendering/RenderSVGModelObject.h:
16608         (WebCore::RenderSVGModelObject::toSVGRenderBase):
16609         * rendering/RenderSVGRoot.h:
16610         (WebCore::RenderSVGRoot::strokeBoundingBox):
16611         * rendering/RenderSVGText.cpp:
16612         (WebCore::RenderSVGText::strokeBoundingBox):
16613         (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
16614         * rendering/RenderSVGText.h:
16615         (WebCore::RenderSVGText::toSVGRenderBase):
16616         * rendering/SVGRenderSupport.cpp:
16617         (WebCore::SVGRenderBase::~SVGRenderBase):
16618         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
16619         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
16620         (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
16621         (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
16622         * rendering/SVGRenderSupport.h:
16623         (WebCore::SVGRenderBase::toSVGRenderBase):
16624         (WebCore::SVGRenderBase::strokeBoundingBox):
16625         (WebCore::SVGRenderBase::markerBoundingBox):
16626         * rendering/SVGRootInlineBox.h:
16627         (WebCore::SVGRootInlineBox::toSVGRenderBase):
16628         (WebCore::SVGRootInlineBox::objectBoundingBox):
16629         (WebCore::SVGRootInlineBox::repaintRectInLocalCoordinates):
16630         * svg/SVGFilterElement.cpp:
16631         (WebCore::SVGFilterElement::filterBoundingBox):
16632         * svg/SVGFilterElement.h:
16633         * svg/SVGMaskElement.cpp:
16634         (WebCore::SVGMaskElement::maskBoundingBox):
16635         (WebCore::SVGMaskElement::drawMaskerContent):
16636         * svg/SVGMaskElement.h:
16637         * svg/graphics/SVGResourceClipper.cpp:
16638         (WebCore::SVGResourceClipper::clipperBoundingBox):
16639         * svg/graphics/SVGResourceClipper.h:
16640         * svg/graphics/SVGResourceFilter.cpp:
16641         (WebCore::SVGResourceFilter::filterBoundingBox):
16642         (WebCore::shouldProcessFilter):
16643         (WebCore::SVGResourceFilter::prepareFilter):
16644         * svg/graphics/SVGResourceFilter.h:
16645         * svg/graphics/SVGResourceMasker.cpp:
16646         (WebCore::SVGResourceMasker::maskerBoundingBox):
16647         (WebCore::SVGResourceMasker::applyMask):
16648         * svg/graphics/SVGResourceMasker.h:
16649
16650 2009-12-29  Andrei Popescu  <andreip@google.com>
16651
16652         Reviewed by Adam Barth.
16653
16654         Add Android hook to NetworkStateNotifier class
16655         so that the Java side can notify WebCore when the
16656         network state changes.
16657         https://bugs.webkit.org/show_bug.cgi?id=32871
16658
16659         No new tests required, this is platform code.
16660
16661         * platform/network/NetworkStateNotifier.h:
16662         * platform/network/android/NetworkStateNotifierAndroid.cpp: Added.
16663         (WebCore::NetworkStateNotifier::networkStateChange):
16664
16665 2009-12-29  Eric Seidel  <eric@webkit.org>
16666
16667         No review, rolling out r52630.
16668         http://trac.webkit.org/changeset/52630
16669
16670         Change caused layout tests failures and crashes.
16671
16672         * Android.mk:
16673         * GNUmakefile.am:
16674         * WebCore.pro:
16675         * WebCore.vcproj/WebCore.vcproj:
16676         * WebCore.xcodeproj/project.pbxproj:
16677         * rendering/RenderPath.cpp:
16678         (WebCore::RenderPath::repaintRectInLocalCoordinates):
16679         (WebCore::RenderPath::setPath):
16680         (WebCore::RenderPath::path):
16681         (WebCore::RenderPath::paint):
16682         (WebCore::):
16683         (WebCore::DrawMarkersData::DrawMarkersData):
16684         (WebCore::drawMarkerWithData):
16685         (WebCore::updateMarkerDataForElement):
16686         (WebCore::drawStartAndMidMarkers):
16687         (WebCore::RenderPath::drawMarkersIfNeeded):
16688         * rendering/RenderPath.h:
16689         * rendering/RenderSVGContainer.h:
16690         * rendering/RenderSVGViewportContainer.cpp:
16691         (WebCore::RenderSVGViewportContainer::paint):
16692         * rendering/RenderSVGViewportContainer.h:
16693         * rendering/SVGMarkerLayoutInfo.cpp: Removed.
16694         * rendering/SVGMarkerLayoutInfo.h: Removed.
16695         * svg/SVGMarkerElement.cpp:
16696         (WebCore::SVGMarkerElement::canvasResource):
16697         * svg/graphics/SVGResource.cpp:
16698         (WebCore::SVGResource::SVGResource):
16699         (WebCore::ResourceSet::ResourceSet):
16700         (WebCore::clientMap):
16701         (WebCore::SVGResource::~SVGResource):
16702         (WebCore::SVGResource::removeClient):
16703         (WebCore::SVGResource::addClient):
16704         * svg/graphics/SVGResourceMarker.cpp:
16705         (WebCore::SVGResourceMarker::SVGResourceMarker):
16706         (WebCore::SVGResourceMarker::setMarker):
16707         (WebCore::SVGResourceMarker::setRef):
16708         (WebCore::SVGResourceMarker::draw):
16709         (WebCore::SVGResourceMarker::cachedBounds):
16710         (WebCore::SVGResourceMarker::externalRepresentation):
16711         * svg/graphics/SVGResourceMarker.h:
16712         (WebCore::SVGResourceMarker::refX):
16713         (WebCore::SVGResourceMarker::refY):
16714
16715 2009-12-29  Dan Bernstein  <mitz@apple.com>
16716
16717         Reviewed by Sam Weinig.
16718
16719         Move the focus ring rect array, width and offset out of GraphicsContext
16720         https://bugs.webkit.org/show_bug.cgi?id=33028
16721
16722         * platform/graphics/GraphicsContext.cpp: Removed initFocusRing(),
16723         clearFocusRing(), focusRingBoundingRect(), addFocusRingRect(),
16724         focusRingWidth(), focusRingOffset(), and focusRingRects().
16725         * platform/graphics/GraphicsContext.h: Ditto. Added the focus ring rect
16726         vector, width and offset as parameters to drawFocusRing().
16727         * platform/graphics/GraphicsContextPrivate.h:
16728         (WebCore::GraphicsContextState::GraphicsContextState): Cleaned up style.
16729         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): Removed
16730         m_focusRingRects, m_focusRingWidth and m_focusRingOffset.
16731         * platform/graphics/IntRect.cpp:
16732         (WebCore::unionRect): Added this helper function.
16733         * platform/graphics/IntRect.h:
16734         * platform/graphics/cairo/GraphicsContextCairo.cpp:
16735         (WebCore::GraphicsContext::drawFocusRing): 
16736         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
16737         (WebCore::GraphicsContext::drawFocusRing): Ditto.
16738         * platform/graphics/mac/GraphicsContextMac.mm:
16739         (WebCore::GraphicsContext::drawFocusRing): Ditto.
16740         * platform/graphics/qt/GraphicsContextQt.cpp:
16741         (WebCore::GraphicsContext::drawFocusRing): Ditto.
16742         * platform/graphics/skia/GraphicsContextSkia.cpp:
16743         (WebCore::GraphicsContext::drawFocusRing): Ditto.
16744         * platform/graphics/win/GraphicsContextCGWin.cpp:
16745         (WebCore::GraphicsContext::drawFocusRing): Ditto.
16746         * platform/graphics/wince/GraphicsContextWince.cpp:
16747         (WebCore::GraphicsContext::drawFocusRing): Ditto.
16748         * platform/graphics/wx/GraphicsContextWx.cpp:
16749         (WebCore::GraphicsContext::drawFocusRing): Ditto.
16750         * rendering/RenderBlock.cpp:
16751         (WebCore::RenderBlock::addFocusRingRects): Updated for new prototype.
16752         Added empty rect checks that were previously done in
16753         GraphicsContext::addFocusRingRect().
16754         * rendering/RenderBlock.h:
16755         * rendering/RenderBox.cpp:
16756         (WebCore::RenderBox::addFocusRingRects): Ditto.
16757         * rendering/RenderBox.h:
16758         * rendering/RenderInline.cpp:
16759         (WebCore::RenderInline::addFocusRingRects): Ditto.
16760         (WebCore::RenderInline::paintOutline): Collect focus ring rects into a
16761         vector and pass it to drawFocusRing(). Use unionRect() instead of
16762         focusRingBoundingRect().
16763         * rendering/RenderInline.h:
16764         * rendering/RenderObject.cpp:
16765         (WebCore::RenderObject::paintOutline): Ditto.
16766         * rendering/RenderObject.h:
16767         (WebCore::RenderObject::addFocusRingRects): Changed to take a
16768         Vector<IntRect> to which the rects are added.
16769         * rendering/RenderPath.cpp:
16770         (WebCore::RenderPath::addFocusRingRects): Updated for new prototype.
16771         Added empty rect check that was previously done in
16772         GraphicsContext::addFocusRingRect().
16773         * rendering/RenderPath.h:
16774         * rendering/RenderSVGContainer.cpp:
16775         (WebCore::RenderSVGContainer::addFocusRingRects): Updated for new prototype.
16776         Added empty rect check that was previously done in
16777         GraphicsContext::addFocusRingRect().
16778         * rendering/RenderSVGContainer.h:
16779         * rendering/RenderSVGImage.cpp:
16780         (WebCore::RenderSVGImage::addFocusRingRects): Updated for new prototype.
16781         Added empty rect check that was previously done in
16782         GraphicsContext::addFocusRingRect().
16783         * rendering/RenderSVGImage.h:
16784         * rendering/RenderTextControl.cpp:
16785         (WebCore::RenderTextControl::addFocusRingRects): Updated for new prototype.
16786         Added empty rect check that was previously done in
16787         GraphicsContext::addFocusRingRect().
16788         * rendering/RenderTextControl.h:
16789
16790 2009-12-28  Dumitru Daniliuc  <dumi@chromium.org>
16791
16792         Reviewed by Maciej Stachowiak.
16793
16794         1. Changes the order in which some functions are called to match
16795         the pre-r52536 order. Namely, when a new Database object is
16796         created, DatabaseTracker::addOpenDatabase() is called in the
16797         constructor, before doing anything else related to that database
16798         (like trying to get a file handle to the database
16799         file). Chromium's implementation depends on this ordering.
16800         2. Changes Database::performOpenAndVerify() to close the open
16801         handle to the database file immediately if the database version
16802         does not match the expected one. The current behavior is to add
16803         the Database object to a DatabaseThread collection and let the
16804         database thread close the handle when it's destroyed.
16805
16806         https://bugs.webkit.org/show_bug.cgi?id=33005
16807
16808         All LayoutTests/storage tests pass in clean WebKit and Chromium
16809         clients.
16810
16811         * storage/Database.cpp:
16812         (WebCore::Database::openDatabase): Notify DatabaseTracker and
16813         Document that a Database object is about to be destroyed (when a
16814         database file cannot be opened, or its version doesn't match the
16815         expected one).
16816         (WebCore::Database::Database): Notify DatabaseTracker and Document
16817         that a new Database object was created.
16818         (WebCore::Database::performOpenAndVerify): If a database version
16819         does not match the expected one, immediately close the open file
16820         handle to the database file.
16821
16822 2009-12-29  Nikolas Zimmermann  <nzimmermann@rim.com>
16823
16824         Reviewed by Dirk Schulze.
16825
16826         Marker code is buggy: referencePoint translation is off
16827         https://bugs.webkit.org/show_bug.cgi?id=33012
16828
16829         Rewrite marker code, as it was buggy:
16830         - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
16831         - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
16832         - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
16833         - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
16834           can have three different resources of the same type (three markers, start/mid/end markers)
16835
16836         Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
16837         Test: svg/custom/marker-referencePoint.svg
16838
16839         * Android.mk:
16840         * GNUmakefile.am:
16841         * WebCore.pro:
16842         * WebCore.vcproj/WebCore.vcproj:
16843         * WebCore.xcodeproj/project.pbxproj:
16844         * rendering/RenderPath.cpp:
16845         (WebCore::RenderPath::repaintRectInLocalCoordinates):
16846         (WebCore::RenderPath::setPath):
16847         (WebCore::RenderPath::paint):
16848         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
16849         * rendering/RenderPath.h:
16850         (WebCore::RenderPath::path):
16851         * rendering/RenderSVGContainer.h:
16852         * rendering/RenderSVGViewportContainer.cpp:
16853         (WebCore::RenderSVGViewportContainer::markerContentTransformation):
16854         * rendering/RenderSVGViewportContainer.h:
16855         * rendering/SVGMarkerLayoutInfo.cpp: Added.
16856         (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
16857         (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
16858         (WebCore::SVGMarkerLayoutInfo::initialize):
16859         (WebCore::updateMarkerDataForElement):
16860         (WebCore::recordMarkerData):
16861         (WebCore::processStartAndMidMarkers):
16862         (WebCore::SVGMarkerLayoutInfo::calculateBoundaries):
16863         (WebCore::SVGMarkerLayoutInfo::drawMarkers):
16864         * rendering/SVGMarkerLayoutInfo.h: Added.
16865         (WebCore::MarkerData::):
16866         (WebCore::MarkerData::MarkerData):
16867         (WebCore::MarkerLayout::MarkerLayout):
16868         * svg/SVGMarkerElement.cpp:
16869         (WebCore::SVGMarkerElement::canvasResource):
16870         * svg/graphics/SVGResource.cpp:
16871         (WebCore::resourceSet):
16872         (WebCore::SVGResource::SVGResource):
16873         (WebCore::SVGResource::~SVGResource):
16874         (WebCore::SVGResource::removeClient):
16875         (WebCore::SVGResource::addClient):
16876         * svg/graphics/SVGResourceMarker.cpp:
16877         (WebCore::SVGResourceMarker::SVGResourceMarker):
16878         (WebCore::SVGResourceMarker::markerBoundaries):
16879         (WebCore::SVGResourceMarker::markerTransformation):
16880         (WebCore::SVGResourceMarker::draw):
16881         (WebCore::SVGResourceMarker::externalRepresentation):
16882         * svg/graphics/SVGResourceMarker.h:
16883         (WebCore::SVGResourceMarker::setRenderer):
16884         (WebCore::SVGResourceMarker::setReferencePoint):
16885         (WebCore::SVGResourceMarker::referencePoint):
16886
16887 2009-12-29  Alexander Pavlov  <apavlov@chromium.org>
16888
16889         Reviewed by Pavel Feldman.
16890
16891         Fix UI nits in the Audits panel.
16892         https://bugs.webkit.org/show_bug.cgi?id=32932
16893
16894         * inspector/front-end/AuditLauncherView.js:
16895         (WebInspector.AuditLauncherView.prototype._selectAllClicked):
16896         (WebInspector.AuditLauncherView.prototype._createCategoryElement):
16897         (WebInspector.AuditLauncherView.prototype._createLauncherUI.handleSelectAllClick):
16898         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
16899         * inspector/front-end/AuditResultView.js:
16900         (WebInspector.AuditResultView):
16901         (WebInspector.AuditRuleResultPane):
16902         * inspector/front-end/audits.css:
16903
16904 2009-12-29  Johnny Ding  <jnd@chromium.org>
16905
16906         Reviewed by Dimitri Glazkov.
16907
16908         https://bugs.webkit.org/show_bug.cgi?id=32863
16909         Make NodeList support call-as-function
16910
16911         Test: fast/dom/NodeList/nodelist-item-call-as-function.html
16912
16913         * bindings/scripts/CodeGeneratorV8.pm:
16914         * bindings/v8/V8DOMWrapper.cpp:
16915         (WebCore::V8DOMWrapper::getTemplate):
16916         * bindings/v8/custom/V8NodeListCustom.cpp:
16917         (WebCore::V8NodeList::callAsFunctionCallback):
16918
16919 2009-12-29  Simon Fraser  <simon.fraser@apple.com>
16920
16921         Reviewed by Dan Bernstein.
16922
16923         Typed text in table not correctly redrawn on page with compositing layers
16924         https://bugs.webkit.org/show_bug.cgi?id=32874
16925         
16926         Use the same test in RenderTableCell::computeRectForRepaint() that we use elsewhere
16927         to decide when to use layoutState, which is to test for layoutStateEnabled()
16928         and no repaint container.
16929
16930         Not possible to make a repaint test that exercises the problem, so no test.
16931
16932         * rendering/RenderTableCell.cpp:
16933         (WebCore::RenderTableCell::computeRectForRepaint):
16934
16935 2009-12-29  Alexander Pavlov  <apavlov@chromium.org>
16936
16937         Reviewed by Timothy Hatcher.
16938
16939         Discard port from cookie domain when matching cookies.
16940
16941         WebKit cookies do not hold the port information, so we should match only hostnames.
16942         https://bugs.webkit.org/show_bug.cgi?id=31787
16943
16944         * inspector/front-end/inspector.js:
16945         (WebInspector.updateResource):
16946
16947 2009-12-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
16948
16949         Reviewed by Kenneth Rohde Christiansen.
16950
16951         [Qt] Fix warnings in MediaPlayerPrivatePhonon.cpp
16952         https://bugs.webkit.org/show_bug.cgi?id=33019
16953
16954         No new tests as there is no new functionality.
16955
16956         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
16957         (WebCore::MediaPlayerPrivate::totalTimeChanged):
16958
16959 2009-12-29  Kent Tamura  <tkent@chromium.org>
16960
16961         Reviewed by Maciej Stachowiak.
16962
16963         Implement HTML5 <aside> element.
16964         https://bugs.webkit.org/show_bug.cgi?id=32943
16965
16966         <aside> should behave the same as <nav>, <section>, and <article>.
16967
16968         Test: fast/html/aside-element.html
16969
16970         * css/html.css: Add aside as a block element.
16971         * editing/htmlediting.cpp:
16972         (WebCore::validBlockTag): Add asideTag.
16973         * html/HTMLElement.cpp:
16974         (WebCore::HTMLElement::tagPriority): Returns 5 for asideTag.
16975         (WebCore::blockTagList): Add asideTag.
16976         * html/HTMLParser.cpp:
16977         (WebCore::HTMLParser::getNode): Add asideTag.
16978         * html/HTMLTagNames.in: Add aside.
16979
16980 2009-12-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
16981
16982         Reviewed by Eric Seidel.
16983
16984         Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings
16985         https://bugs.webkit.org/show_bug.cgi?id=33003
16986
16987         No new tests as there is no new functionality.
16988
16989         * editing/CompositeEditCommand.cpp:
16990         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
16991         * page/animation/ImplicitAnimation.cpp:
16992         (WebCore::ImplicitAnimation::sendTransitionEvent):
16993         * page/animation/KeyframeAnimation.cpp:
16994         (WebCore::KeyframeAnimation::sendAnimationEvent):
16995         * rendering/RenderSVGContainer.h:
16996         (WebCore::toRenderSVGContainer):
16997         * rendering/style/RenderStyle.cpp:
16998         (WebCore::RenderStyle::setTextShadow):
16999         * svg/graphics/SVGPaintServerGradient.cpp:
17000         (WebCore::SVGPaintServerGradient::setup):
17001         * svg/graphics/SVGPaintServerPattern.cpp:
17002         (WebCore::SVGPaintServerPattern::setup):
17003
17004 2009-12-28  Andrei Popescu  <andreip@google.com>
17005
17006         Reviewed by Dmitry Titov.
17007
17008         On Android, ResourceHandle instances make use of a pointer to a
17009         ResourceLoaderAndroid pointer. This needs to be stored in order to later cancel
17010         the load, if necessary. Since this pointer is an internal implementation
17011         details of ResourceHandle on Android, it needs to be stored in the
17012         ResourceHandleInternal class. This patch adds this pointer.
17013         https://bugs.webkit.org/show_bug.cgi?id=32873
17014
17015         No new tests needed, this is platform-specific code.
17016
17017         * platform/network/ResourceHandle.h:
17018         * platform/network/ResourceHandleInternal.h:
17019         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
17020
17021 2009-12-28  Charles Wei  <charles.wei@torchmobile.com.cn>
17022
17023         Reviewed by Maciej Stachowiak.
17024
17025         Remove the macro ENABLE(XHTMLMP) for noscriptAreateErrorCheck in HTMLParser,
17026         since with XHTMLMP enabled, it's not checking create Errors,  and then contents inside 
17027         <noscript> are always parsed and rendered.
17028         https://bugs.webkit.org/show_bug.cgi?id=32706
17029
17030         Tests: fast/parser/noscript-with-javascript-disabled.html
17031                fast/parser/noscript-with-javascript-enabled.html
17032
17033         * html/HTMLParser.cpp:
17034         (WebCore::HTMLParser::getNode):
17035
17036 2009-12-28  Kinuko Yasuda  <kinuko@chromium.org>
17037
17038         Reviewed by Maciej Stachowiak.
17039
17040         Fixed isKeypadEvent behavior for Mac to correctly report keyLocation
17041         as DOM_KEY_LOCATION_NUMPAD for numeric pad key events.
17042         https://bugs.webkit.org/show_bug.cgi?id=28247
17043
17044         Test: fast/events/keydown-numpad-keys.html
17045
17046         * platform/mac/KeyEventMac.mm:
17047         (WebCore::isKeypadEvent):
17048
17049 2009-12-28  Mike Moretti  <webkit9@mordent.com>
17050
17051         Reviewed by Darin Adler.
17052
17053         Fix bug 28245 - problem with inserting a span into a long text block causing a crash because of a null string
17054
17055         Test: fast/dom/insert-span-into-long-text-bug-28245.html
17056
17057         * rendering/RenderBlockLineLayout.cpp:
17058         (WebCore::RenderBlock::findNextLineBreak):
17059
17060 2009-12-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
17061
17062         Rubber-stamped by Xan Lopez.
17063
17064         Follow Apple's decision to disable HTML DataGrid by default.
17065
17066         * GNUmakefile.am:
17067
17068 2009-12-28  Gustavo Noronha Silva  <gns@gnome.org>
17069
17070         Reviewed by Ariya Hidayat.
17071
17072         Fix warnings when generating files using gperf. The warnings are
17073         currently harmless, but some changes in the build system may make
17074         them fatal.
17075
17076         [GTK] Build time must be reduced
17077         https://bugs.webkit.org/show_bug.cgi?id=32921
17078
17079         * GNUmakefile.am:
17080
17081 2009-12-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
17082
17083         Reviewed by Adam Barth.
17084
17085         [Qt] Fix build break for Qt 4.4
17086         https://bugs.webkit.org/show_bug.cgi?id=30327
17087
17088         No new tests, as there is no new functionality.
17089
17090         * platform/graphics/qt/GraphicsContextQt.cpp:
17091         (WebCore::GraphicsContext::clipOut): Use intersected() instead of
17092         operator &, which was only introduced in Qt version 4.5.
17093
17094         * platform/qt/ScrollbarThemeQt.cpp:
17095         (WebCore::ScrollbarThemeQt::paintScrollCorner): Pass ColorSpace
17096         argument to fillColor() introduced in r50760
17097
17098 2009-12-28  Kent Tamura  <tkent@chromium.org>
17099
17100         Reviewed by Maciej Stachowiak.
17101
17102         Implement HTML5 <article> element.
17103         https://bugs.webkit.org/show_bug.cgi?id=32936
17104
17105         <article> should behave the same as <nav> and <section>.
17106
17107         Test: fast/html/article-element.html
17108
17109         * css/html.css: Add article as a block element.
17110         * editing/htmlediting.cpp:
17111         (WebCore::validBlockTag): Add articleTag.
17112         * html/HTMLElement.cpp:
17113         (WebCore::HTMLElement::tagPriority): Returns 5 for articleTag.
17114         (WebCore::blockTagList): Add articleTag.
17115         * html/HTMLParser.cpp:
17116         (WebCore::HTMLParser::getNode): Add articleTag.
17117         * html/HTMLTagNames.in: Add article.
17118
17119 2009-12-27  Jakub Wieczorek  <faw217@gmail.com>
17120
17121         Reviewed by Eric Seidel.
17122
17123         [Qt] Support upload progress events in XMLHttpRequest
17124         https://bugs.webkit.org/show_bug.cgi?id=32969
17125
17126         Make QNetworkReplyHandler report the upload progress to the client.
17127
17128         Already covered by tests:
17129         http/tests/xmlhttprequest/upload-onload-event.html
17130         http/tests/xmlhttprequest/upload-onloadstart-event.html
17131         http/tests/xmlhttprequest/upload-progress-events.html
17132         http/tests/xmlhttprequest/upload-onprogress-event.html
17133
17134         which have been unskipped.
17135
17136         * platform/network/qt/QNetworkReplyHandler.cpp:
17137         (WebCore::QNetworkReplyHandler::uploadProgress):
17138         (WebCore::QNetworkReplyHandler::start):
17139         * platform/network/qt/QNetworkReplyHandler.h:
17140
17141 2009-12-27  Dirk Schulze  <krit@webkit.org>
17142
17143         Reviewed by Nikolas Zimmermann.
17144
17145         SVG: Stop rendering of objects with empty mask and filter content
17146         https://bugs.webkit.org/show_bug.cgi?id=32968
17147
17148         It's not neccessary to continue rendering of an object and its' childs
17149         if the mask clips the complete content away.
17150         The same for filters, if the filter rendering is discontinued or either
17151         width or height are zero.
17152         We might also stop rendering if repaintRectInLocalCoordinates is empty.
17153         But it needs to be fixed first.
17154
17155         Test: svg/custom/empty-mask.svg
17156
17157         * rendering/RenderPath.cpp:
17158         (WebCore::RenderPath::paint):
17159         * rendering/RenderSVGContainer.cpp:
17160         (WebCore::RenderSVGContainer::paint):
17161         * rendering/RenderSVGImage.cpp:
17162         (WebCore::RenderSVGImage::paint):
17163         * rendering/RenderSVGRoot.cpp:
17164         (WebCore::RenderSVGRoot::paint):
17165         * rendering/SVGRenderSupport.cpp:
17166         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
17167         * rendering/SVGRenderSupport.h:
17168         * rendering/SVGRootInlineBox.cpp:
17169         (WebCore::SVGRootInlineBox::paint):
17170         * svg/SVGMaskElement.cpp:
17171         (WebCore::SVGMaskElement::drawMaskerContent):
17172         * svg/SVGMaskElement.h:
17173         * svg/graphics/SVGResourceFilter.cpp:
17174         (WebCore::SVGResourceFilter::prepareFilter):
17175         (WebCore::SVGResourceFilter::applyFilter):
17176         * svg/graphics/SVGResourceFilter.h:
17177         * svg/graphics/SVGResourceMasker.cpp:
17178         (WebCore::SVGResourceMasker::SVGResourceMasker):
17179         (WebCore::SVGResourceMasker::applyMask):
17180         * svg/graphics/SVGResourceMasker.h:
17181
17182 2009-12-27  Christian Dywan  <christian@twotoasts.de>
17183
17184         Reviewed by Eric Seidel.
17185
17186         [GTK] Spell Check Suggestions (Do not work)
17187         https://bugs.webkit.org/show_bug.cgi?id=30908
17188
17189         * platform/gtk/ContextMenuItemGtk.cpp:
17190         (WebCore::ContextMenuItem::ContextMenuItem):
17191         (WebCore::ContextMenuItem::title):
17192         (WebCore::ContextMenuItem::setTitle): Implement the 'title' member
17193         and set the title from the native menu item.
17194
17195 2009-12-27  Dirk Schulze  <krit@webkit.org>
17196
17197         Reviewed by Nikolas Zimmermann.
17198
17199         SVG Mask result wrong, if two different objects call the same mask id
17200         https://bugs.webkit.org/show_bug.cgi?id=32787
17201
17202         At the moment we create one resource per maskId. Some resources (like mask)
17203         create ImageBuffers and depends on the properties of the RenderObject,
17204         thus we can't use it for a second object.
17205         This patch stores multiple mask resources for one maskId and different
17206         RenderObject can use the same maskId.
17207         Clipper, Filter and Patterns also need to store multiple resources later.
17208
17209         Test: svg/custom/mask-on-multiple-objects.svg
17210
17211         * rendering/RenderPath.cpp:
17212         (WebCore::RenderPath::drawMarkersIfNeeded):
17213         * rendering/RenderSVGContainer.cpp:
17214         (WebCore::RenderSVGContainer::selfWillPaint):
17215         * rendering/RenderSVGGradientStop.cpp:
17216         (WebCore::RenderSVGGradientStop::styleDidChange):
17217         * rendering/RenderSVGRoot.cpp:
17218         (WebCore::RenderSVGRoot::selfWillPaint):
17219         * rendering/SVGRenderSupport.cpp:
17220         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
17221         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
17222         * rendering/SVGRenderTreeAsText.cpp:
17223         (WebCore::writeRenderResources):
17224         * svg/SVGClipPathElement.cpp:
17225         (WebCore::SVGClipPathElement::canvasResource):
17226         * svg/SVGClipPathElement.h:
17227         * svg/SVGFilterElement.cpp:
17228         (WebCore::SVGFilterElement::canvasResource):
17229         * svg/SVGFilterElement.h:
17230         * svg/SVGGradientElement.cpp:
17231         (WebCore::SVGGradientElement::canvasResource):
17232         * svg/SVGGradientElement.h:
17233         * svg/SVGMarkerElement.cpp:
17234         (WebCore::SVGMarkerElement::canvasResource):
17235         * svg/SVGMarkerElement.h:
17236         * svg/SVGMaskElement.cpp:
17237         (WebCore::SVGMaskElement::svgAttributeChanged):
17238         (WebCore::SVGMaskElement::childrenChanged):
17239         (WebCore::SVGMaskElement::canvasResource):
17240         * svg/SVGMaskElement.h:
17241         * svg/SVGPatternElement.cpp:
17242         (WebCore::SVGPatternElement::canvasResource):
17243         * svg/SVGPatternElement.h:
17244         * svg/SVGStyledElement.cpp:
17245         (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
17246         * svg/SVGStyledElement.h:
17247         (WebCore::SVGStyledElement::canvasResource):
17248         * svg/graphics/SVGPaintServer.cpp:
17249         (WebCore::getPaintServerById):
17250         (WebCore::SVGPaintServer::fillPaintServer):
17251         (WebCore::SVGPaintServer::strokePaintServer):
17252         * svg/graphics/SVGPaintServer.h:
17253         * svg/graphics/SVGResource.cpp:
17254         (WebCore::getResourceById):
17255         * svg/graphics/SVGResource.h:
17256         * svg/graphics/SVGResourceClipper.cpp:
17257         (WebCore::getClipperById):
17258         * svg/graphics/SVGResourceClipper.h:
17259         * svg/graphics/SVGResourceFilter.cpp:
17260         (WebCore::getFilterById):
17261         * svg/graphics/SVGResourceFilter.h:
17262         * svg/graphics/SVGResourceMarker.cpp:
17263         (WebCore::getMarkerById):
17264         * svg/graphics/SVGResourceMarker.h:
17265         * svg/graphics/SVGResourceMasker.cpp:
17266         (WebCore::getMaskerById):
17267         * svg/graphics/SVGResourceMasker.h:
17268
17269 2009-12-27  Nikolas Zimmermann  <nzimmermann@rim.com>
17270
17271         Reviewed by Dirk Schulze.
17272
17273         Cleanup RenderPath code, related to markers. Pass around
17274         PaintInfo objects instead of GraphicsContext directly, to
17275         avoid having to recreate a new PaintInfo object in
17276         SVGResourceMarker::draw().
17277
17278         No layout test changes.
17279
17280         * rendering/RenderPath.cpp:
17281         (WebCore::RenderPath::paint):
17282         (WebCore::DrawMarkersData::DrawMarkersData):
17283         (WebCore::drawMarkerWithData):
17284         (WebCore::drawStartAndMidMarkers):
17285         (WebCore::RenderPath::drawMarkersIfNeeded):
17286         * rendering/RenderPath.h:
17287         * svg/graphics/SVGResourceMarker.cpp:
17288         (WebCore::SVGResourceMarker::draw):
17289         * svg/graphics/SVGResourceMarker.h:
17290
17291 2009-12-27  Patrick Gansterer  <paroga@paroga.com>
17292
17293         Reviewed by Eric Seidel.
17294
17295         WinCE buildfix (added missing header)
17296
17297         * platform/text/wince/TextBreakIteratorWince.cpp:
17298
17299 2009-12-27  Patrick Gansterer  <paroga@paroga.com>
17300
17301         Reviewed by Eric Seidel.
17302
17303         Buildfix after r50760 and some style fixes.
17304
17305         * rendering/RenderThemeWince.cpp:
17306         (WebCore::RenderThemeWince::paintSearchFieldCancelButton):
17307         (WebCore::RenderThemeWince::paintSliderTrack):
17308         (WebCore::RenderThemeWince::paintSliderThumb):
17309         (WebCore::RenderThemeWince::paintMediaMuteButton):
17310         (WebCore::RenderThemeWince::paintMediaPlayButton):
17311
17312 2009-12-27  Patrick Gansterer  <paroga@paroga.com>
17313
17314         Reviewed by Adam Barth.
17315
17316         WinCE buildfixes (missing headers and unsupported HWND_MESSAGE)
17317
17318         * platform/wince/MIMETypeRegistryWince.cpp:
17319         * platform/wince/SearchPopupMenuWince.cpp:
17320         * platform/wince/SharedTimerWince.cpp:
17321         (WebCore::initializeOffScreenTimerWindow):
17322
17323 2009-12-26  Eric Seidel  <eric@webkit.org>
17324
17325         No review, rolling out r52554.
17326         http://trac.webkit.org/changeset/52554
17327
17328         https://bugs.webkit.org/show_bug.cgi?id=32955
17329         The original change was covered under
17330         https://bugs.webkit.org/show_bug.cgi?id=32913
17331
17332         r52554 was itself a rollout of r52536.
17333         However it caused two layout tests to fail on Leopard:
17334         storage/open-database-while-transaction-in-progress.html
17335         svg/W3C-SVG-1.1/filters-conv-01-f.svg (no clue why?)
17336
17337         So I'm rolling out the rollout in an attempt to get the bots green.
17338         r52554 did not explain why it was rolled out, so I do not know
17339         what might fail for Chromium after this change.  I warned the folks
17340         in #chromium that it was coming.
17341
17342         * storage/Database.cpp:
17343         (WebCore::Database::openDatabase):
17344         (WebCore::Database::Database):
17345         (WebCore::Database::performOpenAndVerify):
17346
17347 2009-12-26  Dan Bernstein  <mitz@apple.com>
17348
17349         Reviewed by Sam Weinig.
17350
17351         <rdar://problem/7483622> REGRESSION (r47255): Extra Large Amount of Empty Space
17352         https://bugs.webkit.org/show_bug.cgi?id=32690
17353
17354         Test: fast/block/float/clear-to-fit.html
17355
17356         * rendering/RenderBlock.cpp:
17357         (WebCore::RenderBlock::getClearDelta): Only clear floats as needed to
17358         fit the child on the line.
17359
17360 2009-12-25  Kent Tamura  <tkent@chromium.org>
17361
17362         Reviewed by Darin Adler.
17363
17364         Implement HTML5 section element.
17365         https://bugs.webkit.org/show_bug.cgi?id=32936
17366
17367         <section> should behave the same as <nav>.
17368
17369         Test: fast/html/section-element.html
17370
17371         * css/html.css: Add section as a block element.
17372         * editing/htmlediting.cpp:
17373         (WebCore::validBlockTag): Add sectionTag.
17374         * html/HTMLElement.cpp:
17375         (WebCore::HTMLElement::tagPriority): Returns 5 for sectionTag.
17376         (WebCore::blockTagList): Add sectionTag.
17377         * html/HTMLParser.cpp:
17378         (WebCore::HTMLParser::getNode): Add sectionTag.
17379         * html/HTMLTagNames.in: Add section.
17380
17381 2009-12-25  Daniel Bates  <dbates@webkit.org>
17382
17383         Reviewed by Adam Barth.
17384
17385         https://bugs.webkit.org/show_bug.cgi?id=32938
17386
17387         Cleans up XSSAuditor.
17388
17389         Currently, we pass various parameters through to XSSAuditor::findInRequest
17390         that are used to determine how to decode the HTTP input parameters so that
17391         we can perform a match against the script source. Instead, we have defined
17392         a structure XSSAuditor::FindTask that can hold all of these parameters.
17393
17394         No functionality was changed. So, no new tests.
17395
17396         * page/XSSAuditor.cpp:
17397         (WebCore::XSSAuditor::canEvaluate): Modified to use struct
17398         XSSAuditor::FindTask.
17399         (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Ditto.
17400         (WebCore::XSSAuditor::canCreateInlineEventListener): Ditto.
17401         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): Ditto.
17402         (WebCore::XSSAuditor::canLoadObject): Ditto.
17403         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto.
17404         (WebCore::XSSAuditor::findInRequest): Ditto.
17405         * page/XSSAuditor.h:
17406         (WebCore::XSSAuditor::FindTask::FindTask): Added.
17407
17408 2009-12-25  Nikolas Zimmermann  <nzimmermann@rim.com>
17409
17410         Reviewed by Dirk Schulze.
17411
17412         DOMWindow is missing lots of SVG* constructor objects
17413         https://bugs.webkit.org/show_bug.cgi?id=20430
17414
17415         Expose all implemented SVG 1.1 constructors.
17416
17417         Test: svg/custom/global-constructors.js
17418
17419         * bindings/v8/V8Index.cpp: Add missing includes for SVGFontFaceElement & SVGMissingGlyphElement
17420         * bindings/v8/V8Index.h: Add misisng SVGFontFaceElement & SVGMissingGlyphElement declarations.
17421         * page/DOMWindow.idl: Add a bunch of new SVG object ctors.
17422         * svg/SVGAnimatedPathData.idl: Add OmitConstructor flag, as this is a SVG MI class, which is not exposable at the moment.
17423         * svg/SVGAnimatedPoints.idl: Ditto.
17424
17425 2009-12-25  Alexander Pavlov  <apavlov@chromium.org>
17426
17427         Reviewed by Pavel Feldman.
17428
17429         AuditsPanel for Web Inspector (hidden, no preset audits).
17430
17431         https://bugs.webkit.org/show_bug.cgi?id=31665
17432
17433         * English.lproj/localizedStrings.js:
17434         * WebCore.gypi:
17435         * WebCore.vcproj/WebCore.vcproj:
17436         * inspector/front-end/AuditLauncherView.js: Added.
17437         (WebInspector.AuditLauncherView.categorySortFunction):
17438         (WebInspector.AuditLauncherView):
17439         (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
17440         (WebInspector.AuditLauncherView.prototype._setAuditRunning):
17441         (WebInspector.AuditLauncherView.prototype._launchButtonClicked.profilingFinishedCallback):
17442         (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
17443         (WebInspector.AuditLauncherView.prototype._selectAllClicked):
17444         (WebInspector.AuditLauncherView.prototype._categoryClicked):
17445         (WebInspector.AuditLauncherView.prototype._createCategoryElement):
17446         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
17447         (WebInspector.AuditLauncherView.prototype._updateButton):
17448         (WebInspector.AuditLauncherView.prototype.resize):
17449         * inspector/front-end/AuditResultView.js: Added.
17450         (WebInspector.AuditResultView.entrySortFunction):
17451         (WebInspector.AuditResultView):
17452         (WebInspector.AuditCategoryResultPane):
17453         (WebInspector.AuditRuleResultPane):
17454         (WebInspector.AuditRuleResultPane.prototype._decorateRuleResult):
17455         (WebInspector.AuditRuleResultChildSection):
17456         (WebInspector.AuditRuleResultChildSection.prototype.set title):
17457         (WebInspector.AuditRuleResultChildSection.prototype.expand):
17458         * inspector/front-end/AuditsPanel.js: Added.
17459         (WebInspector.AuditsPanel):
17460         (WebInspector.AuditsPanel.prototype.toolbarItemClass.get toolbarItemLabel):
17461         (WebInspector.AuditsPanel.prototype.get statusBarItems):
17462         (WebInspector.AuditsPanel.prototype.get mainResourceLoadTime):
17463         (WebInspector.AuditsPanel.prototype.set mainResourceLoadTime):
17464         (WebInspector.AuditsPanel.prototype.get mainResourceDOMContentTime):
17465         (WebInspector.AuditsPanel.prototype.set mainResourceDOMContentTime):
17466         (WebInspector.AuditsPanel.prototype.get categoriesById):
17467         (WebInspector.AuditsPanel.prototype.get visibleView):
17468         (WebInspector.AuditsPanel.prototype._constructCategories):
17469         (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
17470         (WebInspector.AuditsPanel.prototype._executeAudit):
17471         (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
17472         (WebInspector.AuditsPanel.prototype.initiateAudit.initiateAuditCallback):
17473         (WebInspector.AuditsPanel.prototype.initiateAudit):
17474         (WebInspector.AuditsPanel.prototype._reloadResources):
17475         (WebInspector.AuditsPanel.prototype._didMainResourceLoad):
17476         (WebInspector.AuditsPanel.prototype.showResults):
17477         (WebInspector.AuditsPanel.prototype.showLauncherView):
17478         (WebInspector.AuditsPanel.prototype.showView):
17479         (WebInspector.AuditsPanel.prototype.show):
17480         (WebInspector.AuditsPanel.prototype.attach):
17481         (WebInspector.AuditsPanel.prototype.resize):
17482         (WebInspector.AuditsPanel.prototype.updateMainViewWidth):
17483         (WebInspector.AuditsPanel.prototype._updateLauncherViewControls):
17484         (WebInspector.AuditsPanel.prototype._clearButtonClicked):
17485         (WebInspector.AuditsPanel.prototype._closeVisibleView):
17486         (WebInspector.AuditCategory):
17487         (WebInspector.AuditCategory.prototype.get id):
17488         (WebInspector.AuditCategory.prototype.get displayName):
17489         (WebInspector.AuditCategory.prototype.get ruleCount):
17490         (WebInspector.AuditCategory.prototype.addRule):
17491         (WebInspector.AuditCategory.prototype.runRules):
17492         (WebInspector.AuditRule):
17493         (WebInspector.AuditRule.prototype.get id):
17494         (WebInspector.AuditRule.prototype.get displayName):
17495         (WebInspector.AuditRule.prototype.run):
17496         (WebInspector.AuditRule.prototype.doRun):
17497         (WebInspector.AuditRule.prototype.getValue):
17498         (WebInspector.AuditCategoryResult):
17499         (WebInspector.AuditCategoryResult.prototype.addEntry):
17500         (WebInspector.AuditRuleResult):
17501         (WebInspector.AuditRuleResult.prototype.appendChild):
17502         (WebInspector.AuditRuleResult.prototype.set type):
17503         (WebInspector.AuditRuleResult.prototype.get type):
17504         (WebInspector.AuditsSidebarTreeElement):
17505         (WebInspector.AuditsSidebarTreeElement.prototype.onattach):
17506         (WebInspector.AuditsSidebarTreeElement.prototype.onselect):
17507         (WebInspector.AuditsSidebarTreeElement.prototype.get selectable):
17508         (WebInspector.AuditsSidebarTreeElement.prototype.refresh):
17509         (WebInspector.AuditResultSidebarTreeElement):
17510         (WebInspector.AuditResultSidebarTreeElement.prototype.onselect):
17511         (WebInspector.AuditResultSidebarTreeElement.prototype.get selectable):
17512         * inspector/front-end/WebKit.qrc:
17513         * inspector/front-end/audits.css: Added.
17514         * inspector/front-end/inspector.html:
17515         * inspector/front-end/inspector.js:
17516         (WebInspector._createPanels):
17517         (WebInspector.updateResource):
17518
17519 2009-12-25  Pavel Feldman  <pfeldman@chromium.org>
17520
17521         Reviewed by Timothy Hatcher.
17522
17523         Web Inspector: Implement Edit Inner HTML action.
17524
17525         https://bugs.webkit.org/show_bug.cgi?id=32924
17526
17527         * English.lproj/localizedStrings.js:
17528         * bindings/js/JSInjectedScriptHostCustom.cpp:
17529         (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
17530         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
17531         (WebCore::V8InjectedScriptHost::pushNodePathToFrontendCallback):
17532         * inspector/InjectedScriptHost.cpp:
17533         (WebCore::InjectedScriptHost::pushNodePathToFrontend):
17534         * inspector/InjectedScriptHost.h:
17535         * inspector/InjectedScriptHost.idl:
17536         * inspector/InspectorDOMAgent.h:
17537         * inspector/front-end/ElementsPanel.js:
17538         (WebInspector.ElementsPanel.prototype.show):
17539         (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon):
17540         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
17541         * inspector/front-end/ElementsTreeOutline.js:
17542         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
17543         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.commit):
17544         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.dispose):
17545         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
17546         ():
17547         * inspector/front-end/InjectedScript.js:
17548         (InjectedScript.getNodePropertyValue):
17549         (InjectedScript.setOuterHTML):
17550         (InjectedScript.performSearch.addNodesToResults):
17551         (InjectedScript._inspectObject):
17552         (InjectedScript._copy):
17553         (InjectedScript.pushNodeToFrontend):
17554         * inspector/front-end/InjectedScriptAccess.js:
17555         * inspector/front-end/InspectorFrontendHostStub.js:
17556         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
17557         (.WebInspector.InspectorFrontendHostStub.prototype.windowUnloading):
17558         * inspector/front-end/inspector.css:
17559         * inspector/front-end/inspector.js:
17560         (WebInspector.startEditing.keyDownEventListener):
17561         (WebInspector.startEditing):
17562
17563 2009-12-24  Dan Bernstein  <mitz@apple.com>
17564
17565         Reviewed by Timothy Hatcher.
17566
17567         Web Inspector: Console should force long URLs to wrap
17568         https://bugs.webkit.org/show_bug.cgi?id=32927
17569
17570         * inspector/front-end/inspector.css: Added "word-wrap: break-word;" to
17571         the #console-messages rule.
17572
17573 2009-12-24  Shinichiro Hamaji  <hamaji@chromium.org>
17574
17575         Unreviewed Chromium test fix by reverting r52536.
17576
17577         Do not a new Database pointer to any structure until its version has been verified
17578         https://bugs.webkit.org/show_bug.cgi?id=32913
17579
17580         * storage/Database.cpp:
17581         (WebCore::Database::openDatabase):
17582         (WebCore::Database::Database):
17583         (WebCore::Database::performOpenAndVerify):
17584
17585 2009-12-24  Jessie Berlin  <jberlin@webkit.org>
17586
17587         Reviewed by Dan Bernstein.
17588
17589         Fix for WebKit bug 29968 - Selecting text with text-overflow ellipsis
17590         should not show cut off text
17591         https://bugs.webkit.org/show_bug.cgi?id=29968
17592
17593         Also fixes the issue on both Mac OS X and Windows where the highlight
17594         would extend only partway into the ellipsis based on the size of the
17595         characters being truncated.
17596
17597         Test: editing/selection/select-text-overflow-ellipsis.html
17598
17599         * rendering/EllipsisBox.cpp:
17600         (WebCore::EllipsisBox::paint):
17601         When the ellipsis have been selected, paints them with the color for
17602         selected text.
17603         (WebCore::EllipsisBox::selectionRect):
17604         Returns the selection rect for the ellipsis text.
17605         (WebCore::EllipsisBox::paintSelection):
17606         Paints the selection highlight around the ellipsis text.
17607
17608         * rendering/EllipsisBox.h:
17609         (WebCore::EllipsisBox::EllipsisBox):
17610         Default the selection state of the EllipsisBox to SelectionNone.
17611         (WebCore::EllipsisBox::setSelectionState):
17612         Allow the selection state to be explicitly set by the InlineTextBox
17613         that it is associated with, since the selection state depends on the
17614         position of the selection within the truncated text.
17615         (WebCore::EllipsisBox::selectionState):
17616         Return the cached selection state.
17617         
17618         * rendering/InlineTextBox.cpp:
17619         (WebCore::InlineTextBox::selectionState):
17620         If the text is truncated and the selection extends into the truncation
17621         where there are ellipsis, set the selection state on the EllipsisBox.
17622         (WebCore::paintTextWithShadows):
17623         Allow for an upper bound to be specified on the maximum length of the
17624         text to be painted.
17625         (WebCore::InlineTextBox::paint):
17626         Make sure the text that is drawn gets appropriately truncated. This was
17627         not an issue before on Mac OS X because it wasn't necessary to draw the
17628         selected text separately (the selected text had the same color as the
17629         non-selected text).
17630         (WebCore::InlineTextBox::paintSelection):
17631         If the text is being truncated, let whatever is being painted in the
17632         space after the truncated text paint its own highlight. 
17633         
17634         * rendering/InlineTextBox.h:
17635         (WebCore::InlineTextBox::truncation):
17636         Allow RenderText to access the truncation status.
17637         
17638         * rendering/RenderText.cpp:
17639         (WebCore::RenderText::selectionRectForRepaint):
17640         Make sure that any ellipsis box that falls within the selection also
17641         gets repainted.
17642
17643 2009-12-24  Pavel Feldman  <pfeldman@chromium.org>
17644
17645         Reviewed by Timothy Hatcher.
17646
17647         Web Inspector: add Settings.js class that would manage
17648         frontend settings.
17649
17650         This change:
17651         - Splits preferences and settings
17652         - Pushes settings to the frontend on load
17653         - Stores settings on each change
17654         - Stores showInheritedStyles as setting.
17655
17656         https://bugs.webkit.org/show_bug.cgi?id=32832
17657
17658         * WebCore.gypi:
17659         * WebCore.vcproj/WebCore.vcproj:
17660         * inspector/InspectorBackend.cpp:
17661         (WebCore::InspectorBackend::saveFrontendSettings):
17662         * inspector/InspectorBackend.h:
17663         * inspector/InspectorBackend.idl:
17664         * inspector/InspectorController.cpp:
17665         (WebCore::InspectorController::populateScriptObjects):
17666         * inspector/InspectorController.h:
17667         * inspector/InspectorFrontend.cpp:
17668         (WebCore::InspectorFrontend::populateFrontendSettings):
17669         * inspector/InspectorFrontend.h:
17670         * inspector/InspectorFrontendHost.cpp:
17671         * inspector/InspectorFrontendHost.h:
17672         * inspector/InspectorFrontendHost.idl:
17673         * inspector/front-end/EventListenersSidebarPane.js:
17674         (WebInspector.EventListenersSidebarPane.prototype._settingsLoaded):
17675         (WebInspector.EventListenersSidebarPane.prototype):
17676         ():
17677         * inspector/front-end/InspectorBackendStub.js:
17678         (.WebInspector.InspectorBackendStub):
17679         (.WebInspector.InspectorBackendStub.prototype.saveFrontendSettings):
17680         (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup):
17681         * inspector/front-end/InspectorFrontendHostStub.js:
17682         (.WebInspector.InspectorFrontendHostStub):
17683         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
17684         * inspector/front-end/ResourcesPanel.js:
17685         (WebInspector.ResourcesPanel.prototype._createStatusbarButtons):
17686         (WebInspector.ResourcesPanel.prototype._settingsLoaded):
17687         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
17688         (WebInspector.ResourcesPanel.prototype._setLargerResources):
17689         * inspector/front-end/ScriptsPanel.js:
17690         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
17691         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
17692         * inspector/front-end/Settings.js: Added.
17693         (WebInspector.populateFrontendSettings):
17694         (WebInspector.Settings):
17695         (WebInspector.Settings.prototype._load):
17696         (WebInspector.Settings.prototype._installSetting):
17697         (WebInspector.Settings.prototype._get):
17698         (WebInspector.Settings.prototype._set):
17699         * inspector/front-end/StylesSidebarPane.js:
17700         (WebInspector.StylesSidebarPane.prototype._settingsLoaded):
17701         (WebInspector.StylesSidebarPane.prototype.update):
17702         (WebInspector.StylesSidebarPane.prototype._changeSetting):
17703         (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
17704         (WebInspector.StylePropertiesSection.showInheritedToggleFunction):
17705         (WebInspector.StylePropertiesSection):
17706         * inspector/front-end/WatchExpressionsSidebarPane.js:
17707         (WebInspector.WatchExpressionsSidebarPane):
17708         (WebInspector.WatchExpressionsSidebarPane.prototype._settingsLoaded):
17709         (WebInspector.WatchExpressionsSidebarPane.prototype.refreshExpressions):
17710         (WebInspector.WatchExpressionsSection):
17711         (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
17712         * inspector/front-end/WebKit.qrc:
17713         * inspector/front-end/inspector.html:
17714         * inspector/front-end/inspector.js:
17715         (WebInspector.loaded):
17716
17717 2009-12-23  Pavel Feldman  <pfeldman@chromium.org>
17718
17719         Reviewed by Timothy Hatcher.
17720
17721         Web Inspector: [REGRESSION] console's clear command does not work.
17722
17723         https://bugs.webkit.org/show_bug.cgi?id=32897
17724
17725         Test: inspector/console-clear.html
17726
17727         * inspector/InjectedScriptHost.cpp:
17728         (WebCore::InjectedScriptHost::clearConsoleMessages):
17729         * inspector/InjectedScriptHost.h:
17730         * inspector/InjectedScriptHost.idl:
17731         * inspector/InspectorBackend.cpp:
17732         * inspector/InspectorBackend.h:
17733         * inspector/InspectorBackend.idl:
17734         * inspector/InspectorController.cpp:
17735         (WebCore::InspectorController::clearConsoleMessages):
17736         (WebCore::InspectorController::didCommitLoad):
17737         * inspector/InspectorController.h:
17738         * inspector/front-end/ConsoleView.js:
17739         (WebInspector.ConsoleView):
17740         (WebInspector.ConsoleView.prototype.requestClearConsoleMessages):
17741         (WebInspector.ConsoleView.prototype.clearConsoleMessages):
17742         (WebInspector.ConsoleView.prototype._clearButtonClicked):
17743         * inspector/front-end/InjectedScript.js:
17744         (InjectedScript.clearConsoleMessages):
17745         (InjectedScript._ensureCommandLineAPIInstalled):
17746         * inspector/front-end/InjectedScriptAccess.js:
17747         * inspector/front-end/inspector.js:
17748         (WebInspector.clearConsoleMessages):
17749         (WebInspector.reset):
17750
17751 2009-12-23  Pavel Feldman  <pfeldman@chromium.org>
17752
17753         Reviewed by Timothy Hatcher.
17754
17755         Web Inspector: Console dumps strings in escaped form.
17756
17757         https://bugs.webkit.org/show_bug.cgi?id=32488
17758
17759         * inspector/front-end/ConsoleView.js:
17760         (WebInspector.ConsoleMessage.prototype._formatIndividualValue):
17761
17762 2009-12-23  Alexey Proskuryakov  <ap@apple.com>
17763
17764         Reviewed by Darin Adler.
17765
17766         https://bugs.webkit.org/show_bug.cgi?id=32905
17767         With Pinyin Simplified IM, a wrong character is deleted from google.com suggestion
17768
17769         Test: platform/mac/editing/input/selection-change-closes-typing.html
17770
17771         * editing/Editor.cpp: (WebCore::Editor::confirmComposition): If this function wasn't allowed
17772         to change selection, it needs to close the current typing command - otherwise, its idea of
17773         selection would be used for future typing.
17774
17775 2009-12-23  Yuta Kitamura  <yutak@chromium.org>
17776
17777         Reviewed by Eric Seidel.
17778
17779         PlatformContextSkia::beginLayerClippedToImage() needs to clip outside of the image.
17780         
17781         This method should limit the current painting window to the bounds of the given
17782         image, but it did not. Due to this bug, unnecessary contents were rendered in
17783         some (limited) situations.
17784
17785         [Skia] PlatformContextSkia::beginLayerClippedToImage does not clip outside of the image
17786         https://bugs.webkit.org/show_bug.cgi?id=32817
17787         
17788         No new tests, because this is a fix of an existing test which is currently failing in
17789         Chromium.
17790
17791         * platform/graphics/skia/PlatformContextSkia.cpp:
17792         (PlatformContextSkia::beginLayerClippedToImage): Add clipRect() call.
17793
17794 2009-12-23  Nikolas Zimmermann  <nzimmermann@rim.com>
17795
17796         Rubber-stamped by Eric Seidel.
17797
17798         Remove all references to "GenerateConstructor", as this is the default behaviour now.
17799
17800         * css/CSSCharsetRule.idl:
17801         * css/CSSFontFaceRule.idl:
17802         * css/CSSImportRule.idl:
17803         * css/CSSMediaRule.idl:
17804         * css/CSSPageRule.idl:
17805         * css/CSSPrimitiveValue.idl:
17806         * css/CSSRule.idl:
17807         * css/CSSRuleList.idl:
17808         * css/CSSStyleDeclaration.idl:
17809         * css/CSSStyleRule.idl:
17810         * css/CSSStyleSheet.idl:
17811         * css/CSSValue.idl:
17812         * css/CSSValueList.idl:
17813         * css/CSSVariablesDeclaration.idl:
17814         * css/CSSVariablesRule.idl:
17815         * css/Counter.idl:
17816         * css/Media.idl:
17817         * css/MediaList.idl:
17818         * css/RGBColor.idl:
17819         * css/Rect.idl:
17820         * css/StyleSheet.idl:
17821         * css/StyleSheetList.idl:
17822         * css/WebKitCSSKeyframeRule.idl:
17823         * css/WebKitCSSKeyframesRule.idl:
17824         * css/WebKitCSSTransformValue.idl:
17825         * dom/Attr.idl:
17826         * dom/BeforeLoadEvent.idl:
17827         * dom/CDATASection.idl:
17828         * dom/CharacterData.idl:
17829         * dom/ClientRect.idl:
17830         * dom/ClientRectList.idl:
17831         * dom/Clipboard.idl:
17832         * dom/Comment.idl:
17833         * dom/CompositionEvent.idl:
17834         * dom/DOMCoreException.idl:
17835         * dom/DOMImplementation.idl:
17836         * dom/Document.idl:
17837         * dom/DocumentFragment.idl:
17838         * dom/DocumentType.idl:
17839         * dom/Element.idl:
17840         * dom/Entity.idl:
17841         * dom/EntityReference.idl:
17842         * dom/ErrorEvent.idl:
17843         * dom/Event.idl:
17844         * dom/EventException.idl:
17845         * dom/KeyboardEvent.idl:
17846         * dom/MessageEvent.idl:
17847         * dom/MessagePort.idl:
17848         * dom/MouseEvent.idl:
17849         * dom/MutationEvent.idl:
17850         * dom/NamedNodeMap.idl:
17851         * dom/Node.idl:
17852         * dom/NodeFilter.idl:
17853         * dom/NodeIterator.idl:
17854         * dom/NodeList.idl:
17855         * dom/Notation.idl:
17856         * dom/OverflowEvent.idl:
17857         * dom/PageTransitionEvent.idl:
17858         * dom/PopStateEvent.idl:
17859         * dom/ProcessingInstruction.idl:
17860         * dom/ProgressEvent.idl:
17861         * dom/Range.idl:
17862         * dom/RangeException.idl:
17863         * dom/Text.idl:
17864         * dom/TextEvent.idl:
17865         * dom/Touch.idl:
17866         * dom/TouchEvent.idl:
17867         * dom/TouchList.idl:
17868         * dom/TreeWalker.idl:
17869         * dom/UIEvent.idl:
17870         * dom/WebKitAnimationEvent.idl:
17871         * dom/WebKitTransitionEvent.idl:
17872         * dom/WheelEvent.idl:
17873         * html/DataGridColumn.idl:
17874         * html/DataGridColumnList.idl:
17875         * html/File.idl:
17876         * html/FileList.idl:
17877         * html/HTMLAllCollection.idl:
17878         * html/HTMLAnchorElement.idl:
17879         * html/HTMLAppletElement.idl:
17880         * html/HTMLAreaElement.idl:
17881         * html/HTMLAudioElement.idl:
17882         * html/HTMLBRElement.idl:
17883         * html/HTMLBaseElement.idl:
17884         * html/HTMLBaseFontElement.idl:
17885         * html/HTMLBlockquoteElement.idl:
17886         * html/HTMLBodyElement.idl:
17887         * html/HTMLButtonElement.idl:
17888         * html/HTMLCanvasElement.idl:
17889         * html/HTMLCollection.idl:
17890         * html/HTMLDListElement.idl:
17891         * html/HTMLDataGridCellElement.idl:
17892         * html/HTMLDataGridColElement.idl:
17893         * html/HTMLDataGridElement.idl:
17894         * html/HTMLDataGridRowElement.idl:
17895         * html/HTMLDataListElement.idl:
17896         * html/HTMLDirectoryElement.idl:
17897         * html/HTMLDivElement.idl:
17898         * html/HTMLDocument.idl:
17899         * html/HTMLElement.idl:
17900         * html/HTMLEmbedElement.idl:
17901         * html/HTMLFieldSetElement.idl:
17902         * html/HTMLFontElement.idl:
17903         * html/HTMLFormElement.idl:
17904         * html/HTMLFrameElement.idl:
17905         * html/HTMLFrameSetElement.idl:
17906         * html/HTMLHRElement.idl:
17907         * html/HTMLHeadElement.idl:
17908         * html/HTMLHeadingElement.idl:
17909         * html/HTMLHtmlElement.idl:
17910         * html/HTMLIFrameElement.idl:
17911         * html/HTMLImageElement.idl:
17912         * html/HTMLInputElement.idl:
17913         * html/HTMLIsIndexElement.idl:
17914         * html/HTMLLIElement.idl:
17915         * html/HTMLLabelElement.idl:
17916         * html/HTMLLegendElement.idl:
17917         * html/HTMLLinkElement.idl:
17918         * html/HTMLMapElement.idl:
17919         * html/HTMLMarqueeElement.idl:
17920         * html/HTMLMediaElement.idl:
17921         * html/HTMLMenuElement.idl:
17922         * html/HTMLMetaElement.idl:
17923         * html/HTMLModElement.idl:
17924         * html/HTMLOListElement.idl:
17925         * html/HTMLObjectElement.idl:
17926         * html/HTMLOptGroupElement.idl:
17927         * html/HTMLOptionElement.idl:
17928         * html/HTMLParagraphElement.idl:
17929         * html/HTMLParamElement.idl:
17930         * html/HTMLPreElement.idl:
17931         * html/HTMLQuoteElement.idl:
17932         * html/HTMLScriptElement.idl:
17933         * html/HTMLSelectElement.idl:
17934         * html/HTMLSourceElement.idl:
17935         * html/HTMLStyleElement.idl:
17936         * html/HTMLTableCaptionElement.idl:
17937         * html/HTMLTableCellElement.idl:
17938         * html/HTMLTableColElement.idl:
17939         * html/HTMLTableElement.idl:
17940         * html/HTMLTableRowElement.idl:
17941         * html/HTMLTableSectionElement.idl:
17942         * html/HTMLTextAreaElement.idl:
17943         * html/HTMLTitleElement.idl:
17944         * html/HTMLUListElement.idl:
17945         * html/HTMLVideoElement.idl:
17946         * html/ImageData.idl:
17947         * html/MediaError.idl:
17948         * html/TextMetrics.idl:
17949         * html/canvas/CanvasNumberArray.idl:
17950         * html/canvas/CanvasRenderingContext.idl:
17951         * html/canvas/CanvasRenderingContext2D.idl:
17952         * html/canvas/WebGLRenderingContext.idl:
17953         * inspector/InjectedScriptHost.idl:
17954         * inspector/InspectorBackend.idl:
17955         * inspector/InspectorFrontendHost.idl:
17956         * page/PositionError.idl:
17957         * plugins/MimeType.idl:
17958         * plugins/MimeTypeArray.idl:
17959         * plugins/Plugin.idl:
17960         * plugins/PluginArray.idl:
17961         * storage/Storage.idl:
17962         * storage/StorageEvent.idl:
17963         * svg/SVGAngle.idl:
17964         * svg/SVGColor.idl:
17965         * svg/SVGComponentTransferFunctionElement.idl:
17966         * svg/SVGException.idl:
17967         * svg/SVGFEBlendElement.idl:
17968         * svg/SVGFEColorMatrixElement.idl:
17969         * svg/SVGFECompositeElement.idl:
17970         * svg/SVGFEDisplacementMapElement.idl:
17971         * svg/SVGFEFloodElement.idl:
17972         * svg/SVGFEMorphologyElement.idl:
17973         * svg/SVGFETurbulenceElement.idl:
17974         * svg/SVGGradientElement.idl:
17975         * svg/SVGLength.idl:
17976         * svg/SVGMarkerElement.idl:
17977         * svg/SVGPaint.idl:
17978         * svg/SVGPathSeg.idl:
17979         * svg/SVGPreserveAspectRatio.idl:
17980         * svg/SVGRenderingIntent.idl:
17981         * svg/SVGTextContentElement.idl:
17982         * svg/SVGTextPathElement.idl:
17983         * svg/SVGTransform.idl:
17984         * svg/SVGUnitTypes.idl:
17985         * svg/SVGZoomAndPan.idl:
17986         * workers/AbstractWorker.idl:
17987         * workers/WorkerLocation.idl:
17988         * xml/DOMParser.idl:
17989         * xml/XMLHttpRequestException.idl:
17990         * xml/XMLHttpRequestProgressEvent.idl:
17991         * xml/XMLHttpRequestUpload.idl:
17992         * xml/XMLSerializer.idl:
17993         * xml/XPathEvaluator.idl:
17994         * xml/XPathException.idl:
17995         * xml/XPathExpression.idl:
17996         * xml/XPathResult.idl:
17997
17998 2009-12-23  Dumitru Daniliuc  <dumi@chromium.org>
17999
18000         Reviewed by Eric Seidel.
18001
18002         A new database should be registered with the Document,
18003         DatabaseTracker and DatabaseThread only after it was successfully
18004         opened and its version was successfully verified.
18005
18006         Fixes a regression introduced by
18007         http://trac.webkit.org/changeset/52530.
18008
18009         LayoutTests/storage/open-database-while-transaction-in-progress.html
18010         should pass again (or rather, it should pass again when run after
18011         open-database-set-empty-version.html).
18012
18013         https://bugs.webkit.org/show_bug.cgi?id=32913
18014
18015         * storage/Database.cpp:
18016         (WebCore::Database::openDatabase):
18017         (WebCore::Database::Database):
18018         (WebCore::Database::performOpenAndVerify):
18019
18020 2009-12-23  David Levin  <levin@chromium.org>
18021
18022         REGRESSION (r52494): Assertion failure in Frame::caretBlinkTimerFired() (selection()->isCaret())
18023         https://bugs.webkit.org/show_bug.cgi?id=32903
18024
18025         No review but ok'ed by Darin Adler. Rolling out r52494 due to above regression.
18026
18027         * editing/SelectionController.cpp:
18028         (WebCore::SelectionController::SelectionController):
18029         (WebCore::SelectionController::setSelection):
18030         * editing/SelectionController.h:
18031         * page/Frame.cpp:
18032         (WebCore::Frame::setCaretVisible):
18033         (WebCore::Frame::selectionLayoutChanged):
18034         * page/FrameView.cpp:
18035         (WebCore::FrameView::needsLayout):
18036
18037 2009-12-23  Nikolas Zimmermann  <nzimmermann@rim.com>
18038
18039         Reviewed by Eric Seidel.
18040
18041         Reverse JS GenerateConstructor logic
18042         https://bugs.webkit.org/show_bug.cgi?id=32910
18043
18044         Make 'GenerateConstructor' the default setting for all classes, defined in IDL files. The flag is now obsolete and
18045         can be removed from all IDL files in a follow-up patch. Add new 'OmitConstructor' flag, that allows to restore the
18046         old default behaviour: do not generate JSFoobarConstructor class.
18047
18048         No change in functionality, despite the fact that we're generating a lot more constructors now, as they have to
18049         be exposed through DOMWindow.idl -- this can be done per affected class in follow-up patches. Especially the SVG
18050         classes have to be exposed, most of them are missing JS constructors so far.
18051
18052         As side effect HTMLOptionsCollection is now correctly exposing its constructor, thus fixing a test in fast/dom/wrapper-classes.html
18053
18054         * bindings/scripts/CodeGeneratorJS.pm:
18055         * css/CSSUnknownRule.idl:
18056         * css/WebKitCSSMatrix.idl:
18057         * dom/EventListener.idl:
18058         * dom/EventTarget.idl:
18059         * dom/MessageChannel.idl:
18060         * html/TimeRanges.idl:
18061         * html/ValidityState.idl:
18062         * html/VoidCallback.idl:
18063         * html/canvas/CanvasGradient.idl:
18064         * html/canvas/CanvasPattern.idl:
18065         * html/canvas/CanvasPixelArray.idl:
18066         * html/canvas/WebGLActiveInfo.idl:
18067         * html/canvas/WebGLArray.idl:
18068         * html/canvas/WebGLArrayBuffer.idl:
18069         * html/canvas/WebGLBuffer.idl:
18070         * html/canvas/WebGLByteArray.idl:
18071         * html/canvas/WebGLFloatArray.idl:
18072         * html/canvas/WebGLFramebuffer.idl:
18073         * html/canvas/WebGLIntArray.idl:
18074         * html/canvas/WebGLProgram.idl:
18075         * html/canvas/WebGLRenderbuffer.idl:
18076         * html/canvas/WebGLShader.idl:
18077         * html/canvas/WebGLShortArray.idl:
18078         * html/canvas/WebGLTexture.idl:
18079         * html/canvas/WebGLUniformLocation.idl:
18080         * html/canvas/WebGLUnsignedByteArray.idl:
18081         * html/canvas/WebGLUnsignedIntArray.idl:
18082         * html/canvas/WebGLUnsignedShortArray.idl:
18083         * inspector/JavaScriptCallFrame.idl:
18084         * loader/appcache/DOMApplicationCache.idl:
18085         * notifications/Notification.idl:
18086         * notifications/NotificationCenter.idl:
18087         * page/AbstractView.idl:
18088         * page/BarInfo.idl:
18089         * page/Console.idl:
18090         * page/Coordinates.idl:
18091         * page/DOMSelection.idl:
18092         * page/DOMWindow.idl:
18093         * page/EventSource.idl:
18094         * page/Geolocation.idl:
18095         * page/Geoposition.idl:
18096         * page/History.idl:
18097         * page/Location.idl:
18098         * page/Navigator.idl:
18099         * page/Screen.idl:
18100         * page/WebKitPoint.idl:
18101         * page/WorkerNavigator.idl:
18102         * storage/Database.idl:
18103         * storage/SQLError.idl:
18104         * storage/SQLResultSet.idl:
18105         * storage/SQLResultSetRowList.idl:
18106         * storage/SQLTransaction.idl:
18107         * websockets/WebSocket.idl:
18108         * workers/DedicatedWorkerContext.idl:
18109         * workers/SharedWorker.idl:
18110         * workers/SharedWorkerContext.idl:
18111         * workers/Worker.idl:
18112         * workers/WorkerContext.idl:
18113         * xml/XMLHttpRequest.idl:
18114         * xml/XPathNSResolver.idl:
18115         * xml/XSLTProcessor.idl:
18116
18117 2009-12-23  Adam Barth  <abarth@webkit.org>
18118
18119         Reviewed by Eric Seidel.
18120
18121         "Refused to execute a JavaScript script" error when embedding SWF with
18122         a URL that is also a query parameter
18123         https://bugs.webkit.org/show_bug.cgi?id=32908
18124
18125         Don't block direct injections into the object src attribute unless
18126         there's an illegal character (like < or ") in the URL.  This change
18127         lets some very unusual vulnerabilities through the filter but removes a
18128         false positive that we've seen several times.
18129
18130         * page/XSSAuditor.cpp:
18131         (WebCore::XSSAuditor::canLoadObject):
18132
18133 2009-12-23  Dumitru Daniliuc  <dumi@chromium.org>
18134
18135         Reviewed by Dmitry Titov.
18136
18137         Remove pointers to a database that failed to open from the
18138         DatabaseTracker and Document.
18139
18140         https://bugs.webkit.org/show_bug.cgi?id=32885
18141
18142         * storage/Database.cpp:
18143         (WebCore::Database::openDatabase):
18144
18145 2009-12-23  Dan Bernstein  <mitz@apple.com>
18146
18147         Reviewed by Darin Adler.
18148
18149         <rdar://problem/7487164> First line of text cannot be selected
18150         https://bugs.webkit.org/show_bug.cgi?id=32749
18151
18152         Test: fast/text/remove-zero-length-run.html
18153
18154         * rendering/RenderText.cpp:
18155         (WebCore::RenderText::positionLineBox): Changed code that assumed that if a box was being
18156             removed, it was the only box in the RenderText. Instead, correctly preserve the list of
18157             text boxes.
18158         (WebCore::RenderText::checkConsistency): Updated for earlier rename.
18159
18160 2009-12-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
18161
18162         Reviewed by Darin Adler.
18163
18164         Fix for newlines turning into missing-gyphs when using SVG fonts
18165
18166         https://bugs.webkit.org/show_bug.cgi?id=32710
18167
18168         Font::drawText() has three code paths:
18169
18170           - drawTextUsingSVGFont()
18171           - drawSimpleText()
18172           - drawComplexText()
18173
18174         The latter two both have logic to replace newlines and tabs, as well
18175         as a few other control characters that are considered spaces, with
18176         spaces, before actually drawing the text. Previously the SVG font
18177         path did not have this kind of logic.
18178
18179         This change introduces two helper functions in Font to do this space
18180         replacement, which are then used for the simple path, the SVG path,
18181         and the Qt implementation of the complex path.
18182
18183         Test: svg/custom/svg-fonts-in-html-linebreaks.html
18184
18185         * platform/graphics/Font.cpp:
18186         (WebCore::Font::normalizeSpaces): Helper function
18187         * platform/graphics/Font.h:
18188         * platform/graphics/FontFastPath.cpp:
18189         (WebCore::Font::glyphDataForCharacter): Use helper
18190         * platform/graphics/qt/FontQt.cpp:
18191         (WebCore::fromRawDataWithoutRef): Rename from "qstring"
18192         (WebCore::Font::drawComplexText): Use helper
18193         (WebCore::Font::floatWidthForComplexText): Use helper
18194         (WebCore::Font::offsetForPositionForComplexText): Use helper
18195         (WebCore::Font::selectionRectForComplexText): Use helper
18196         * platform/text/CharacterNames.h: Add enum for 0x0020
18197         * svg/SVGFont.cpp: Use helper to fix bug
18198         (WebCore::SVGTextRunWalker::walk):
18199
18200 2009-12-23  Kent Tamura  <tkent@chromium.org>
18201
18202         Reviewed by Darin Adler.
18203
18204         HTMLInputElement::valueAsDate getter support.
18205         https://bugs.webkit.org/show_bug.cgi?id=32876
18206
18207         To implement the valueAsDate getter,
18208         - Add a method to calculate milliseconds from 1970-01-01 to ISODateTime.
18209         - Introduce m_type field to ISODateTime.
18210
18211         Tests: fast/forms/input-valueasdate-date.html
18212                fast/forms/input-valueasdate-datetime.html
18213                fast/forms/input-valueasdate-datetimelocal.html
18214                fast/forms/input-valueasdate-month.html
18215                fast/forms/input-valueasdate-time.html
18216                fast/forms/input-valueasdate-week.html
18217
18218         * html/HTMLInputElement.cpp:
18219         (WebCore::HTMLInputElement::valueAsDate):
18220           Implement it with ISODateTime::millisecondsSinceEpoch().
18221         (WebCore::HTMLInputElement::formStringToISODateTime):
18222           Early exit for a null String. This avoids assertion failures in ISODateTime::parse*().
18223         * html/ISODateTime.cpp:
18224         (WebCore::ISODateTime::parseMonth): Sets m_type.
18225         (WebCore::ISODateTime::parseDate): ditto.
18226         (WebCore::ISODateTime::parseWeek): ditto.
18227         (WebCore::ISODateTime::parseTime): ditto.
18228         (WebCore::ISODateTime::parseDateTimeLocal): ditto.
18229         (WebCore::ISODateTime::parseDateTime): ditto.
18230         (WebCore::ISODateTime::millisecondsSinceEpochForTime): Added.
18231         (WebCore::ISODateTime::millisecondsSinceEpoch): Added.
18232         * html/ISODateTime.h:
18233         (WebCore::ISODateTime::ISODateTime):
18234         (WebCore::ISODateTime::invalidMilliseconds):
18235
18236 2009-12-22  Daniel Bates  <dbates@webkit.org>
18237
18238         Reviewed by Eric Seidel.
18239
18240         https://bugs.webkit.org/show_bug.cgi?id=32799
18241
18242         Renames enums in RenderStyleConstants::EListStyleType to conform to
18243         the WebKit Code Style Guidelines.
18244
18245         No functionality was changed. So, no new tests.
18246
18247         * css/CSSPrimitiveValueMappings.h:
18248         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
18249         (WebCore::CSSPrimitiveValue::operator EListStyleType):
18250         * rendering/RenderListItem.cpp:
18251         (WebCore::RenderListItem::styleDidChange):
18252         * rendering/RenderListMarker.cpp:
18253         (WebCore::listMarkerText):
18254         (WebCore::RenderListMarker::paint):
18255         (WebCore::RenderListMarker::calcPrefWidths):
18256         (WebCore::RenderListMarker::updateMargins):
18257         (WebCore::RenderListMarker::getRelativeMarkerRect):
18258         * rendering/style/RenderStyle.h:
18259         (WebCore::InheritedFlags::initialListStyleType):
18260         * rendering/style/RenderStyleConstants.h:
18261         (WebCore::):
18262
18263 2009-12-22  James Su  <suzhe@chromium.org>
18264
18265         Reviewed by Darin Fisher.
18266
18267         [Chromium] Keyboard shortcut in dropdown not working.
18268         https://bugs.webkit.org/show_bug.cgi?id=32008
18269
18270         Consider PlatformKeyboardEvent::Char type event as character type
18271         event on all platforms. It fixes the "type ahead find" feature
18272         of the popup listbox on Linux and Mac platforms.
18273
18274         Merge the case-sensitive type ahead find fix from
18275         WebCore/dom/SelectElement.cpp. See
18276         https://bugs.webkit.org/show_bug.cgi?id=29103
18277
18278         * platform/chromium/PopupMenuChromium.cpp:
18279         (WebCore::isCharacterTypeEvent):
18280
18281 2009-12-22  Carol Szabo  <carol.szabo@nokia.com>
18282
18283         Reviewed by Eric Seidel.
18284
18285         [Qt] The "Search" input type is not rendered correctly when styled.
18286         https://bugs.webkit.org/show_bug.cgi?id=32417
18287
18288         There are no new tests because only pixel tests may be affected by
18289         this change and those changes can only be done on the build bot.
18290
18291         * platform/qt/RenderThemeQt.cpp:
18292         (WebCore::RenderThemeQt::paintSearchField):
18293         Since currently we paint the Search control as a QLineEdit, I have
18294         deferred painting to WebCore, as in the case of the text input so 
18295         that the painting is consistent.
18296
18297 2009-12-22  Yongjun Zhang  <yongjun.zhang@nokia.com>
18298
18299         Reviewed by Kenneth Rohde Christiansen.
18300
18301         https://bugs.webkit.org/show_bug.cgi?id=32121
18302         [Qt] implement ImageDecoderQt::clearFrameBufferCache().
18303        
18304         * platform/graphics/qt/ImageDecoderQt.cpp:
18305         (WebCore::ImageDecoderQt::initializeDecoder):
18306         (WebCore::ImageDecoderQt::setData):
18307         (WebCore::ImageDecoderQt::clearFrameBufferCache):
18308         * platform/graphics/qt/ImageDecoderQt.h:
18309
18310 2009-12-22  Nayan Kumar K  <nayankk@gmail.com>
18311
18312         Reviewed by Eric Seidel.
18313
18314         Fix assert failure with WML pages having 'Refresh' task in
18315         'onenterforward' event.
18316
18317         https://bugs.webkit.org/show_bug.cgi?id=30989
18318
18319         Writing Layout test is not possible. Please refer to the discussion
18320         in bug id #30989. A sample test case is attached in BugZilla.
18321
18322         * wml/WMLCardElement.cpp:
18323         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
18324
18325 2009-12-22  Darin Adler  <darin@apple.com>
18326
18327         Reviewed by Sam Weinig.
18328
18329         ASSERTION FAILED: m_numNodeListCaches
18330         https://bugs.webkit.org/show_bug.cgi?id=19526
18331         <rdar://problem/7431572>
18332
18333         Test: fast/dom/NodeList/adoptNode-node-list-cache.html
18334
18335         * dom/Node.cpp:
18336         (WebCore::Node::setDocument): Call removeNodeListCache on the old
18337         document and addNodeListCache on the new one if moving a node that
18338         has node lists.
18339
18340 2009-12-22  Darin Adler  <darin@apple.com>
18341
18342         First cut at fixing Windows build.
18343
18344         * WebCorePrefix.cpp: Touch it.
18345
18346 2009-12-22  Darin Adler  <darin@apple.com>
18347
18348         Reviewed by Mark Rowe.
18349
18350         Turn off datagrid by default, at least for all platforms Apple ships.
18351         The datagrid implementation isn't ready for general web use yet.
18352
18353         * Configurations/FeatureDefines.xcconfig: Turn off datagrid by default.
18354         * WebCore.vcproj/WebCoreCommon.vsprops: Ditto.
18355         * WebCore.vcproj/build-generated-files.sh: Ditto.
18356         * page/DOMWindow.idl: Sorted things here to touch the file to give
18357         the Windows build a slightly better chance of success.
18358
18359 2009-12-22  Darin Adler  <darin@apple.com>
18360
18361         Rubber stamped by Dan Bernstein.
18362
18363         * page/FrameView.h: Removed incorrect comment.
18364
18365 2009-12-22  Pavel Feldman  <pfeldman@chromium.org>
18366
18367         Reviewed by Timothy Hatcher.
18368
18369         Web Inspector: simplify highlighter definition.
18370
18371         https://bugs.webkit.org/show_bug.cgi?id=32869
18372
18373         * inspector/front-end/CSSSourceSyntaxHighlighter.js:
18374         (WebInspector.CSSSourceSyntaxHighlighter):
18375         * inspector/front-end/JavaScriptSourceSyntaxHighlighter.js:
18376         (WebInspector.JavaScriptSourceSyntaxHighlighter.):
18377         (WebInspector.JavaScriptSourceSyntaxHighlighter):
18378         * inspector/front-end/SourceSyntaxHighlighter.js:
18379         (WebInspector.SourceSyntaxHighlighter.prototype.lex):
18380         * inspector/front-end/utilities.js:
18381         ():
18382
18383 2009-12-21  Darin Adler  <darin@apple.com>
18384
18385         Reviewed by Sam Weinig.
18386
18387         Reentrancy problem with selection in some edge cases.
18388         https://bugs.webkit.org/show_bug.cgi?id=32842
18389         rdar://problem/7449974
18390
18391         Test: fast/forms/selection-layout-reentry-strange-case.html
18392
18393         Move the selection display update process done in the
18394         selectionLayoutChanged function into the layout timer
18395         instead of doing it immediately when selection changes occur.
18396
18397         * editing/SelectionController.cpp:
18398         (WebCore::SelectionController::SelectionController):
18399         Initialize m_needsDisplayUpdate to false.
18400         (WebCore::SelectionController::setSelection): Call
18401         the new setNeedsDisplayUpdate function instead of the old
18402         badly named Frame::selectionLayoutChanged function.
18403         (WebCore::SelectionController::setNeedsDisplayUpdate):
18404         Set m_needsDisplayUpdate. If it is just becoming true, then
18405         call FrameView::scheduleRelayout.
18406
18407         * editing/SelectionController.h: Added setNeedsDisplayUpdate,
18408         needsDisplayUpdate, and m_needsDisplayUpdate.
18409
18410         * page/Frame.cpp:
18411         (WebCore::Frame::setCaretVisible): Call setNeedsDisplayUpdate.
18412         (WebCore::Frame::selectionLayoutChanged): Call
18413         setNeedsDisplayUpdate to set it to false, since this is the
18414         function that performs "selection display update". Later I want
18415         to rename this function.
18416
18417         * page/FrameView.cpp:
18418         (WebCore::FrameView::needsLayout): Add a new clause, since
18419         we need a call to layout if needsDisplayUpdate is true.
18420
18421 2009-12-22  Kwang Yul Seo  <skyul@company100.net>
18422
18423         Reviewed by Darin Adler.
18424
18425         Allocate RemoteFontStream on the heap
18426         https://bugs.webkit.org/show_bug.cgi?id=32850
18427
18428         RemoteFontStream is allocated on the stack, so its memory is freed
18429         immediately when FontCustomPlatformData::createFontCustomPlatformData
18430         returns. 
18431
18432         SkTypeface::CreateFromStream increments the reference count, but it keeps
18433         the pointer to the memory allocated on the stack which is not valid
18434         anymore.
18435
18436         RemoteFontStream is a descendant of SkRefCount and SkRefCount::unref
18437         invokes SkDELETE(this) internally once the reference count reaches zero.
18438         This means that SkRefCount-ed instances must be allocated on the heap.
18439
18440         * platform/graphics/chromium/FontCustomPlatformData.cpp:
18441         (WebCore::createFontCustomPlatformData):
18442
18443 2009-12-22  Kwang Yul Seo  <skyul@company100.net>
18444
18445         Reviewed by Darin Adler.
18446
18447         when condition COMPILER(RVCT) is fulfilled, we are trying to free a pointer to array allocated on the stack
18448         https://bugs.webkit.org/show_bug.cgi?id=32861
18449
18450         Don't free the pointer for COMPILER(RVCT).
18451
18452         * dom/XMLTokenizerLibxml2.cpp:
18453         (WebCore::XMLTokenizer::error):
18454
18455 2009-12-22  Sam Weinig  <sam@webkit.org>
18456
18457         Rubber-stamped by Dan Bernstein.
18458
18459         Remove no longer necessary experimental single view #ifdefs from Widget and
18460         ScrollView.
18461
18462         * page/Chrome.h:
18463         * page/mac/ChromeMac.mm:
18464         * platform/ScrollView.cpp:
18465         (WebCore::ScrollView::wheelEvent):
18466         * platform/Widget.cpp:
18467         * platform/Widget.h:
18468         * platform/mac/ScrollViewMac.mm:
18469         * platform/mac/WidgetMac.mm:
18470
18471 2009-12-21  Pavel Feldman  <pfeldman@chromium.org>
18472
18473         Reviewed by Timothy Hatcher.
18474
18475         Web Inspector: Do not lose original request for non-main resource redirects.
18476
18477         https://bugs.webkit.org/show_bug.cgi?id=32678
18478
18479         * inspector/InspectorResource.cpp:
18480         (WebCore::InspectorResource::appendRedirect):
18481         * inspector/front-end/Resource.js:
18482         (WebInspector.Resource):
18483         * inspector/front-end/inspector.js:
18484         (WebInspector.updateResource):
18485
18486 2009-12-21  Kwang Yul Seo  <skyul@company100.net>
18487
18488         Reviewed by Eric Seidel.
18489
18490         Use ASSERT instead of assert in image-decoders
18491         https://bugs.webkit.org/show_bug.cgi?id=32852
18492
18493         Other decoders use WTF's ASSERT macro.
18494         Follow this convention.
18495
18496         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
18497         (WebCore::JPEGImageReader::decode):
18498         * platform/image-decoders/png/PNGImageDecoder.cpp:
18499         (WebCore::PNGImageDecoder::headerAvailable):
18500
18501 2009-12-21  Kwang Yul Seo  <skyul@company100.net>
18502
18503         Reviewed by Eric Seidel.
18504
18505         Use vsnprintf instead of vasprintf for RVCT.
18506         https://bugs.webkit.org/show_bug.cgi?id=32851
18507
18508         RVCT does not support vasprint, so use vsnprintf instead.
18509
18510         * dom/XMLTokenizerLibxml2.cpp:
18511         (WebCore::XMLTokenizer::error):
18512
18513 2009-12-21  Fumitoshi Ukai  <ukai@chromium.org>
18514
18515         Reviewed by Alexey Proskuryakov.
18516
18517         Invalid url should raise SYNTAX_ERR exception.
18518         https://bugs.webkit.org/show_bug.cgi?id=32700
18519
18520         Check url is valid in WebSocket::connect.
18521         Also log the detailed reason of websocket failures to console.
18522
18523         * websockets/WebSocket.cpp:
18524         (WebCore::encodeProtocolString):
18525         (WebCore::WebSocket::connect):
18526
18527 2009-12-21  Anders Carlsson  <andersca@apple.com>
18528
18529         Reviewed by Sam Weinig.
18530
18531         Make sure that we check for the right thread.
18532
18533         * platform/mac/WebCoreObjCExtras.mm:
18534         (WebCoreObjCScheduleDeallocateOnMainThread):
18535
18536 2009-12-21  Enrica Casucci  <enrica@apple.com>
18537
18538         Reviewed by Maciej Stachowiak.
18539
18540         REGRESSION(4.0.4-ToT): Indent deletes non highlighted text in gmail.
18541         <rdar://problem/7489326>
18542         https://bugs.webkit.org/show_bug.cgi?id=32843
18543         
18544         The fix for 7442387 did not handle the case where the end of paragraph
18545         is not a descendant of the computed outer block.
18546         Updated editing/execCommand/indent-with-style2.html to cover this case too.
18547
18548         * editing/CompositeEditCommand.cpp:
18549         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): 
18550
18551 2009-12-21  Gavin Barraclough  <barraclough@apple.com>
18552
18553         Reviewed by Darin Adler.
18554
18555         https://bugs.webkit.org/show_bug.cgi?id=32831
18556         Replace UString::Rep implementation, following introduction of ropes to JSC.
18557
18558         * ForwardingHeaders/runtime/UStringImpl.h: Added.
18559             - add forwarding header.
18560
18561         * platform/text/StringImpl.cpp:
18562         (WebCore::StringImpl::ustring):
18563             - order of arguments to UString::Rep constructor for shared strings changed.
18564
18565 2009-12-18  Nate Chapin  <japhet@chromium.org>
18566
18567         Reviewed by Adam barth.
18568
18569         Generate V8 bindings non-constructor callback declarations 
18570         in CodeGeneratorV8.pm instead of manually declaring them in
18571         V8CustomBinding.h.
18572
18573         https://bugs.webkit.org/show_bug.cgi?id=32638
18574
18575         * bindings/scripts/CodeGeneratorV8.pm:
18576         * bindings/v8/V8DOMWrapper.cpp:
18577         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
18578         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
18579         * bindings/v8/custom/V8ClipboardCustom.cpp:
18580         * bindings/v8/custom/V8ConsoleCustom.cpp:
18581         * bindings/v8/custom/V8CustomBinding.h:
18582         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
18583         * bindings/v8/custom/V8DOMParserConstructor.cpp:
18584         * bindings/v8/custom/V8DOMWindowCustom.cpp:
18585         * bindings/v8/custom/V8DatabaseCustom.cpp:
18586         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
18587         * bindings/v8/custom/V8DocumentCustom.cpp:
18588         * bindings/v8/custom/V8GeolocationCustom.cpp:
18589         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
18590         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
18591         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
18592         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
18593         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
18594         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
18595         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
18596         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
18597         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
18598         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
18599         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
18600         * bindings/v8/custom/V8HTMLPlugInElementCustom.h: Added.
18601         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
18602         * bindings/v8/custom/V8HistoryCustom.cpp:
18603         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
18604         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
18605         * bindings/v8/custom/V8LocationCustom.cpp:
18606         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
18607         * bindings/v8/custom/V8MessageEventCustom.cpp:
18608         * bindings/v8/custom/V8MessagePortCustom.cpp:
18609         * bindings/v8/custom/V8NodeCustom.cpp:
18610         * bindings/v8/custom/V8NodeFilterCustom.cpp:
18611         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
18612         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
18613         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
18614         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
18615         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
18616         * bindings/v8/custom/V8SVGLengthCustom.cpp:
18617         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
18618         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
18619         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
18620         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
18621         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
18622         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
18623         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
18624         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
18625         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
18626         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
18627         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
18628         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
18629         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
18630         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
18631         * bindings/v8/custom/V8WebSocketCustom.cpp:
18632         * bindings/v8/custom/V8WorkerContextCustom.cpp:
18633         * bindings/v8/custom/V8WorkerCustom.cpp:
18634         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
18635         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
18636         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
18637         * bindings/v8/custom/V8XMLSerializerConstructor.cpp:
18638         * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp:
18639         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
18640
18641 2009-12-21  Nate Chapin  <japhet@chromium.org>
18642
18643         Rubber-stamped by Darin Adler.
18644
18645         Revert r52446 due to crashiness.
18646
18647         https://bugs.webkit.org/show_bug.cgi?id=32839
18648
18649         * loader/DocumentThreadableLoader.cpp:
18650         (WebCore::DocumentThreadableLoader::loadRequest):
18651         * loader/FrameLoader.cpp:
18652         (WebCore::FrameLoader::FrameLoader):
18653         (WebCore::FrameLoader::stopLoading):
18654         (WebCore::FrameLoader::loadURL):
18655         (WebCore::FrameLoader::loadWithDocumentLoader):
18656         (WebCore::FrameLoader::stopAllLoaders):
18657         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
18658         (WebCore::FrameLoader::pageHidden):
18659         * loader/FrameLoader.h:
18660         (WebCore::FrameLoader::suppressOpenerInNewFrame):
18661         * loader/Request.cpp:
18662         (WebCore::Request::Request):
18663         (WebCore::Request::~Request):
18664         * loader/Request.h:
18665         * loader/SubresourceLoader.cpp:
18666         (WebCore::SubresourceLoader::create):
18667         * loader/SubresourceLoader.h:
18668         * loader/loader.cpp:
18669         (WebCore::Loader::load):
18670         (WebCore::Loader::cancelRequests):
18671         (WebCore::Loader::Host::servePendingRequests):
18672         (WebCore::Loader::Host::cancelPendingRequests):
18673         (WebCore::Loader::Host::cancelRequests):
18674
18675 2009-12-19  Kent Tamura  <tkent@chromium.org>
18676
18677         Reviewed by Adam Barth.
18678
18679         Add support for V8 Date binding.
18680         https://bugs.webkit.org/show_bug.cgi?id=32699
18681
18682         This implements the same behavior as the recent change of
18683         CodeGeneratorJS.pm and JSDOMBinding.cpp.
18684
18685         * bindings/scripts/CodeGeneratorV8.pm:
18686           Produce toWebCoreDate() or v8DateOrNull() for Date type.
18687         * bindings/v8/V8Binding.cpp:
18688         (WebCore::toWebCoreDate):
18689           Converts a JavaScript object to a double representing Date.
18690         (WebCore::v8DateOrNull):
18691           Converts a double representing Date to a JavaScript Date object or null.
18692         * bindings/v8/V8Binding.h: Declare toWebCoreDate() and v8DateOrNull().
18693         * html/HTMLInputElement.idl: Delete V8_BINGIN exclusion for valueAsDate.
18694
18695 2009-12-21  Darin Adler  <darin@apple.com>
18696
18697         Reviewed by Mark Rowe.
18698
18699         Renamed m_sel to m_selection. Used do-webcore-rename.
18700
18701         * editing/SelectionController.cpp:
18702         (WebCore::SelectionController::setSelection):
18703         (WebCore::SelectionController::nodeWillBeRemoved):
18704         (WebCore::SelectionController::willBeModified):
18705         (WebCore::SelectionController::directionOfEnclosingBlock):
18706         (WebCore::SelectionController::modifyExtendingRight):
18707         (WebCore::SelectionController::modifyExtendingForward):
18708         (WebCore::SelectionController::modifyMovingRight):
18709         (WebCore::SelectionController::modifyMovingForward):
18710         (WebCore::SelectionController::modifyExtendingLeft):
18711         (WebCore::SelectionController::modifyExtendingBackward):
18712         (WebCore::SelectionController::modifyMovingLeft):
18713         (WebCore::SelectionController::modifyMovingBackward):
18714         (WebCore::SelectionController::modify):
18715         (WebCore::SelectionController::expandUsingGranularity):
18716         (WebCore::SelectionController::xPosForVerticalArrowNavigation):
18717         (WebCore::SelectionController::setBase):
18718         (WebCore::SelectionController::setExtent):
18719         (WebCore::SelectionController::layout):
18720         (WebCore::SelectionController::caretRenderer):
18721         (WebCore::SelectionController::invalidateCaretRect):
18722         (WebCore::SelectionController::paintCaret):
18723         (WebCore::SelectionController::debugRenderer):
18724         (WebCore::SelectionController::contains):
18725         (WebCore::SelectionController::selectAll):
18726         (WebCore::SelectionController::formatForDebugger):
18727         (WebCore::SelectionController::showTreeForThis):
18728         * editing/SelectionController.h:
18729         * editing/gtk/SelectionControllerGtk.cpp:
18730         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
18731         * editing/mac/SelectionControllerMac.mm:
18732         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
18733         Let the script do its thing. Made sure no tests broke.
18734
18735 2009-12-21  Carol Szabo  <carol.szabo@nokia.com>
18736
18737         Reviewed by Darin Adler.
18738
18739         Inconsistent use of counterName and identifier in CSS counter code and loss of information about the counter type.
18740         https://bugs.webkit.org/show_bug.cgi?id=31814
18741
18742         No new tests because there are no functional changes in this patch.
18743
18744         * rendering/CounterNode.cpp:
18745         (WebCore::CounterNode::CounterNode):
18746         (WebCore::CounterNode::computeCountInParent):
18747         (WebCore::showTreeAndMark):
18748         * rendering/RenderCounter.cpp:
18749         (WebCore::planCounter):
18750         (WebCore::findPlaceForCounter):
18751         (WebCore::makeCounterNode):
18752         (WebCore::RenderCounter::originalText):
18753         Changed to use identifier instead of counterName and actsAsReset or hasResetType, as appropriate instead of isReset.
18754         * rendering/CounterNode.h:
18755         (WebCore::CounterNode::actsAsReset):
18756         (WebCore::CounterNode::hasResetType):
18757
18758 2009-12-21  Dirk Schulze  <krit@webkit.org>
18759
18760         Reviewed by Darin Adler and Nikolas Zimmermann.
18761
18762         Speed-up SVG Masking
18763         https://bugs.webkit.org/show_bug.cgi?id=32738
18764
18765         This patch makes SVG Masking faster. The luminance calculaton of the ImageBuffer,
18766         that is created by pixel manipulation, got optimized. The ImageBuffer and it's
18767         luminance is created once now, not on every call of applyMask.
18768         The size of the intermediate ImageBuffer depends on the visible area now and is
18769         clipped by the mask rect.
18770         
18771         The patch doesn't change functionality so no new tests needed.
18772         The new ImageBuffer handling in Mask causes two updates of test results. The pixel
18773         tests and LayoutTests pass, but the checksum doesn't match.
18774
18775         * svg/SVGMaskElement.cpp:
18776         (WebCore::SVGMaskElement::drawMaskerContent):
18777         * svg/graphics/SVGResourceMasker.cpp:
18778         (WebCore::SVGResourceMasker::applyMask):
18779
18780 2009-12-21  Andreas Kling  <andreas.kling@nokia.com>
18781
18782         Reviewed by Darin Adler.
18783
18784         Fix assertion failure when dragging an SVG image.
18785         https://bugs.webkit.org/show_bug.cgi?id=32511
18786
18787         Test: fast/images/drag-svg-as-image.html
18788
18789         * svg/graphics/SVGImage.cpp:
18790         (WebCore::SVGImage::filenameExtension): Return "svg"
18791         * svg/graphics/SVGImage.h:
18792
18793 2009-12-17  Philippe Normand  <pnormand@igalia.com>
18794
18795         Reviewed by Xan Lopez.
18796
18797         [GTK] G_OBJECT() cast is not necessary for signals connection and properties access
18798         https://bugs.webkit.org/show_bug.cgi?id=32661
18799
18800         Removed useless calls to the G_OBJECT() macro and replaced NULL
18801         occurences with a SENTINEL macro.
18802
18803         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
18804         (WebCore::MediaPlayerPrivate::hasVideo):
18805         (WebCore::MediaPlayerPrivate::hasAudio):
18806         (WebCore::MediaPlayerPrivate::setVolume):
18807         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
18808
18809 2009-12-21  Nate Chapin  <japhet@chromium.org>
18810
18811         Reviewed by Darin Adler.
18812
18813         If an image load is started during an unload or beforeunload event, run it
18814         asynchronously (and allow it to outlive its page) so navigation can continue 
18815         while the load completes.
18816
18817         https://bugs.webkit.org/show_bug.cgi?id=30457
18818
18819         Tests: http/tests/navigation/image-load-in-beforeunload-handler.html
18820                http/tests/navigation/image-load-in-unload-handler.html
18821
18822         * loader/DocumentThreadableLoader.cpp:
18823         (WebCore::DocumentThreadableLoader::loadRequest): 
18824         * loader/FrameLoader.cpp: Rename m_unloadEventBeingDispatched to m_isDispatchingUnloadEvent.
18825         (WebCore::FrameLoader::FrameLoader):
18826         (WebCore::FrameLoader::stopLoading):
18827         (WebCore::FrameLoader::loadURL):
18828         (WebCore::FrameLoader::loadWithDocumentLoader):
18829         (WebCore::FrameLoader::stopAllLoaders):
18830         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Set m_isDispatchingBeforeUnloadEvent.
18831         (WebCore::FrameLoader::pageHidden):
18832         * loader/FrameLoader.h:
18833         (WebCore::FrameLoader::isDispatchingUnloadFamilyEvent): Added.
18834         * loader/Request.cpp:
18835         (WebCore::Request::Request): Add OutlivePagePolicy to constructor parameters
18836         * loader/Request.h:
18837         (WebCore::): Add OutlivePagePolicy enum.
18838         (WebCore::Request::shouldOutlivePage): Added.
18839         (WebCore::Request::frame): Added.
18840         * loader/SubresourceLoader.cpp:
18841         (WebCore::SubresourceLoader::create): Change one of the security checks to an outlive page check.
18842         * loader/SubresourceLoader.h:
18843         * loader/loader.cpp:
18844         (WebCore::Loader::load): Add OutlivePagePolicy to Request constructor call,
18845              ensure requests that should outlive page are done asynchronously.
18846         (WebCore::Loader::cancelRequests): Remove ending ASSERT since it will now be hard to predict how
18847              many requests might possibly outlive a cancel in every case.
18848         (WebCore::Loader::Host::servePendingRequests): Use the correct frame in the case of a request outliving its page.
18849         (WebCore::Loader::Host::cancelPendingRequests): Ensure we don't cancel request that should outlive their page.
18850         (WebCore::Loader::Host::cancelRequests): Ensure we don't cancel request that should outlive their page.
18851
18852 2009-12-18  Adam Roben  <aroben@apple.com>
18853
18854         Fix Windows build warnings
18855
18856         * WebCore.vcproj/WebCore.vcproj: Exclude SVG files from the build that
18857         are compiled via SVGAllInOne.cpp.
18858
18859 2009-12-20  Pavel Feldman  <pfeldman@chromium.org>
18860
18861         Reviewed by Timothy Hatcher.
18862
18863         Web Inspector: Can’t copy outer html of selected node.
18864         Also adds "Copy as HTML" context menu item.
18865
18866         https://bugs.webkit.org/show_bug.cgi?id=32802
18867
18868         * English.lproj/localizedStrings.js:
18869         * inspector/front-end/ElementsTreeOutline.js:
18870         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
18871         * inspector/front-end/inspector.js:
18872         (WebInspector.documentCanCopy):
18873
18874 2009-12-20  Pavel Feldman  <pfeldman@chromium.org>
18875
18876         Reviewed by Eric Seidel.
18877
18878         Web Inspector: extract syntax highlighters into separate files.
18879
18880         https://bugs.webkit.org/show_bug.cgi?id=32803
18881
18882         * WebCore.gypi:
18883         * WebCore.vcproj/WebCore.vcproj:
18884         * inspector/front-end/CSSSourceSyntaxHighlighter.js: Added.
18885         (WebInspector.CSSSourceSyntaxHighlighter):
18886         * inspector/front-end/JavaScriptSourceSyntaxHighlighter.js: Added.
18887         (WebInspector.JavaScriptSourceSyntaxHighlighter):
18888         (WebInspector.JavaScriptSourceSyntaxHighlighter.):
18889         * inspector/front-end/SourceFrame.js:
18890         * inspector/front-end/SourceSyntaxHighlighter.js: Added.
18891         (WebInspector.SourceSyntaxHighlighter):
18892         (WebInspector.SourceSyntaxHighlighter.prototype.createSpan):
18893         (WebInspector.SourceSyntaxHighlighter.prototype.process.processChunk):
18894         (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine):
18895         (WebInspector.SourceSyntaxHighlighter.prototype.process):
18896         (WebInspector.SourceSyntaxHighlighter.prototype.lex):
18897         (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken):
18898         (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode):
18899         * inspector/front-end/WebKit.qrc:
18900         * inspector/front-end/inspector.html:
18901
18902 2009-12-18  Julien Chaffraix  <jchaffraix@pleyo.com>
18903
18904         Reviewed by Darin Adler.
18905
18906         defersLoading is disabled in current libcURL.
18907         https://bugs.webkit.org/show_bug.cgi?id=32707
18908
18909         Basically this change reverts r49577 that was totally wrong.
18910         According to curlver.h, LIBCURL_VERSION_NUM is a
18911         "6-digit (24 bits) hexadecimal number".
18912
18913         The check should be against 0x071200 (7.18) as it was originally the case.
18914
18915        * platform/network/curl/ResourceHandleManager.cpp:
18916         (WebCore::ResourceHandleManager::initializeHandle): Use the right check.
18917         * platform/network/curl/ResourceHandleCurl.cpp:
18918         (WebCore::ResourceHandle::setDefersLoading): Ditto. Also removed a print
18919         to use a LOG_ERROR instead.
18920  
18921 2009-12-20  Kent Tamura  <tkent@chromium.org>
18922
18923         Reviewed by Darin Adler.
18924
18925         Add support for JavaScriptCore Date binding.
18926         https://bugs.webkit.org/show_bug.cgi?id=32698
18927
18928         This is needed for HTMLInputElement::valueAsDate and
18929         HTMLTimeElement::valueAsDate.
18930
18931         A Date instance is mapped to a double value in C++.
18932         - If null or undefined is set to a JavaScript property, C++ setter
18933           function receives NaN.
18934         - If a getter C++ function returns NaN or infinity, a JavaScript
18935           property returns null.
18936
18937         Test: fast/forms/input-valueasdate.html
18938
18939         * bindings/js/JSDOMBinding.cpp:
18940         (WebCore::jsDateOrNull): Implement the above.
18941         (WebCore::valueToDate): ditto.
18942         * bindings/js/JSDOMBinding.h: Declare them.
18943         * bindings/scripts/CodeGeneratorJS.pm: Produce jsDateOrNull() or
18944           valueToDate() for Date type.
18945         * html/HTMLInputElement.cpp:
18946         (WebCore::HTMLInputElement::valueAsDate): Temporal implementation.
18947         (WebCore::HTMLInputElement::setValueAsDate): ditto.
18948         * html/HTMLInputElement.h:
18949         * html/HTMLInputElement.idl: Declare valueAsDate.
18950
18951 2009-12-20  Kent Tamura  <tkent@chromium.org>
18952
18953         Reviewed by Darin Adler.
18954
18955         Introduce the followings:
18956           - ::-webkit-inner-spin-button pseudo CSS selector
18957           - ::-webkit-outer-spin-button pseudo CSS selector
18958           - new appearance type: inner-spin-button
18959           - new appearance type: outer-spin-button
18960         They're going to be used for <input type=number> UI.
18961         https://bugs.webkit.org/show_bug.cgi?id=31821
18962
18963         Inner-spin-button will be used for Windows, and outer-spin-button
18964         will be used for Mac. A spin-button will represent a pair of an
18965         increasing button part and a decreasing button part. SpinUpState,
18966         which is defined in ThemeTypes.h, will be used to distinguish
18967         these two parts.
18968
18969         The outer-spin-button implementation will use NSStepperCell.
18970         NSStepperCell represents the pair of the parts and we can't draw them
18971         independently. So a spin-button also represents the pair of the parts.
18972
18973         This change has no tests.  The following changes with tests will cover.
18974
18975         * css/CSSPrimitiveValueMappings.h:
18976         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
18977         * css/CSSSelector.cpp:
18978         (WebCore::CSSSelector::extractPseudoType):
18979         * css/CSSSelector.h:
18980         (WebCore::CSSSelector::):
18981         * css/CSSStyleSelector.cpp:
18982         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
18983         * css/CSSValueKeywords.in:
18984         * css/html.css:
18985         * platform/ThemeTypes.h:
18986         (WebCore::ControlState): Add SpinUpState.
18987         (WebCore::ControlPart): Add InnerSpinButtonPart and OuterSpinButtonPart.
18988         * rendering/RenderTheme.cpp:
18989         (WebCore::RenderTheme::adjustStyle):
18990         (WebCore::RenderTheme::paint):
18991         (WebCore::RenderTheme::adjustInnerSpinButtonStyle): Add an empty implementation.
18992         (WebCore::RenderTheme::adjustOuterSpinButtonStyle): Add an empty implementation.
18993         * rendering/RenderTheme.h:
18994         (WebCore::RenderTheme::paintInnerSpinButton): Add an empty implementation.
18995         (WebCore::RenderTheme::paintOuterSpinButton): Add an empty implementation.
18996         * rendering/style/RenderStyleConstants.h:
18997         (WebCore::PseudoId): Add INNER_SPIN_BUTTON and OUTER_SPIN_BUTTON.
18998
18999 2009-12-20  Nayan Kumar K  <nayankk@gmail.com>
19000
19001         Reviewed by Darin Adler.
19002
19003         Fix for compilation errors in WML module, due to the changeset #52314.
19004         https://bugs.webkit.org/show_bug.cgi?id=32786
19005
19006         No new tests, this is compilation error fix.
19007
19008         * wml/WMLDocument.cpp:
19009         * wml/WMLPageState.cpp:
19010         * wml/WMLPageState.h:
19011
19012 2009-12-20  Dan Bernstein  <mitz@apple.com>
19013
19014         Reviewed by Mark Rowe.
19015
19016         <rdar://problem/7487689> REGRESSION (r52203): Inspector console uses
19017         Monaco on Snow Leopard
19018         https://bugs.webkit.org/show_bug.cgi?id=32775
19019
19020         * inspector/front-end/inspector.css: Use the default monospace family
19021         and size.
19022
19023 2009-12-20  Martin Robinson  <martin.james.robinson@gmail.com>
19024
19025         Reviewed by Xan Lopez.
19026
19027         [GTK] Remove more GTK+ and GLib headers from WebCore
19028         https://bugs.webkit.org/show_bug.cgi?id=32795
19029
19030         Remove most GTK+ and GLib includes from WebCore headers.
19031
19032         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
19033         * platform/gtk/PasteboardHelper.h:
19034         * platform/gtk/RenderThemeGtk.cpp:
19035         * platform/gtk/RenderThemeGtk.h:
19036         * platform/gtk/ScrollbarGtk.cpp:
19037         * platform/gtk/ScrollbarThemeGtk.h:
19038         * platform/gtk/gtk2drawing.c:
19039         * platform/gtk/gtkdrawing.h:
19040
19041 2009-12-20  Kevin Ollivier  <kevino@theolliviers.com>
19042
19043         [wx] build fixes after recent changes.
19044
19045         * bindings/BindingSecurityBase.cpp: Removed V8 header in common code.
19046         * platform/wx/ContextMenuWx.cpp: Added missing header.
19047         * plugins/mac/PluginViewMac.cpp: Added missing header.
19048
19049 2009-12-20  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
19050
19051         Reviewed by Xan Lopez.
19052
19053         Hopefully fix the assertion we are hitting by not forcing updating
19054         the state of scrollbars when setting the adjustments. This was
19055         leading to a premature layout.
19056
19057         fast/dom/open-and-close-by-DOM.html
19058         fast/dom/Window/closure-access-after-navigation-window.html
19059         fast/harness/use-page-cache.html
19060
19061         * platform/gtk/ScrollViewGtk.cpp:
19062         (WebCore::ScrollView::setGtkAdjustments):
19063
19064 2009-12-20  Pavel Feldman  <pfeldman@chromium.org>
19065
19066         Reviewed by Darin Adler.
19067
19068         Web Inspector: Constrain the number of messages the inspector shows.
19069
19070         https://bugs.webkit.org/show_bug.cgi?id=20919
19071
19072         * English.lproj/localizedStrings.js:
19073         * inspector/InspectorController.cpp:
19074         (WebCore::InspectorController::InspectorController):
19075         (WebCore::InspectorController::addConsoleMessage):
19076         (WebCore::InspectorController::clearConsoleMessages):
19077         (WebCore::InspectorController::populateScriptObjects):
19078         * inspector/InspectorController.h:
19079         * inspector/InspectorFrontend.cpp:
19080         (WebCore::InspectorFrontend::updateConsoleMessageExpiredCount):
19081         * inspector/InspectorFrontend.h:
19082         * inspector/front-end/inspector.js:
19083         (WebInspector.updateConsoleMessageExpiredCount):
19084
19085 2009-12-20  Andrei Popescu  <andreip@google.com>
19086
19087         Reviewed by Adam Barth.
19088
19089         [Android] Android needs implementation of setCookies, cookies and cookiesEnabled functions.
19090         https://bugs.webkit.org/show_bug.cgi?id=32559
19091
19092         Add implementation of the cookie functions.
19093         Fix a crash caused by dereferencing a 0 MainResourceLoader pointer
19094         in ResourceHandle::start().
19095
19096         No new tests, this is platform code.
19097
19098         * platform/android/PlatformBridge.h:
19099         * platform/network/android/AuthenticationChallenge.h: Added.
19100         * platform/network/android/CookieJarAndroid.cpp: Added.
19101         (WebCore::setCookies):
19102         (WebCore::cookies):
19103         (WebCore::cookiesEnabled):
19104         * platform/network/android/ResourceHandleAndroid.cpp:
19105         (WebCore::ResourceHandle::start):
19106
19107 2009-12-19  Eric Seidel  <eric@webkit.org>
19108
19109         No review, rolling out r52395.
19110         http://trac.webkit.org/changeset/52395
19111
19112         * svg/SVGMaskElement.cpp:
19113         (WebCore::SVGMaskElement::drawMaskerContent):
19114         * svg/SVGMaskElement.h:
19115         * svg/graphics/SVGResourceMasker.cpp:
19116         (WebCore::SVGResourceMasker::applyMask):
19117         * svg/graphics/SVGResourceMasker.h:
19118
19119 2009-12-19  Adam Barth  <abarth@webkit.org>
19120
19121         No review, rolling out r52399.
19122         http://trac.webkit.org/changeset/52399
19123
19124         * websockets/WebSocket.cpp:
19125         (WebCore::WebSocket::connect):
19126
19127 2009-12-19  Adam Barth  <abarth@webkit.org>
19128
19129         Reviewed by Eric Seidel.
19130
19131         Added a missing "not".
19132
19133         Test: http/tests/security/xss-DENIED-window-open-javascript-url.html
19134
19135         * bindings/v8/custom/V8DOMWindowCustom.cpp:
19136         (WebCore::createWindow):
19137
19138 2009-12-19  Fumitoshi Ukai  <ukai@chromium.org>
19139
19140         Reviewed by Alexey Proskuryakov.
19141
19142         Invalid url should raise SYNTAX_ERR exception.
19143         https://bugs.webkit.org/show_bug.cgi?id=32700
19144
19145         Check url is valid in WebSocket::connect.
19146         Also log the detailed reason of websocket failures to console.
19147
19148         * websockets/WebSocket.cpp:
19149         (WebCore::WebSocket::connect):
19150
19151 2009-12-19  Dan Bernstein  <mitz@apple.com>
19152
19153         Reviewed by Darin Adler.
19154
19155         REGRESSION: Up/down arrow keys do not step numeric CSS property values
19156         https://bugs.webkit.org/show_bug.cgi?id=32776
19157
19158         * inspector/front-end/inspector.js:
19159         (WebInspector.documentKeyDown): Call the focused element’s
19160         handleKeyEvent method.
19161
19162 2009-12-19  Dirk Schulze  <krit@webkit.org>
19163
19164         Reviewed by Nikolas Zimmermann.
19165
19166         Speed-up SVG Masking
19167         https://bugs.webkit.org/show_bug.cgi?id=32738
19168
19169         This patch makes SVG Masking faster. At the moment we create a new ImageBuffer
19170         and copy the complete pixel array. That is rather inefficient. This patch
19171         uses the mask image directly.
19172         It also bounds the direct pixel manipultation to the viewable area to minimize
19173         the calculation of the mask.
19174
19175         No change in functionality. So no new test.
19176
19177         * svg/SVGMaskElement.cpp:
19178         (WebCore::SVGMaskElement::drawMaskerContent):
19179         * svg/SVGMaskElement.h:
19180         * svg/graphics/SVGResourceMasker.cpp:
19181         (WebCore::SVGResourceMasker::applyMask):
19182         * svg/graphics/SVGResourceMasker.h:
19183
19184 2009-12-19  Dirk Schulze  <krit@webkit.org>
19185
19186         Reviewed by Nikolas Zimmermann.
19187
19188         Add tests to check filter, mask, clip, opacity and marker ordering
19189         https://bugs.webkit.org/show_bug.cgi?id=14010
19190
19191         The right ordering for applying effects on objects in SVG is filters,
19192         clipper/masker and opacity. This patch fixes the order of filter and
19193         clipper/masker. Opacity and marker need another test.
19194         This change is according to the SVG Specification:
19195         http://www.w3.org/TR/SVG11/render.html#Elements
19196
19197         Test: svg/filters/filter-clip.svg
19198
19199         * rendering/SVGRenderSupport.cpp:
19200         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
19201
19202 2009-12-19  Evan Martin  <evan@chromium.org>
19203
19204         Reviewed by Gustavo Noronha Silva.
19205
19206         Revert my attempt at making --disable-geolocation work; it is
19207         more complicated than I anticipated.  (It passed on the build bots
19208         because they build with --enable-geolocation.)
19209
19210         * GNUmakefile.am:
19211
19212 2009-12-19  MORITA Hajime  <morrita@gmail.com>
19213
19214         Reviewed by Darin Adler.
19215
19216         WebCore::Range::surroundContents NULL pointer crash.
19217
19218         https://bugs.webkit.org/show_bug.cgi?id=31684
19219
19220         Test: fast/dom/Range/31684.html
19221
19222         * dom/Range.cpp:
19223         (WebCore::Range::surroundContents):
19224         throw exception when parentOfNewParent->parentNode() is NULL.
19225
19226 2009-12-19  Christian Dywan  <christian@twotoasts.de>
19227
19228         Reviewed by Gustavo Noronha Silva.
19229
19230         Don't use an icon for all spelling guess menu items.
19231
19232         * platform/gtk/ContextMenuItemGtk.cpp:
19233         (WebCore::gtkStockIDFromContextMenuAction):
19234
19235 2009-12-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
19236
19237         Unreviewed build fix. Missing \.
19238
19239         * GNUmakefile.am:
19240
19241 2009-12-19  Evan Martin  <evan@chromium.org>
19242
19243         Reviewed by Gustavo Noronha Silva.
19244
19245         Make --disable-geolocation and --disable-svg work, by conditionally
19246         building the relevant files.
19247
19248         * GNUmakefile.am:
19249
19250 2009-12-18  Peter Kasting  <pkasting@google.com>
19251
19252         Reviewed by Simon Fraser.
19253
19254         Add a comment about some confusing code that otherwise would look like
19255         it might be a bug.
19256         https://bugs.webkit.org/show_bug.cgi?id=32534
19257
19258         * rendering/RenderLayer.cpp:
19259         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
19260
19261 2009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>
19262
19263         Not reviewed. Messed up the XCode file, trying to fix.
19264
19265         * WebCore.xcodeproj/project.pbxproj:
19266
19267 2009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>
19268
19269         Not reviewed, fix typos in WebCore.xcodeproj.
19270
19271         * WebCore.xcodeproj/project.pbxproj:
19272
19273 2009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>
19274
19275         Reviewed by Eric Seidel.
19276
19277         SVGAngle / SVGPreserveAspectRatio should be POD types
19278         https://bugs.webkit.org/show_bug.cgi?id=32758
19279
19280         Convert SVGAngle / SVGPreserveAspectRatio to be non-refcounted types, just
19281         like it has been done for SVGMatrix / SVGLength before.
19282
19283         This patch prepares removing the special DOMObjectWithSVGContext hack.
19284         No change in functionality, thus no new tests.
19285
19286         * WebCore.xcodeproj/project.pbxproj: Add SVGNames.h to the 'Copy Generated Headers' phase, and set SVGAngle/SVGPreserveAspectRatio role to 'Private', so WebKit can access it.
19287         * bindings/scripts/CodeGenerator.pm: Recognize SVGAngle / SVGPreserveAspectRatio as new POD-types (similar to SVGLength)
19288         * bindings/scripts/CodeGeneratorJS.pm: Ditto. 
19289         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
19290         * bindings/v8/V8Index.h: Ditto.
19291         * rendering/RenderSVGImage.cpp: All following changes, modify SVGAngle/SVGPreserveAspectRatio access, as they are non-refcounted now.
19292         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
19293         (WebCore::RenderSVGImage::paint):
19294         * rendering/RenderSVGImage.h:
19295         * svg/SVGAngle.h:
19296         * svg/SVGAngle.idl:
19297         * svg/SVGAnimatedTemplate.h:
19298         (WebCore::):
19299         * svg/SVGFEImageElement.cpp:
19300         (WebCore::SVGFEImageElement::SVGFEImageElement):
19301         (WebCore::SVGFEImageElement::parseMappedAttribute):
19302         * svg/SVGFitToViewBox.cpp:
19303         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
19304         (WebCore::SVGFitToViewBox::parseMappedAttribute):
19305         * svg/SVGFitToViewBox.h:
19306         * svg/SVGImageElement.cpp:
19307         (WebCore::SVGImageElement::SVGImageElement):
19308         (WebCore::SVGImageElement::parseMappedAttribute):
19309         * svg/SVGMarkerElement.cpp:
19310         (WebCore::SVGMarkerElement::SVGMarkerElement):
19311         (WebCore::SVGMarkerElement::parseMappedAttribute):
19312         (WebCore::SVGMarkerElement::setOrientToAuto):
19313         (WebCore::SVGMarkerElement::setOrientToAngle):
19314         (WebCore::SVGMarkerElement::canvasResource):
19315         * svg/SVGMarkerElement.h:
19316         * svg/SVGPatternElement.cpp:
19317         (WebCore::SVGPatternElement::SVGPatternElement):
19318         * svg/SVGPreserveAspectRatio.cpp:
19319         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
19320         (WebCore::SVGPreserveAspectRatio::getCTM):
19321         * svg/SVGPreserveAspectRatio.h:
19322         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
19323         * svg/SVGPreserveAspectRatio.idl:
19324         * svg/SVGSVGElement.cpp:
19325         (WebCore::SVGSVGElement::SVGSVGElement):
19326         (WebCore::SVGSVGElement::createSVGAngle):
19327         (WebCore::SVGSVGElement::inheritViewAttributes):
19328         * svg/SVGSVGElement.h:
19329         * svg/SVGSymbolElement.cpp:
19330         (WebCore::SVGSymbolElement::SVGSymbolElement):
19331         * svg/SVGViewElement.cpp:
19332         (WebCore::SVGViewElement::SVGViewElement):
19333         * svg/SVGViewSpec.cpp:
19334         (WebCore::SVGViewSpec::SVGViewSpec):
19335         (WebCore::SVGViewSpec::setPreserveAspectRatioString):
19336         (WebCore::SVGViewSpec::parseViewSpec):
19337
19338 2009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
19339
19340         Chromium build fix, no review.
19341
19342         * storage/chromium/DatabaseTrackerChromium.cpp:
19343
19344 2009-12-18  Brent Fulgham  <bfulgham@webkit.org>
19345
19346         Build fix, no review.
19347
19348         * platform/graphics/win/FontCacheWin.cpp:
19349         (WebCore::FontCache::createFontPlatformData): Correct my typo
19350           on the CG build.
19351
19352 2009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
19353
19354         Reviewed by Eric Seidel.
19355
19356         Make DatabaseTrackerChromium::removeOpenDatabase() send and IPC on
19357         the main thread when a database is being closed.
19358
19359         https://bugs.webkit.org/show_bug.cgi?id=32627
19360
19361         * storage/chromium/DatabaseTrackerChromium.cpp:
19362         (WebCore::removeOpenDatabaseOnMainThread):
19363         (WebCore::DatabaseTracker::removeOpenDatabase):
19364
19365 2009-12-18  Brent Fulgham  <bfulgham@webkit.org>
19366
19367         Build fix, no review.
19368
19369         * page/win/FrameCairoWin.cpp: Add missing include.
19370         * platform/graphics/win/FontCacheWin.cpp:
19371         (WebCore::FontCache::createFontPlatformData): Conditionalize
19372           Safari-only call.
19373
19374 2009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
19375
19376         Reviewed by Dmitry Titov.
19377
19378         Move some code related to database closing from the destructor to
19379         the close() method. This would allow us to do things such as post
19380         tasks to other threads when a database closes, which cannot be
19381         done now, because we cannot increment the ref count to a database
19382         object when we're in its destructor.
19383
19384         https://bugs.webkit.org/show_bug.cgi?id=32626
19385
19386         * storage/Database.cpp:
19387         (WebCore::Database::~Database):
19388         (WebCore::Database::close):
19389
19390 2009-12-18  Jon Honeycutt  <jhoneycutt@apple.com>
19391
19392         REGRESSION(r52233): MSAA: Accessibility role of lists is wrong
19393
19394         https://bugs.webkit.org/show_bug.cgi?id=32736
19395
19396         Reviewed by Adam Roben.
19397
19398         Test: platform/win/accessibility/list-role.html
19399
19400         * accessibility/AccessibilityObject.h:
19401         (WebCore::AccessibilityObject::roleValueForMSAA):
19402         Return roleValue(), rather than m_role, as subclasses may override it.
19403
19404         * accessibility/AccessibilityRenderObject.cpp:
19405         (WebCore::AccessibilityRenderObject::roleValueForMSAA):
19406         Fallback to roleValue(), rather than m_role, as it may be overriden.
19407
19408 2009-12-17  Jon Honeycutt  <jhoneycutt@apple.com>
19409
19410         MSAA: Accessibility role of list items is wrong
19411
19412         https://bugs.webkit.org/show_bug.cgi?id=32688
19413
19414         Reviewed by Adam Roben.
19415
19416         Test: platform/win/accessibility/list-item-role.html
19417
19418         * accessibility/AccessibilityObject.h:
19419         (WebCore::):
19420         Add a ListItemRole to the enum.
19421
19422         * accessibility/AccessibilityRenderObject.cpp:
19423         (WebCore::msaaRoleForRenderer):
19424         Return the role for the RenderObject, or UnknownRole if unknown.
19425         (WebCore::AccessibilityRenderObject::roleValueForMSAA):
19426         Call msaaRoleForRenderer() to get the role. If it is UnknownRole, fall
19427         back to m_role.
19428
19429 2009-12-18  Simon Fraser  <simon.fraser@apple.com>
19430
19431         Reviewed by Darin Adler.
19432
19433         Crash when accessing webkitTransition property after setting webkitTransitionProperty with invalid value.
19434         https://bugs.webkit.org/show_bug.cgi?id=31559
19435         
19436         Fix an array bounds error when accessing the CSS value for a shorthand property that takes
19437         a comma-separated list, after the list for one of the component properties has been set to a different length.
19438
19439         Test: fast/css/shorthand-mismatched-list-crash.html
19440
19441         * css/CSSMutableStyleDeclaration.cpp:
19442         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
19443
19444 2009-12-18  Simon Fraser  <simon.fraser@apple.com>
19445
19446         Reviewed by Mark Rowe.
19447
19448         Remove WebCore.ClientBasedGeolocation.exp from Sources, and remove two IDL files from Resources.
19449
19450         * WebCore.xcodeproj/project.pbxproj:
19451
19452 2009-12-18  Sam Weinig  <sam@webkit.org>
19453
19454         Fix mac Geolocation build.
19455
19456         * DerivedSources.make:
19457         * WebCore.ClientBasedGeolocation.exp: Added.
19458         * WebCore.xcodeproj/project.pbxproj:
19459         * page/Geolocation.h:
19460         * page/GeolocationError.h:
19461         (WebCore::GeolocationError::GeolocationError):
19462         * page/GeolocationPosition.h:
19463
19464 2009-12-18  Brian Weinstein  <bweinstein@apple.com>
19465
19466         Reviewed by Adam Roben.
19467
19468         Fixes <http://webkit.org/b/32613>.
19469         REGRESSION (r52008): Middle-clicking on a linked image starts a pan scroll,
19470         but should follow the link instead.
19471
19472         The node itself isn't the only possible node that can be a link (that was the
19473         original check), any of its ancestors could be links as well, we need to climb
19474         up the tree to see. Created a new function (enclosingAnchorNode), that finds a
19475         node's enclosing anchor element (if it exists), that we can share between RenderLayer
19476         and Node, and also added tests that test pan scrolling behavior in image maps.
19477
19478         Tests: platform/win/fast/events/panScroll-image-no-scroll.html
19479                platform/win/fast/events/panScroll-imageMap-href-no-scroll.html
19480                platform/win/fast/events/panScroll-imageMap-noHref-scroll.html
19481
19482         * dom/Node.cpp:
19483         (WebCore::Node::enclosingAnchorNode):
19484         (WebCore::Node::defaultEventHandler):
19485         * dom/Node.h:
19486         * rendering/RenderLayer.cpp:
19487         (WebCore::RenderLayer::hitTest):
19488
19489 2009-12-18  Benjamin Otte  <otte@gnome.org>
19490
19491         Reviewed by Xan Lopez.
19492
19493         [GTK] RemoveDashboard support. It's useless.
19494
19495         * GNUmakefile.am:
19496
19497 2009-12-18  Christian Dywan  <christian@twotoasts.de>
19498
19499         Reviewed by Xan Lopez.
19500
19501         [GTK] context menu overriding API is very limited
19502         https://bugs.webkit.org/show_bug.cgi?id=27546
19503
19504         Omit SearchWeb from the context menu in the GTK+ port.
19505
19506         * platform/ContextMenu.cpp:
19507         (WebCore::ContextMenu::populate):
19508
19509 2009-12-18  Sam Weinig  <sam@webkit.org>
19510
19511         Reviewed by Anders Carlsson.
19512
19513         Add export the new symbol in WebCoreSystemInterface.
19514
19515         * WebCore.base.exp:
19516         * platform/mac/WebCoreSystemInterface.h:
19517         * platform/mac/WebCoreSystemInterface.mm:
19518
19519 2009-12-18  Sam Weinig  <sam@webkit.org>
19520
19521         Reviewed by Anders Carlsson.
19522
19523         Forward declare NSMutableArray when not compiling for Objective-C.
19524
19525         * platform/mac/WebCoreSystemInterface.h:
19526
19527 2009-12-18  Gavin Barraclough  <barraclough@apple.com>
19528
19529         Reviewed by Sam Weinig.
19530
19531         https://bugs.webkit.org/show_bug.cgi?id=32720
19532         Replace UString addition/append with use of JSC::StringBuilder.
19533
19534         * ForwardingHeaders/runtime/StringBuilder.h: Added.
19535         * bindings/js/ScriptString.h:
19536         (WebCore::ScriptString::operator+=):
19537         * bridge/jni/jni_runtime.cpp:
19538         (appendClassName):
19539         (JavaMethod::signature):
19540         * inspector/InspectorController.cpp:
19541         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
19542         (WebCore::InspectorController::addStartProfilingMessageToConsole):
19543         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
19544
19545 2009-12-18  Kenneth Russell  <kbr@google.com>
19546
19547         Reviewed by Darin Fisher.
19548
19549         Index validation for drawElements examines too many indices
19550         https://bugs.webkit.org/show_bug.cgi?id=32692
19551
19552         Test: fast/canvas/webgl/bug-32692.html
19553
19554         * html/canvas/WebGLRenderingContext.cpp:
19555         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
19556
19557 2009-12-18  Sam Weinig  <sam@webkit.org>
19558
19559         Reviewed by Anders Carlsson.
19560
19561         Update WebKitSystemInterface for <rdar://problem/7237059>.        
19562
19563         * platform/mac/WebCoreSystemInterface.h:
19564         * platform/mac/WebCoreSystemInterface.mm:
19565
19566 2009-12-18  Adam Roben  <aroben@apple.com>
19567
19568         GTK build fix
19569
19570         * plugins/gtk/PluginViewGtk.cpp: Added #include.
19571
19572 2009-12-18  Adam Roben  <aroben@apple.com>
19573
19574         Chromium build fix
19575
19576         * platform/chromium/PopupMenuChromium.cpp: Added #include.
19577
19578 2009-12-18  Adam Roben  <aroben@apple.com>
19579
19580         Chromium build fix
19581
19582         * html/HTMLLinkElement.cpp: Added #include.
19583
19584 2009-12-18  Adam Roben  <aroben@apple.com>
19585
19586         Qt build fix
19587
19588         * platform/qt/RenderThemeQt.cpp:
19589         * plugins/qt/PluginDataQt.cpp:
19590         * plugins/qt/PluginViewQt.cpp:
19591         Added #includes.
19592
19593 2009-12-18  Adam Roben  <aroben@apple.com>
19594
19595         V8 build fix
19596
19597         * bindings/v8/custom/V8DOMWindowCustom.cpp: Added #include.
19598
19599 2009-12-18  Adam Roben  <aroben@apple.com>
19600
19601         GTK (and others?) build fix
19602
19603         * platform/text/StringImpl.h: Added #include.
19604
19605 2009-12-18  Adam Roben  <aroben@apple.com>
19606
19607         Reduce #includes in a few high-use headers
19608
19609         Removed unnecessary #includes in these headers:
19610           - Frame.h
19611           - FrameWin.h
19612           - Node.h
19613           - Page.h
19614           - StringImpl.h
19615
19616         The rest of the patch is all adding #includes to source files that now
19617         require them.
19618
19619         Fixes <http://webkit.org/b/32718>.
19620
19621         Rubber-stamped by Anders Carlsson.
19622
19623         * dom/Node.h:
19624         * page/Frame.h:
19625         * page/Page.h:
19626         * page/win/FrameWin.h:
19627         * platform/text/StringImpl.h:
19628         Removed unnecessary #includes.
19629
19630         * accessibility/win/AXObjectCacheWin.cpp:
19631         * bindings/js/JSDOMWindowBase.cpp:
19632         * bindings/js/JSDOMWindowCustom.cpp:
19633         * dom/Document.cpp:
19634         * dom/InputElement.cpp:
19635         * dom/Node.cpp:
19636         * dom/SelectElement.cpp:
19637         * editing/EditorCommand.cpp:
19638         * html/HTMLFormControlElement.cpp:
19639         * html/HTMLFormElement.cpp:
19640         * html/HTMLMediaElement.cpp:
19641         * html/HTMLParser.cpp:
19642         * html/HTMLTextAreaElement.cpp:
19643         * html/HTMLVideoElement.cpp:
19644         * inspector/InspectorController.cpp:
19645         * loader/FrameLoader.cpp:
19646         * loader/HistoryController.cpp:
19647         * loader/appcache/ApplicationCacheGroup.cpp:
19648         * page/Console.cpp:
19649         * page/EventHandler.cpp:
19650         * page/Frame.cpp:
19651         * page/FrameView.cpp:
19652         * page/Navigator.cpp:
19653         * page/PageGroup.cpp:
19654         * page/Settings.cpp:
19655         * page/mac/EventHandlerMac.mm:
19656         * platform/KURL.h:
19657         * platform/ScrollbarThemeComposite.cpp:
19658         * platform/cf/BinaryPropertyList.cpp:
19659         * platform/graphics/mac/GraphicsLayerCA.h:
19660         * platform/graphics/win/WKCACFLayerRenderer.cpp:
19661         * platform/mac/PopupMenuMac.mm:
19662         * platform/mac/WidgetMac.mm:
19663         * platform/network/cf/DNSCFNet.cpp:
19664         * platform/text/StringImpl.cpp:
19665         * platform/win/FileSystemWin.cpp:
19666         * platform/win/PlatformScreenWin.cpp:
19667         * platform/win/PopupMenuWin.cpp:
19668         * platform/win/WidgetWin.cpp:
19669         * plugins/PluginView.cpp:
19670         * plugins/win/PluginViewWin.cpp:
19671         * rendering/InlineTextBox.cpp:
19672         * rendering/RenderBox.cpp:
19673         * rendering/RenderFileUploadControl.cpp:
19674         * rendering/RenderInline.cpp:
19675         * rendering/RenderLayerCompositor.cpp:
19676         * rendering/RenderObject.cpp:
19677         * rendering/RootInlineBox.cpp:
19678         * storage/DatabaseTracker.cpp:
19679         * storage/DatabaseTracker.h:
19680         * storage/SQLTransactionClient.cpp:
19681         * svg/graphics/SVGImage.cpp:
19682         Added now-needed #includes.
19683
19684 2009-12-18  Shu Chang  <Chang.Shu@nokia.com>
19685
19686         Reviewed by Darin Adler.
19687
19688         Implemented isId as specified by DOM Level 3. See detailed description below.
19689         https://bugs.webkit.org/show_bug.cgi?id=5578
19690
19691         Added isId property and implementation:
19692         Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
19693                fast/dom/Element/attrisid-extra01.html
19694         * dom/Attr.cpp:
19695         (WebCore::Attr::isId):
19696         * dom/Attr.h:
19697         * dom/Attr.idl:
19698
19699         Replaced instances of HTMLNames::idAttr with Element::idAttributeName()
19700         for the reason that id attribute name could be customized to a different
19701         string other than "id". A test case is associated to each code change.
19702         * dom/Document.cpp:
19703         (WebCore::Document::getElementById): Test: fast/dom/Element/id-in-getelement01.html
19704         * dom/Element.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
19705         (WebCore::Element::setAttribute):
19706         (WebCore::Element::setAttributeMap):
19707         (WebCore::Element::insertedIntoDocument):
19708         (WebCore::Element::removedFromDocument):
19709         (WebCore::Element::formatForDebugger):
19710         (WebCore::Element::rareIDAttributeName):
19711         * dom/Element.h: Added function idAttributeName().
19712         (WebCore::Element::idAttributeName):
19713         * dom/ElementRareData.h: Added member variable to store customized id name in ElementRareData.
19714         (WebCore::ElementRareData::ElementRareData):
19715         * dom/NamedAttrMap.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
19716         (WebCore::NamedNodeMap::setNamedItem):
19717         (WebCore::NamedNodeMap::removeNamedItem):
19718         (WebCore::NamedNodeMap::setAttributes):
19719         * dom/Node.cpp: Removed ASSERT as it may not hold any more.
19720         (WebCore::Node::querySelector):
19721         * dom/SelectorNodeList.cpp: Removed ASSERT as it may not hold any more.
19722         (WebCore::createSelectorNodeList):
19723         * dom/StyledElement.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
19724         (WebCore::StyledElement::parseMappedAttribute):
19725         * editing/DeleteButtonController.cpp: Test: fast/dom/Element/id-in-deletebutton.html
19726         (WebCore::DeleteButtonController::createDeletionUI):
19727         * editing/EditorCommand.cpp: Test: fast/dom/Element/id-in-insert-hr.html
19728         (WebCore::executeInsertHorizontalRule):
19729         * html/HTMLAppletElement.cpp: Test: fast/dom/Element/id-in-applet.html
19730         (WebCore::HTMLAppletElement::parseMappedAttribute):
19731         (WebCore::HTMLAppletElement::createRenderer):
19732         * html/HTMLCollection.cpp:
19733         (WebCore::HTMLCollection::checkForNameMatch): Test: fast/forms/select-namedItem.html
19734         (WebCore::HTMLCollection::updateNameCache): Test: fast/dom/collection-namedItem-via-item.html
19735         * html/HTMLDataGridColElement.cpp:
19736         (WebCore::HTMLDataGridColElement::ensureColumn): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
19737         (WebCore::HTMLDataGridColElement::parseMappedAttribute): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom-attributes.html
19738         * html/HTMLElement.cpp:
19739         (WebCore::HTMLElement::parseMappedAttribute):
19740         * html/HTMLFormCollection.cpp: Test: fast/dom/Element/id-in-formcollection.html
19741         (WebCore::HTMLFormCollection::getNamedFormItem):
19742         (WebCore::HTMLFormCollection::nextNamedItem):
19743         (WebCore::HTMLFormCollection::updateNameCache):
19744         * html/HTMLFrameElementBase.cpp: Test: fast/dom/Element/id-in-frame.html
19745         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
19746         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
19747         * html/HTMLImageElement.cpp: Test: fast/dom/Element/id-in-deletebutton.html
19748         (WebCore::HTMLImageElement::parseMappedAttribute):
19749         * html/HTMLMapElement.cpp: Test: fast/dom/Element/id-in-map.html
19750         (WebCore::HTMLMapElement::parseMappedAttribute):
19751         * html/HTMLNameCollection.cpp: Test: fast/dom/Element/id-in-frameset.html
19752         (WebCore::HTMLNameCollection::itemAfter):
19753         * html/HTMLObjectElement.cpp: Test: fast/dom/HTMLDocument/object-by-name-or-id.html
19754         (WebCore::HTMLObjectElement::parseMappedAttribute):
19755         * html/HTMLParamElement.cpp: Test: fast/dom/Element/id-in-param.html
19756         (WebCore::HTMLParamElement::parseMappedAttribute):
19757         * loader/CachedFont.cpp: Test: svg/custom/acid3-test-77.html
19758         (WebCore::CachedFont::getSVGFontById):
19759         * rendering/RenderLayerBacking.cpp:
19760         (WebCore::RenderLayerBacking::createGraphicsLayer): Debug-only code
19761         * rendering/SVGRenderTreeAsText.cpp: Test: svg/text/text-gradient-positioning.svg
19762         (WebCore::writeRenderResources):
19763         * svg/SVGElement.cpp: Test: svg/custom/acid3-test-77.html
19764         (WebCore::SVGElement::insertedIntoDocument):
19765         * svg/SVGStyledElement.cpp: Test: svg/custom/js-update-image-and-display.svg
19766         (WebCore::SVGStyledElement::isKnownAttribute):
19767         * wml/WMLElement.cpp:
19768         (WebCore::WMLElement::parseMappedAttribute):
19769
19770 2009-12-18  Simon Hausmann  <simon.hausmann@nokia.com>
19771
19772         Reviewed by Tor Arne Vestbø.
19773
19774         [Qt] Clean up the qmake build system to distinguish between trunk builds and package builds
19775
19776         https://bugs.webkit.org/show_bug.cgi?id=32716
19777
19778         Introduce standalone_package as config that is set when QTDIR_build is set or when
19779         the directory for the generated files is present.
19780
19781         Renamed uses of QTDIR_build that apply to generic package builds to use standalone_package.
19782         Others remain as they are specific to building inside Qt.
19783
19784         * WebCore.pro:
19785
19786 2009-12-18  Simon Hausmann  <simon.hausmann@nokia.com>
19787
19788         Reviewed by Tor Arne Vestbø.
19789
19790         [Qt] Fix the build on Symbian.
19791
19792         Use QFont::lastRestortFamily() instead of QFont::lastRestortFont(),
19793         which is a missing symbol in Qt 4.6.0 on Symbian.
19794
19795         Functionally they should be equivalent, according to the source.
19796
19797         * platform/graphics/qt/FontCacheQt.cpp:
19798         (WebCore::FontCache::getLastResortFallbackFont):
19799
19800 2009-12-18  Philippe Normand  <pnormand@igalia.com>
19801
19802         Reviewed by Xan Lopez.
19803
19804         [GTK] segfault during controls initialization if not GTK theme is present.
19805         https://bugs.webkit.org/show_bug.cgi?id=32705
19806
19807         Create empty images for the controls if no GTK theme is set.
19808
19809         * platform/graphics/gtk/ImageGtk.cpp:
19810         (WebCore::getThemeIconFileName):
19811         (WebCore::loadImageFromFile):
19812
19813 2009-12-18  Alejandro G. Castro  <alex@igalia.com>
19814
19815         Reviewed by Darin Adler.
19816
19817         REGRESSION (r38898): Using the up arrow in a textarea gets "stuck"
19818         at the beginning.
19819         https://bugs.webkit.org/show_bug.cgi?id=31920
19820
19821         Moving up from a position after the end of the previous lines
19822         should use UPSTREAM affinity to render the caret in the previous
19823         line.
19824
19825         Test: editing/selection/wrapped-line-caret-3.html
19826
19827         * rendering/RenderText.cpp:
19828         (WebCore::RenderText::positionForPoint):
19829
19830 2009-12-17  Eric Seidel  <eric@webkit.org>
19831
19832         Reviewed by Darin Adler.
19833
19834         HTMLInputElement::stepMismatch() uses ambiguous overload of pow()
19835         https://bugs.webkit.org/show_bug.cgi?id=32675
19836
19837         Use the double constant 2.0 instead of static_cast<double>(2).
19838
19839         * html/HTMLInputElement.cpp:
19840         (WebCore::HTMLInputElement::stepMismatch):
19841
19842 2009-12-17  Justin Schuh  <jschuh@chromium.org>
19843
19844         Reviewed by Dan Bernstein.
19845
19846         Bug 32357: SVG test case crashes WebKit (invalid font URL)
19847         https://bugs.webkit.org/show_bug.cgi?id=32357
19848
19849         Added check for NULL return value from DocLoader::requestFont()
19850
19851         * svg/SVGFontFaceUriElement.cpp:
19852         (WebCore::SVGFontFaceUriElement::loadFont):
19853
19854 2009-12-17  Shinichiro Hamaji  <hamaji@chromium.org>
19855
19856         Reviewed by Dan Bernstein.
19857
19858         marquee with display:inline causes crash
19859         https://bugs.webkit.org/show_bug.cgi?id=32374
19860
19861         Test: fast/inline/inline-marquee-crash.html
19862
19863         * html/HTMLMarqueeElement.cpp:
19864         (WebCore::HTMLMarqueeElement::start):
19865         (WebCore::HTMLMarqueeElement::stop):
19866         (WebCore::HTMLMarqueeElement::suspend):
19867         (WebCore::HTMLMarqueeElement::resume):
19868         (WebCore::HTMLMarqueeElement::renderMarquee):
19869         * html/HTMLMarqueeElement.h:
19870         * rendering/RenderLayer.cpp:
19871         (WebCore::RenderLayer::styleChanged):
19872
19873 2009-12-17  Zoltan Horvath  <zoltan@webkit.org>
19874
19875         Reviewed by Darin Adler.
19876
19877         Allow custom memory allocation control for inspector's classes
19878         https://bugs.webkit.org/show_bug.cgi?id=32660                               
19879
19880         Inherits the following classes from Noncopyable because these are
19881         instantiated by 'new' and no need to be copyable:                                           
19882
19883         class name                  - instantiated at:  WebCore/'location'
19884
19885         class JavaScriptDebugServer - inspector/JavaScriptDebugServer.cpp:72
19886         class ConsoleMessage        - inspector/InspectorController.cpp:329 
19887         class InspectorController   - page/Page.cpp:119
19888
19889         * inspector/ConsoleMessage.h:
19890         * inspector/InspectorController.h:
19891         * inspector/JavaScriptDebugServer.h:
19892
19893 2009-12-17  Steve Block  <steveblock@google.com>
19894
19895         Reviewed by Eric Seidel.
19896
19897         Fixes HTMLInputElement::stepMismatch() to avoid ambiguous overload of pow().
19898         https://bugs.webkit.org/show_bug.cgi?id=32675
19899
19900         Build fix only, no new tests.
19901
19902         * html/HTMLInputElement.cpp: Modified.
19903         (WebCore::HTMLInputElement::stepMismatch): Cast first argument of pow to double to force 'double pow(double, int)'
19904
19905 2009-12-17  Marc-Antoine Ruel  <maruel@chromium.org>
19906
19907         Reviewed by Eric Seidel.
19908
19909         Fix link failure on LTCG builds on Windows for chromium port.
19910
19911         Reenable SVGAllInOne.cpp. This required some fixups.
19912
19913         Namely, there was conflicts in constants between HTMLNames and
19914         SVGNames, and conflicts between static functions names.
19915
19916         No new tests as functionality has not changed.
19917
19918         * WebCore.gyp/WebCore.gyp:
19919         * svg/SVGAllInOne.cpp:
19920         * svg/SVGFontFaceElement.cpp:
19921         (WebCore::SVGFontFaceElement::rebuildFontFace):
19922         * svg/SVGGlyphElement.cpp:
19923         (WebCore::SVGGlyphElement::invalidateGlyphCache):
19924         (WebCore::SVGGlyphElement::buildGlyphIdentifier):
19925         * svg/SVGHKernElement.cpp:
19926         (WebCore::SVGHKernElement::insertedIntoDocument):
19927         (WebCore::SVGHKernElement::removedFromDocument):
19928         * svg/SVGStyleElement.cpp:
19929         (WebCore::SVGStyleElement::type):
19930         (WebCore::SVGStyleElement::setType):
19931         (WebCore::SVGStyleElement::media):
19932         (WebCore::SVGStyleElement::setMedia):
19933         (WebCore::SVGStyleElement::title):
19934         (WebCore::SVGStyleElement::setTitle):
19935         (WebCore::SVGStyleElement::parseMappedAttribute):
19936         * svg/SVGStyledElement.cpp:
19937         (WebCore::mapAttributeToCSSProperty):
19938         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
19939         * svg/SVGStyledElement.h:
19940
19941 2009-12-17  Adam Roben  <aroben@apple.com>
19942
19943         Chromium build fix VI
19944
19945         * svg/animation/SMILTimeContainer.h: Added now-needed #include.
19946
19947 2009-12-17  Adam Roben  <aroben@apple.com>
19948
19949         Chromium build fix V
19950
19951         * platform/KURLGoogle.cpp: Added now-needed #include.
19952
19953 2009-12-17  Adam Roben  <aroben@apple.com>
19954
19955         Chromium build fix IV
19956
19957         * loader/CrossOriginPreflightResultCache.h: Added now-needed
19958         #includes.
19959
19960 2009-12-17  Adam Roben  <aroben@apple.com>
19961
19962         Chromium build fix III
19963
19964         * platform/graphics/Font.h: Added now-needed #include.
19965
19966 2009-12-17  Adam Roben  <aroben@apple.com>
19967
19968         Chromium build fix II
19969
19970         * dom/EventTarget.h: Added now-needed #include.
19971
19972 2009-12-17  Zoltan Horvath  <zoltan@webkit.org>
19973
19974         Reviewed by Eric Seidel.
19975
19976         Allow custom memory allocation control for js bindings
19977         https://bugs.webkit.org/show_bug.cgi?id=32655
19978
19979         Inherits the following classes from Noncopyable because these are instantiated 
19980         by 'new' and no need to be copyable:
19981
19982         class name                  - instantiated at:  WebCore/'location'
19983
19984         class ScriptCachedFrameData - history/CachedFrame.cpp:117
19985         class WebCoreJSClientData   - bindings/js/JSDOMWindowBase.cpp:162
19986         class ScheduledAction       - bindings/js/ScheduledAction.cpp:58
19987
19988         * bindings/js/JSDOMBinding.h:
19989         * bindings/js/ScheduledAction.h:
19990         * bindings/js/ScriptCachedFrameData.h:
19991
19992 2009-12-17  Adam Roben  <aroben@apple.com>
19993
19994         Chromium build fix
19995
19996         * dom/QualifiedName.h: Added now-needed #include of HashTraits.h
19997         (which itself #includes HashFunctions.h).
19998
19999 2009-12-17  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
20000
20001         Reviewed by Timothy Hatcher.
20002
20003         Web Inspector: Incorrect Doctype.
20004
20005         REGRESSION(4.0.4-TOT):Web Inspector: Incorrect Doctype
20006         https://bugs.webkit.org/show_bug.cgi?id=32671
20007
20008         * inspector/InspectorDOMAgent.cpp:
20009         (WebCore::InspectorDOMAgent::buildObjectForNode):
20010         * inspector/front-end/DOMAgent.js:
20011         (WebInspector.DOMNode):
20012
20013 2009-12-17  Benjamin Otte  <otte@gnome.org>
20014
20015         Reviewed by Adam Roben.
20016
20017         Don't include all JSC headers everywhere
20018         https://bugs.webkit.org/show_bug.cgi?id=32663
20019
20020         Remove HashMap HashSet and OwnPtr includes from PlatformString.h.
20021         Reduces code size of Gtk build by another 5%.
20022
20023         * platform/text/PlatformString.h:
20024
20025 2009-12-17  Adam Roben  <aroben@apple.com>
20026
20027         Mac/Qt build fixes
20028
20029         * platform/graphics/mac/Canvas3DLayer.mm:
20030         * platform/graphics/mac/GraphicsContext3DMac.cpp:
20031         * platform/qt/Localizations.cpp:
20032         Added missing #includes.
20033
20034 2009-12-17  Benjamin Otte  <otte@gnome.org>
20035
20036         Reviewed by Adam Roben.
20037
20038         Don't include all JSC headers everywhere
20039         https://bugs.webkit.org/show_bug.cgi?id=32663
20040
20041         PlatformString.h included almost all of JSC via runtime/Identifier.h.
20042         This patch gets rid of this include by forward-declaring the required
20043         classes instead.
20044         This reduces the build size of the object files on a Gtk debug build
20045         by 10%. The resulting libwebkit.so gets 5% smaller.
20046
20047         No new tests as it's just a build improvement.
20048
20049         * platform/gtk/LocalizedStringsGtk.cpp:
20050         include math.h here (it used to be pulled by JSC)
20051         * platform/text/PlatformString.h:
20052         * platform/text/String.cpp:
20053
20054 2009-12-17  Evan Martin  <evan@chromium.org>
20055
20056         Reviewed by Xan Lopez.
20057
20058         Always use all WebCore include paths in GtkWebKit.
20059
20060         With this patch, I can disable all optional features and still build.
20061
20062         * GNUmakefile.am:
20063
20064 2009-12-17  Yaar Schnitman  <yaar@chromium.org>
20065
20066         Reviewed by Darin Fisher.
20067
20068         Added WebPageSerializer to WebKit API.
20069
20070         https://bugs.webkit.org/show_bug.cgi?id=31737
20071
20072         * platform/text/StringBuilder.cpp: Added methods to make StringBuilder even more useful for large scale string concatenation.
20073         (WebCore::StringBuilder::clear):
20074         (WebCore::StringBuilder::length):
20075         * platform/text/StringBuilder.h:
20076
20077 2009-12-10  Philippe Normand  <pnormand@igalia.com>
20078
20079         Reviewed by Xan Lopez.
20080
20081         [GTK] Add controls for playing html5 video.
20082         https://bugs.webkit.org/show_bug.cgi?id=26304
20083
20084         Media controls UI, first step. This patch was written by Zan
20085         Dobersek. In addition I fixed the compilation errors and
20086         re-enabled some of the media tests involving the controls UI.
20087
20088         * GNUmakefile.am:
20089         * css/mediaControlsGtk.css: Added.
20090         * platform/graphics/Image.h:
20091         * platform/graphics/gtk/ImageGtk.cpp:
20092         (WebCore::getThemeIconFileName):
20093         (WebCore::loadResourceSharedBuffer):
20094         (WebCore::loadImageFromFile):
20095         (WebCore::Image::loadPlatformResource):
20096         (WebCore::Image::loadPlatformThemeIcon):
20097         * platform/gtk/RenderThemeGtk.cpp:
20098         (WebCore::getMediaElementFromRenderObject):
20099         (WebCore::getIconNameForTextDirection):
20100         (WebCore::RenderThemeGtk::initMediaStyling):
20101         (WebCore::RenderThemeGtk::RenderThemeGtk):
20102         (WebCore::RenderThemeGtk::~RenderThemeGtk):
20103         (WebCore::supportsFocus):
20104         (WebCore::RenderThemeGtk::baselinePosition):
20105         (WebCore::paintMozWidget):
20106         (WebCore::setToggleSize):
20107         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
20108         (WebCore::RenderThemeGtk::gtkContainer):
20109         (WebCore::RenderThemeGtk::platformColorsDidChange):
20110         (WebCore::RenderThemeGtk::extraMediaControlsStyleSheet):
20111         (WebCore::paintMediaButton):
20112         (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
20113         (WebCore::RenderThemeGtk::paintMediaMuteButton):
20114         (WebCore::RenderThemeGtk::paintMediaPlayButton):
20115         (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
20116         (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
20117         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
20118         (WebCore::RenderThemeGtk::paintMediaSliderThumb):
20119         * platform/gtk/RenderThemeGtk.h:
20120
20121 2009-12-17  Yael Aharon  <yael.aharon@nokia.com>
20122
20123         Reviewed by Kenneth Rohde Christiansen.
20124
20125         [Qt] support navigator.onLine and ononline/onoffline events.
20126         https://bugs.webkit.org/show_bug.cgi?id=32555
20127
20128         Hooked up Bearer Management to NetworkStateNotifier. This solution is available 
20129         only if QtMobility's Bearer Management is installed.
20130
20131         * WebCore.pro:
20132         * platform/network/NetworkStateNotifier.h:
20133         * platform/network/qt/NetworkStateNotifierPrivate.h: Added.
20134         * platform/network/qt/NetworkStateNotifierQt.cpp: Added.
20135         (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
20136         (WebCore::NetworkStateNotifierPrivate::onlineStateChanged):
20137         (WebCore::NetworkStateNotifierPrivate::~NetworkStateNotifierPrivate):
20138         (WebCore::NetworkStateNotifier::updateState):
20139         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
20140
20141 2009-12-17  Pavel Feldman  <pfeldman@chromium.org>
20142
20143         Reviewed by Timothy Hatcher.
20144
20145         Web Inspector: Switch to 11px as default for source-code in WebKit.
20146
20147         https://bugs.webkit.org/show_bug.cgi?id=32646
20148
20149         * inspector/front-end/inspector.css:
20150
20151 2009-12-17  Simon Hausmann  <simon.hausmann@nokia.com>
20152
20153         Reviewed by Tor Arne Vestbø.
20154
20155         [Qt] Symbian build fix: Don't include QtXml/qxmlstream.h but omit the prefix, to
20156         make sure we pick up the header file from QtCore. That is where the implementation
20157         is compiled.
20158
20159         * dom/XMLTokenizer.h:
20160
20161 2009-12-17  Martin Robinson  <martin.james.robinson@gmail.com>
20162
20163         Reviewed by Gustavo Noronha Silva.
20164
20165         [GTK] WebKit GTK needs a wrapper for ref counted glib/gobject structs
20166         https://bugs.webkit.org/show_bug.cgi?id=21599
20167
20168         Add GRefPtr support for GTK types to WebCore, as JSC does not link against
20169         GTK+. Also convert PopupMenu::m_poup from a raw pointer to a GRefPtr.
20170
20171         No new tests as functionality has not changed.
20172
20173         * GNUmakefile.am:
20174         * platform/PopupMenu.h:
20175         * platform/gtk/GRefPtrGtk.cpp: Added.
20176         (WTF::refGPtr):
20177         (WTF::derefGPtr):
20178         * platform/gtk/GRefPtrGtk.h: Added.
20179         * platform/gtk/PopupMenuGtk.cpp:
20180         (WebCore::PopupMenu::PopupMenu):
20181         (WebCore::PopupMenu::~PopupMenu):
20182         (WebCore::PopupMenu::show):
20183         (WebCore::PopupMenu::hide):
20184         (WebCore::PopupMenu::menuRemoveItem):
20185
20186 2009-12-17  Mikhail Naganov  <mnaganov@chromium.org>
20187
20188         Reviewed by Pavel Feldman.
20189
20190         Advice links to source code in CPU profiler to open in debugger,
20191         not in resources tab.
20192
20193         Also work around the case when resources are disabled, but scripts are present.
20194
20195         https://bugs.webkit.org/show_bug.cgi?id=32610
20196
20197         * inspector/front-end/Panel.js:
20198         (WebInspector.Panel.prototype.updateMainViewWidth):
20199         (WebInspector.Panel.prototype.canShowSourceLineForURL):
20200         (WebInspector.Panel.prototype.showSourceLineForURL):
20201         * inspector/front-end/ProfileDataGridTree.js:
20202         (WebInspector.ProfileDataGridNode.prototype.createCell):
20203         * inspector/front-end/ResourcesPanel.js:
20204         (WebInspector.ResourcesPanel.prototype.canShowSourceLineForURL):
20205         (WebInspector.ResourcesPanel.prototype.showSourceLineForURL):
20206         * inspector/front-end/ScriptsPanel.js:
20207         (WebInspector.ScriptsPanel.prototype.scriptForURL):
20208         (WebInspector.ScriptsPanel.prototype.canShowSourceLineForURL):
20209         (WebInspector.ScriptsPanel.prototype.showSourceLineForURL):
20210         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
20211         * inspector/front-end/inspector.js:
20212         (WebInspector.documentClick.followLink):
20213         (WebInspector.documentClick):
20214         (WebInspector._choosePanelToShowSourceLineForURL):
20215         (WebInspector.canShowSourceLineForURL):
20216         (WebInspector.showSourceLineForURL):
20217
20218 2009-12-15  Philippe Normand  <pnormand@igalia.com>
20219
20220         Reviewed by Xan Lopez.
20221
20222         [GTK] display FPS stats for video element
20223         https://bugs.webkit.org/show_bug.cgi?id=32560
20224
20225         Display FPS statistics if WEBKIT_DEBUG environment variable
20226         contains the Media log category. This feature requires a very
20227         recent (>= 0.10.18) version of gst-plugins-bad.
20228
20229         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
20230         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
20231         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
20232         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
20233         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
20234
20235 2009-11-11  Philippe Normand  <pnormand@igalia.com>
20236
20237         Reviewed by Gustavo Noronha Silva.
20238
20239         [GStreamer] Should emit {networkState,readyState,volume,time,size,rate,duration}Changed signals
20240         https://bugs.webkit.org/show_bug.cgi?id=30377
20241
20242         Emit volumeChanged and durationChanged upon notification from
20243         GStreamer.
20244
20245         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
20246         (WebCore::mediaPlayerPrivateMessageCallback):
20247         (WebCore::mediaPlayerPrivateVolumeCallback):
20248         (WebCore::notify_volume_idle_cb):
20249         (WebCore::MediaPlayerPrivate::didEnd):
20250         (WebCore::MediaPlayerPrivate::durationChanged):
20251         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
20252         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
20253
20254 2009-12-16  Philippe Normand  <pnormand@igalia.com>
20255
20256         Reviewed by Gustavo Noronha Silva.
20257
20258         [GTK] segfault during volume notification
20259         https://bugs.webkit.org/show_bug.cgi?id=32603
20260
20261         Emit volumeChanged and durationChanged upon notification from
20262         GStreamer. Also don't reset the volume property on playbin, it is
20263         not needed as it is 1.0 by default both on playbin and in the
20264         MediaPlayer.
20265
20266         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
20267         (WebCore::mediaPlayerPrivateMessageCallback):
20268         (WebCore::mediaPlayerPrivateVolumeChangedCallback):
20269         (WebCore::notifyVolumeIdleCallback):
20270         (WebCore::doGstInit):
20271         (WebCore::MediaPlayerPrivate::isAvailable):
20272         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
20273         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
20274         (WebCore::MediaPlayerPrivate::volumeChanged):
20275         (WebCore::MediaPlayerPrivate::didEnd):
20276         (WebCore::MediaPlayerPrivate::durationChanged):
20277         (WebCore::mimeTypeCache):
20278         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
20279         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
20280
20281 2009-12-17  Evan Martin  <evan@chromium.org>
20282
20283         Reviewed by Xan Lopez.
20284
20285         gtk: always use standard include paths, regardless of settings.
20286         WebKit style is to wrap the body of a header in #if ENABLE(FOO),
20287         so they're always safe to include whether the features are enabled or
20288         not.
20289
20290         This fixes building with --disable-database and other flags.
20291
20292         * GNUmakefile.am:
20293
20294 2009-12-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
20295
20296         Unreviewed. Build fixes for make distcheck.
20297
20298         * GNUmakefile.am:
20299
20300 2009-12-17  Philippe Normand  <pnormand@igalia.com>
20301
20302         Rubber-stamped by Gustavo Noronha Silva.
20303
20304         Trivial WebKit coding style fix.
20305
20306         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
20307         (WebCore::MediaPlayerPrivate::paint):
20308
20309 2009-12-15 MORITA Hajime <morrita@gmail.com>
20310
20311         Reviewed by Eric Seidel.
20312
20313         Bug 28306: double-clicking a word inside <b> beside newline select two words
20314         https://bugs.webkit.org/show_bug.cgi?id=28306
20315         
20316         SimplifiedBackwardsTextIterator missed trailing whitespaces just
20317         before folding line-break, which is used to detect word
20318         boundaries. This fix checks strings on RenderText and expand text
20319         range on SimplifiedBackwardsTextIterator to include trailing
20320         whitespaces if availble.
20321
20322         Test: editing/selection/doubleclick-beside-cr-span.html
20323
20324         * editing/TextIterator.cpp:
20325         (WebCore::collapsedSpaceLength):
20326         (WebCore::maxOffsetIncludingCollapsedSpaces):
20327         (WebCore::SimplifiedBackwardsTextIterator::advance):
20328
20329 2009-12-16  Fumitoshi Ukai  <ukai@chromium.org>
20330
20331         Reviewed by Alexey Proskuryakov.
20332
20333         Fix flakiness in WebSocket handshake console message.
20334         https://bugs.webkit.org/show_bug.cgi?id=32598
20335
20336         In chromium, LayoutTests/websocket/tests/handshake-error.html is
20337         flaky, because it outputs the following console message several times:
20338           CONSOLE MESSAGE: line 0: Unexpected response code:101
20339         Update m_mode in WebSocketHandshake correctly: Once it finds
20340         error in handshake message, set m_mode to Failed and don't try
20341         reading handshake message again.  If handshake message is not yet
20342         fully received, set m_mode to Incomplete, so next didReceiveData()
20343         will try to check handshake message again.
20344
20345         * websockets/WebSocketChannel.cpp:
20346         (WebCore::WebSocketChannel::didReceiveData):
20347         * websockets/WebSocketHandshake.cpp:
20348         (WebCore::WebSocketHandshake::readServerHandshake):
20349
20350 2009-12-16  Jon Honeycutt  <jhoneycutt@apple.com>
20351
20352         MSAA: Accessibility role of text nodes is wrong
20353
20354         https://bugs.webkit.org/show_bug.cgi?id=32631
20355         <rdar://problem/7369084>
20356
20357         Reviewed by Alice Liu.
20358
20359         Test: platform/win/accessibility/text-role.html
20360
20361         * accessibility/AccessibilityObject.h:
20362         (WebCore::):
20363         Add a new role to the enum.
20364         (WebCore::AccessibilityObject::roleValueForMSAA):
20365         Declare a function to return the accessibility role for MSAA; the base
20366         implementation returns the old role value.
20367
20368         * accessibility/AccessibilityRenderObject.cpp:
20369         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
20370         Initialize m_roleForMSAA.
20371         (WebCore::AccessibilityRenderObject::roleValueForMSAA):
20372         If m_roleForMSAA has been set, return it. If the renderer is a
20373         RenderText, set the role to EditableTextRole to match IE and Firefox.
20374         Otherwise, set the role for MSAA to the old role value.
20375
20376         * accessibility/AccessibilityRenderObject.h:
20377         Add a member to hold the role for MSAA, and declare an override of
20378         roleValueForMSAA().
20379
20380 2009-12-16  Eric Seidel  <eric@webkit.org>
20381
20382         No review, rolling out r52206.
20383         http://trac.webkit.org/changeset/52206
20384         https://bugs.webkit.org/show_bug.cgi?id=31187
20385
20386         This broke pixel tests on Mac.  Presumably the code in
20387         ImageCG is wrong here.
20388
20389         * platform/graphics/BitmapImage.h:
20390         * platform/graphics/GeneratedImage.cpp:
20391         (WebCore::GeneratedImage::drawPattern):
20392         * platform/graphics/GeneratedImage.h:
20393         * platform/graphics/Image.cpp:
20394         (WebCore::Image::drawTiled):
20395         * platform/graphics/Image.h:
20396         * platform/graphics/cairo/ImageCairo.cpp:
20397         (WebCore::Image::drawPattern):
20398         * platform/graphics/cg/ImageCG.cpp:
20399         (WebCore::Image::drawPattern):
20400         * platform/graphics/haiku/ImageHaiku.cpp:
20401         (WebCore::Image::drawPattern):
20402         * platform/graphics/qt/ImageQt.cpp:
20403         (WebCore::Image::drawPattern):
20404         * platform/graphics/skia/ImageSkia.cpp:
20405         (WebCore::Image::drawPattern):
20406         * platform/graphics/wince/GraphicsContextWince.cpp:
20407         (WebCore::GraphicsContext::drawBitmapPattern):
20408         * platform/graphics/wince/ImageBufferWince.cpp:
20409         (WebCore::):
20410         (WebCore::BufferedImage::drawPattern):
20411         * platform/graphics/wx/ImageWx.cpp:
20412         (WebCore::BitmapImage::drawPattern):
20413         (WebCore::Image::drawPattern):
20414
20415 2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
20416
20417         Reviewed by David Levin.
20418
20419         https://bugs.webkit.org/show_bug.cgi?id=32637
20420         [V8] Generate most named property getters.
20421
20422         Covered by existing tests.
20423
20424         * bindings/scripts/CodeGeneratorV8.pm: Added generation of SetNamedPropertyHandler call.
20425         * bindings/v8/V8DOMWrapper.cpp:
20426         (WebCore::V8DOMWrapper::getTemplate): Removed now-generated SetNamedPropertyHandler callsites.
20427
20428 2009-12-16  Luiz Agostini  <luiz.agostini@openbossa.org>
20429
20430         Reviewed by Kenneth Rohde Christiansen.
20431
20432         [Qt] Implement combobox delegate for Qt
20433         https://bugs.webkit.org/show_bug.cgi?id=32550
20434
20435         Abstract popup menu factory.
20436
20437         A static method from QtAbstractPopupMenu is used to create its instances. If a factory
20438         has been suplied to class QtAbstractPopupMenu the factory will be used to create the
20439         objects. If not an instance of QtFallbackPopupMenu will be created.
20440
20441         The objective is to make it easy to replace the combobox popup at WebCore layer providing
20442         support to the combobox popup delegation API. Future patches will make it possible to
20443         replace the combobox popup at WebKit layer.
20444
20445         No behavior changes.
20446
20447         * platform/qt/PopupMenuQt.cpp:
20448         (WebCore::PopupMenu::PopupMenu):
20449         * platform/qt/QtAbstractWebPopup.cpp:
20450         (WebCore::QtAbstractWebPopup::setFactory):
20451         (WebCore::QtAbstractWebPopup::create):
20452         * platform/qt/QtAbstractWebPopup.h:
20453         * platform/qt/QtFallbackWebPopup.cpp:
20454
20455 2009-12-16  Mark Rowe  <mrowe@apple.com>
20456
20457         Build fix.  Disable debug variants of WebKit frameworks.
20458
20459         * WebCore.xcodeproj/project.pbxproj:
20460
20461 2009-12-16  Enrica Casucci  <enrica@apple.com>
20462
20463         Reviewed by Eric Seidel.
20464
20465         Right clicking in a table cell creates a selection that extends into the next cell.
20466         <rdar://problem/5565465>
20467         https://bugs.webkit.org/show_bug.cgi?id=32622
20468         
20469         Avoid extending the selection to the next cell if we start from an empty cell.
20470
20471         Test: editing/selection/empty-cell-right-click.html
20472
20473         * editing/TypingCommand.cpp:
20474         (WebCore::TypingCommand::deleteKeyPressed): Replaced the code that check for empty table cell
20475         with a call to the new function.
20476         * editing/VisibleSelection.cpp:
20477         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity): Extends the
20478         selection only if we are not starting from an empty table cell.
20479         * editing/htmlediting.cpp:
20480         (WebCore::isEmptyTableCell): Added a function since this check is performed now in two places.
20481         * editing/htmlediting.h: Added isEmptyTableCell declaration.
20482
20483 2009-12-16  Dirk Schulze  <krit@webkit.org>
20484
20485         Reviewed by Nikolas Zimmermann.
20486
20487         feMerge crahses if feMergeNodes attribute in is empty
20488         https://bugs.webkit.org/show_bug.cgi?id=32489
20489
20490         SVGFEMergeElement only stored pointers to all effects of it's nodes
20491         in a list. But it should store the RefPtr otherwise the effects get
20492         dereferenced and WebKit crashes.
20493         I also made a short clean-up in SVGFilterBuilder. No change in
20494         functionality.
20495
20496         Test: I updated svg/custom/empty-merge.svg to cover this problem.
20497
20498         * svg/SVGFEMergeElement.cpp:
20499         (WebCore::SVGFEMergeElement::build):
20500         * svg/graphics/filters/SVGFEMerge.cpp:
20501         (WebCore::FEMerge::FEMerge):
20502         (WebCore::FEMerge::create):
20503         (WebCore::FEMerge::mergeInputs):
20504         (WebCore::FEMerge::setMergeInputs):
20505         * svg/graphics/filters/SVGFEMerge.h:
20506         * svg/graphics/filters/SVGFilterBuilder.cpp:
20507         (WebCore::SVGFilterBuilder::add):
20508
20509 2009-12-16  Brian Weinstein  <bweinstein@apple.com>
20510
20511         Reviewed by Timothy Hatcher.
20512
20513         Part of <http://webkit.org/b/32568>.
20514         Web Inspector: Context Menus should be used in more places.
20515         
20516         Add a context menu entry in the console to clear the console. This
20517         is only shown when there is no user selection of text, because if
20518         there is selection of the text, then we want to give the user the Copy +
20519         Spell Check context menu that they are used to.
20520
20521         * English.lproj/localizedStrings.js: Added "Clear Console".
20522         * inspector/front-end/ConsoleView.js:
20523         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
20524
20525 2009-12-16  Brian Weinstein  <bweinstein@apple.com>
20526
20527         Reviewed by Pavel Feldman.
20528
20529         Fixes <https://bugs.webkit.org/show_bug.cgi?id=32621>.
20530         Web Inspector: [REGRESSION (52095-52100)] Resources filter disappears when switching 
20531         from / to resources panel.
20532
20533         Changed style in sidebar-resizer-vertical, because if the min-height was 100%, we start
20534         to cover the scope bar.
20535
20536         * inspector/front-end/inspector.css:
20537
20538 2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
20539
20540         Reviewed by Adam Barth.
20541
20542         [V8] Switch all indexers to be generated.
20543         https://bugs.webkit.org/show_bug.cgi?id=32569
20544
20545         Covered by existing tests.
20546
20547         * WebCore.gypi: Remove V8FileListCustom.cpp and V8ClientRecListCustom.cpp,
20548             as they are now generated.
20549         * bindings/v8/V8DOMWrapper.cpp:
20550         (WebCore::V8DOMWrapper::getTemplate): Remove customization of ClientRectList,
20551             FileList, and DataGridColumnList templates.
20552         * bindings/v8/custom/V8ClientRectListCustom.cpp: Removed.
20553         * bindings/v8/custom/V8CustomBinding.h: Remove custom indexer getter decls.
20554         * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Remove indexer getter definition.
20555         * bindings/v8/custom/V8FileListCustom.cpp: Removed.
20556
20557 2009-12-16  anton muhin  <antonm@chromium.org>
20558
20559         Reviewed by Darin Adler.
20560
20561         [dom] make dom/Node.cpp compile if DUMP_NODE_STATISTICS is on
20562         https://bugs.webkit.org/show_bug.cgi?id=32617
20563
20564         * dom/Node.cpp:
20565         (WebCore::Node::dumpStatistics):
20566
20567 2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
20568
20569         Reviewed by Darin Fisher.
20570
20571         [V8] There is no such thing as HTMLSelectElementCollection.
20572         https://bugs.webkit.org/show_bug.cgi?id=32616
20573
20574         Refactoring, covered by existing tests.
20575
20576         * WebCore.gypi: Removed V8HTMLSelectElementCollectionCustom.cpp
20577         * bindings/v8/V8Collection.h: Removed one-off template.
20578         * bindings/v8/V8DOMWrapper.cpp:
20579         (WebCore::V8DOMWrapper::getTemplate): Renamed all references to HTMLSelectElementCollection
20580             to HTMLSelectElement.
20581         * bindings/v8/custom/V8CustomBinding.h: Renamed custom indexer decls.
20582         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: Removed.
20583         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: Moved code as-is from
20584             V8HTMLSelectElementCollectionCustom.cpp
20585
20586 2009-12-16  Dan Winship  <danw@gnome.org>
20587
20588         Reviewed by Gustavo Noronha Silva.
20589
20590         [Gtk] Content-Encoding support
20591
20592         https://bugs.webkit.org/show_bug.cgi?id=25855
20593
20594         * platform/network/soup/ResourceHandleSoup.cpp:
20595         (WebCore::startHttp): Don't force "Accept-Encoding: identity" any
20596         more
20597
20598 2009-12-16  Benjamin Otte  <otte@gnome.org>
20599
20600         Reviewed by Darin Adler.
20601
20602         Get rid of the phase argument to Image::drawPattern.
20603         https://bugs.webkit.org/show_bug.cgi?id=31187
20604
20605         The argument can be expressed equally well as part of the
20606         patternTransform. All backends but the Qt one did exactly that
20607         manually anyway.
20608
20609         * platform/graphics/BitmapImage.h:
20610         * platform/graphics/GeneratedImage.cpp:
20611         (WebCore::GeneratedImage::drawPattern):
20612         * platform/graphics/GeneratedImage.h:
20613         * platform/graphics/Image.cpp:
20614         (WebCore::Image::drawTiled):
20615         * platform/graphics/Image.h:
20616         * platform/graphics/cairo/ImageCairo.cpp:
20617         (WebCore::Image::drawPattern):
20618         * platform/graphics/cg/ImageCG.cpp:
20619         (WebCore::Image::drawPattern):
20620         * platform/graphics/haiku/ImageHaiku.cpp:
20621         (WebCore::Image::drawPattern):
20622         * platform/graphics/qt/ImageQt.cpp:
20623         (WebCore::Image::drawPattern):
20624         * platform/graphics/skia/ImageSkia.cpp:
20625         (WebCore::Image::drawPattern):
20626         * platform/graphics/wince/GraphicsContextWince.cpp:
20627         (WebCore::GraphicsContext::drawBitmapPattern):
20628         * platform/graphics/wince/ImageBufferWince.cpp:
20629         (WebCore::):
20630         (WebCore::BufferedImage::drawPattern):
20631         * platform/graphics/wx/ImageWx.cpp:
20632         (WebCore::BitmapImage::drawPattern):
20633         (WebCore::Image::drawPattern):
20634
20635 2009-12-16  Kenneth Russell  <kbr@google.com>
20636
20637         Reviewed by Darin Fisher.
20638
20639         Performance problems with index validation code for drawElements
20640         https://bugs.webkit.org/show_bug.cgi?id=32466
20641
20642         Added a cache of the maximum index for each element type to
20643         WebGLBuffer, querying it before iterating through the indices in
20644         the client-side copy of the buffer's data. Hoisted checks of the
20645         size of the element array itself into validateElementArraySize to
20646         avoid duplicating code.
20647
20648         The performance improvement has been measured with manual tests.
20649         Existing layout tests cover the index validation functionality
20650         and continue to pass as before.
20651
20652         * html/canvas/WebGLBuffer.cpp:
20653         (WebCore::WebGLBuffer::WebGLBuffer):
20654         (WebCore::WebGLBuffer::associateBufferData):
20655         (WebCore::WebGLBuffer::associateBufferSubData):
20656         (WebCore::WebGLBuffer::getCachedMaxIndex):
20657         (WebCore::WebGLBuffer::setCachedMaxIndex):
20658         (WebCore::WebGLBuffer::clearCachedMaxIndices):
20659         * html/canvas/WebGLBuffer.h:
20660         * html/canvas/WebGLRenderingContext.cpp:
20661         (WebCore::WebGLRenderingContext::validateElementArraySize):
20662         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
20663         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
20664         (WebCore::WebGLRenderingContext::validateRenderingState):
20665         (WebCore::WebGLRenderingContext::drawElements):
20666         * html/canvas/WebGLRenderingContext.h:
20667
20668 2009-12-16  Zelidrag Hornung  <zelidrag@chromium.org>
20669
20670         Reviewed by Darin Adler.
20671
20672         https://bugs.webkit.org/show_bug.cgi?id=32261
20673         Added ability to separate the autocomplete suggestion previewing from
20674         the actual accepting of the suggested value in HTMLInputElement.
20675         This element (it's single line text incarnation) can now
20676         be put in suggestion mode where renderer might display the suggested
20677         value without making it automatically exposed to JavaScript.
20678
20679         No new tests. This new methods are not exposed yet. It's use will be
20680         platform specific. PopupMenu and Chromium specific changes will be
20681         separated based on Darin Adler's comments.
20682
20683         * dom/InputElement.h:
20684         (WebCore::InputElementData::suggestedValue):
20685         (WebCore::InputElementData::setSuggestedValue):
20686         * html/HTMLInputElement.cpp:
20687         (WebCore::HTMLInputElement::suggestedValue):
20688         (WebCore::HTMLInputElement::setSuggestedValue):
20689         (WebCore::HTMLInputElement::setValue):
20690         (WebCore::HTMLInputElement::setValueFromRenderer):
20691         * html/HTMLInputElement.h:
20692         * rendering/RenderTextControlSingleLine.cpp:
20693         (WebCore::RenderTextControlSingleLine::updateFromElement):
20694         * wml/WMLInputElement.cpp:
20695         (WebCore::WMLInputElement::suggestedValue):
20696         * wml/WMLInputElement.h:
20697
20698 2009-12-16  Pavel Feldman  <pfeldman@chromium.org>
20699
20700         Reviewed by Timothy Hatcher.
20701
20702         Web Inspector: Make Elements tree, properties section and resources
20703         view monospace.
20704
20705         https://bugs.webkit.org/show_bug.cgi?id=32609
20706
20707         * inspector/front-end/ElementsPanel.js:
20708         * inspector/front-end/PropertiesSection.js:
20709         (WebInspector.PropertiesSection):
20710         * inspector/front-end/ResourceView.js:
20711         (WebInspector.ResourceView):
20712         * inspector/front-end/inspector.css:
20713
20714 2009-12-16  Dirk Schulze  <krit@webkit.org>
20715
20716         Reviewed by Darin Adler.
20717
20718         sourceGraphic wrong if positive x,y is >0 and objectBB is selected on Filter
20719         https://bugs.webkit.org/show_bug.cgi?id=32575
20720
20721         On SVG Filters, the rest of the source graphic gets clipped to the filter
20722         rest. This helps us to minimize the size of intermediate ImageBuffers. If
20723         the position moves to the right or to the bottom, we have to adjust the
20724         GraphicContext of this intermediate ImageBuffer.
20725         This patch fixes the adjustment of the context, according to the clipping.
20726
20727         Test: svg/filters/filter-source-position.svg
20728
20729         * svg/graphics/SVGResourceFilter.cpp:
20730         (WebCore::SVGResourceFilter::prepareFilter):
20731
20732 2009-12-16  Enrica Casucci  <enrica@apple.com>
20733
20734         Reviewed by Adele Peterson.
20735
20736         CrashTracer: [USER] 1 crash in Safari at com.apple.WebCore: WebCore::endsOfNodeAreVisuallyDistinctPositions + 115
20737         <rdar://problem/7467108>
20738         https://bugs.webkit.org/show_bug.cgi?id=32590
20739
20740         If the element is a button there is no need to look at the children to calculate the caret position.
20741         
20742         Test: editing/selection/button-right-click.html
20743
20744         * dom/Position.cpp:
20745         (WebCore::Position::getInlineBoxAndOffset): Avoid calling recursively this method,
20746         when starting from a button element.
20747
20748 2009-12-16  Luiz Agostini  <luiz.agostini@openbossa.org>
20749
20750         Reviewed by Kenneth Rohde Christiansen.
20751
20752         [Qt] Implement combobox delegate for Qt
20753         https://bugs.webkit.org/show_bug.cgi?id=32550
20754
20755         Refactoring of class QWebPopup.
20756
20757         Class QWebPopup has been split in QtAbstractWebPopup and QtFallbackWebPopup.
20758         Both new classes are now in corresponding files and files QWebPopup.* have been removed.
20759
20760         Custom combo popup classes will inherit from QtAbstractWebPopup. It is not the public API as it is
20761         in WebCore and will not be visible by users of QtWebKit. It will be used in implementation of
20762         public QtWebKit combobox popup delegation API.
20763
20764         Class QtFallbackWebPopup inherits from QtAbstractWebPopup and implements the currently used combobox popup.
20765         It needs to be improved to provide standard features that are missing like style or indentation.
20766
20767         No behavior changes.
20768
20769         * WebCore.pro:
20770         * platform/PopupMenu.h:
20771         * platform/qt/PopupMenuQt.cpp:
20772         (WebCore::PopupMenu::PopupMenu):
20773         * platform/qt/QWebPopup.cpp: Removed.
20774         * platform/qt/QWebPopup.h: Removed.
20775         * platform/qt/QtAbstractWebPopup.cpp: Added.
20776         (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
20777         (WebCore::QtAbstractWebPopup::~QtAbstractWebPopup):
20778         (WebCore::QtAbstractWebPopup::client):
20779         * platform/qt/QtAbstractWebPopup.h: Added.
20780         * platform/qt/QtFallbackWebPopup.cpp: Added.
20781         (WebCore::QtFallbackWebPopup::QtFallbackWebPopup):
20782         (WebCore::QtFallbackWebPopup::show):
20783         (WebCore::QtFallbackWebPopup::populate):
20784         (WebCore::QtFallbackWebPopup::showPopup):
20785         (WebCore::QtFallbackWebPopup::hidePopup):
20786         (WebCore::QtFallbackWebPopup::activeChanged):
20787         * platform/qt/QtFallbackWebPopup.h: Added.
20788         (WebCore::QtFallbackWebPopup::hide):
20789
20790 2009-12-15  Pavel Feldman  <pfeldman@chromium.org>
20791
20792         Reviewed by Timothy Hatcher.
20793
20794         Web Inspector: beautify HTTP info section.
20795
20796         https://bugs.webkit.org/show_bug.cgi?id=32583
20797
20798         * English.lproj/localizedStrings.js:
20799         * inspector/front-end/ResourceView.js:
20800         (WebInspector.ResourceView):
20801         (WebInspector.ResourceView.prototype._refreshURL):
20802         (WebInspector.ResourceView.prototype._refreshHTTPInformation):
20803         * inspector/front-end/inspector.css:
20804
20805 2009-12-13  Roland Steiner  <rolandsteiner@chromium.org>
20806
20807         Reviewed by Adam Barth.
20808
20809         Fix crash when encountering illegal HTML within a continuation inside <ruby>.
20810         (https://bugs.webkit.org/show_bug.cgi?id=32316)
20811
20812         Avoid having the anonymous blocks utilized in the ruby renderers being
20813         re-used as continuation blocks.
20814         Avoid having ruby runs collected as "leftover blocks".
20815
20816         Test: fast/ruby/ruby-illegal.html
20817
20818         * rendering/RenderRuby.h:
20819         (WebCore::RenderRubyAsInline::removeLeftoverAnonymousBlock): mustn't be called
20820         (WebCore::RenderRubyAsInline::isRuby): made private
20821         (WebCore::RenderRubyAsInline::renderName): made private
20822         (WebCore::RenderRubyAsInline::createsAnonymousWrapper): return true
20823         (WebCore::RenderRubyAsBlock::removeLeftoverAnonymousBlock): mustn't be called
20824         (WebCore::RenderRubyAsBlock::isRuby): made private
20825         (WebCore::RenderRubyAsBlock::renderName): made private
20826         (WebCore::RenderRubyAsBlock::createsAnonymousWrapper): return true
20827         * rendering/RenderRubyRun.h:
20828         (WebCore::RenderRubyRun::removeLeftoverAnonymousBlock): avoid
20829         (WebCore::RenderRubyRun::isRubyRun): made private
20830         (WebCore::RenderRubyRun::renderName): made private
20831         (WebCore::RenderRubyRun::createsAnonymousWrapper): return true
20832
20833 2009-12-15  Nate Chapin  <japhet@chromium.org>
20834
20835         Reviewed by Darin Adler.
20836
20837         Rename skipCanLoadCheck to skipSecurityCheck in a bunch of places in WebCore/loader.
20838
20839         https://bugs.webkit.org/show_bug.cgi?id=32529
20840
20841         * loader/Cache.cpp:
20842         (WebCore::Cache::requestUserCSSStyleSheet):
20843         * loader/CachedImage.cpp:
20844         (WebCore::CachedImage::load):
20845         * loader/CachedResource.cpp:
20846         (WebCore::CachedResource::load):
20847         * loader/CachedResource.h:
20848         (WebCore::CachedResource::load):
20849         * loader/DocumentThreadableLoader.cpp:
20850         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
20851         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
20852         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
20853         (WebCore::DocumentThreadableLoader::preflightSuccess):
20854         (WebCore::DocumentThreadableLoader::loadRequest):
20855         * loader/DocumentThreadableLoader.h:
20856         * loader/FrameLoaderTypes.h:
20857         (WebCore::):
20858         * loader/Request.cpp:
20859         (WebCore::Request::Request):
20860         * loader/Request.h:
20861         (WebCore::Request::shouldDoSecurityCheck):
20862         * loader/SubresourceLoader.cpp:
20863         (WebCore::SubresourceLoader::create):
20864         * loader/SubresourceLoader.h:
20865         * loader/loader.cpp:
20866         (WebCore::Loader::load):
20867         (WebCore::Loader::Host::servePendingRequests):
20868         * loader/loader.h:
20869
20870 2009-12-15  Dan Bernstein  <mitz@apple.com>
20871
20872         Reviewed by Darin Adler.
20873
20874         <rdar://problem/7470452> Safari/Chromium crashes on complicated @font-face rule
20875         https://bugs.webkit.org/show_bug.cgi?id=32257
20876
20877         Test: fast/css/font-face-unused-source-loaded.html
20878
20879         The loading of a font resource caused a CSSFontFace that had the resource in one of its
20880         sources, but wasn’t using it (due to using an earlier source) to invalidate its
20881         CSSSegmentedFontFaces. This caused FontData for the active source (the one that did not just
20882         finish loading) to be deleted, but that went unnoticed by Font::operator==(), since the
20883         corresponding FontFallbackLists were not in the loading state. The fix is for CSSFontFace to
20884         ignore loads from unused sources.
20885
20886         * css/CSSFontFace.cpp:
20887         (WebCore::CSSFontFace::fontLoaded): Bail out if the loaded source is not the active source.
20888         (WebCore::CSSFontFace::getFontData): Set m_activeSource to the source that supplied the
20889             FontData.
20890         * css/CSSFontFace.h:
20891         (WebCore::CSSFontFace::CSSFontFace): Initialize m_activeSource.
20892
20893 2009-12-15  Yael Aharon  <yael.aharon@nokia.com>
20894
20895         Reviewed by Kenneth Rohde Christiansen.
20896
20897         [Qt] Cannot load flash files from a local file.
20898         https://bugs.webkit.org/show_bug.cgi?id=32572
20899
20900         When loading the main resource and its mime type is application/octet-stream,
20901         use the file extenstion to check if it is a supported plugin.
20902
20903         No new tests were added since any existing swf file can be used as a manual test.
20904
20905         * loader/MainResourceLoader.cpp:
20906         (WebCore::MainResourceLoader::didReceiveResponse):
20907         * loader/MainResourceLoader.h:
20908         * plugins/PluginDatabase.h:
20909
20910 2009-12-15  Brian Weinstein  <bweinstein@apple.com>
20911
20912         Reviewed by Timothy Hatcher.
20913
20914         Fixes <https://bugs.webkit.org/show_bug.cgi?id=18498>.
20915         REGRESSION: Tips are not shown for resources anymore.
20916         
20917         As discussed in the bug, Tips are not coming back, and the feature
20918         will be moved to the audits panel. This patch is to remove the Tips
20919         code and the resources that it needed.
20920
20921         * WebCore.gypi: Removed tips files.
20922         * inspector/front-end/Images/tipBalloon.png: Removed.
20923         * inspector/front-end/Images/tipBalloonBottom.png: Removed.
20924         * inspector/front-end/Images/tipIcon.png: Removed.
20925         * inspector/front-end/Images/tipIconPressed.png: Removed.
20926         * inspector/front-end/Resource.js: Removed tips code.
20927         (WebInspector.Resource.prototype.set finished): 
20928         * inspector/front-end/WebKit.qrc: Removed tips files.
20929         * inspector/front-end/inspector.css: Removes tips style rules.
20930         
20931 2009-12-15  Pavel Feldman  <pfeldman@chromium.org>
20932
20933         Reviewed by Timothy Hatcher.
20934
20935         Web Inspector: Display request headers for main resource
20936         having redirects.
20937
20938         https://bugs.webkit.org/show_bug.cgi?id=32577
20939
20940         * inspector/InspectorController.cpp:
20941         (WebCore::InspectorController::identifierForInitialRequest):
20942         (WebCore::InspectorController::willSendRequest):
20943         * inspector/InspectorResource.cpp:
20944         (WebCore::InspectorResource::InspectorResource):
20945         (WebCore::InspectorResource::appendRedirect):
20946         (WebCore::InspectorResource::createCached):
20947         (WebCore::InspectorResource::updateRequest):
20948         * inspector/InspectorResource.h:
20949         (WebCore::InspectorResource::create):
20950
20951 2009-12-15  Brian Weinstein  <bweinstein@apple.com>
20952
20953         Reviewed by Timothy Hatcher.
20954
20955         Fixes <https://bugs.webkit.org/show_bug.cgi?id=32578>.
20956         Web Inspector: No Need for ?="" now that we have context menus.
20957         
20958         Remove the toggleNewAttributeButton function and callers to it, as
20959         we don't need this behavior anymore, now that we have context menus.
20960
20961         * inspector/front-end/ElementsTreeOutline.js:
20962         (WebInspector.ElementsTreeElement.prototype.set hovered):
20963         (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton):
20964         (WebInspector.ElementsTreeElement.prototype._startEditing):
20965
20966 2009-12-15  Dimitri Glazkov  <dglazkov@chromium.org>
20967
20968         Reviewed by Eric Seidel.
20969
20970         [V8] Generate trivial named property getters.
20971         https://bugs.webkit.org/show_bug.cgi?id=32562
20972
20973         Covered by existing tests.
20974
20975         * bindings/scripts/CodeGeneratorV8.pm: Added GenerateImplementationNamedPropertyGetter.
20976         * bindings/v8/V8Collection.h:
20977         (WebCore::getNamedPropertyOfCollection): Fixed a booboo by using AtomicString like we're supposed to.
20978         * bindings/v8/V8DOMWrapper.cpp:
20979         (WebCore::V8DOMWrapper::getTemplate): Removed code that's now generated.
20980
20981 2009-12-15  Brian Weinstein  <bweinstein@apple.com>
20982
20983         Reviewed by Timothy Hatcher.
20984
20985         Part of <http://webkit.org/b/32568>.
20986         New Web Inspector: The Context Menu should be used in more places.
20987         
20988         Add support for context menu entries for editing and deleting elements
20989         in the datagrid. This gives support to deleting cookies, and editing and
20990         deleting session storage and local storage.
20991
20992         * English.lproj/localizedStrings.js: Added "Edit" and "Add New" entries (delete was already there)
20993         * inspector/front-end/DataGrid.js:
20994         (WebInspector.DataGrid): Added context menu listener.
20995         (WebInspector.DataGrid.prototype._contextMenuInDataTable):
20996
20997 2009-12-15  Kenneth Russell  <kbr@google.com>
20998
20999         Reviewed by Darin Fisher.
21000
21001         Don't allow default framebuffer to be mutated
21002         https://bugs.webkit.org/show_bug.cgi?id=32391
21003
21004         * html/canvas/WebGLRenderingContext.cpp:
21005         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
21006         (WebCore::WebGLRenderingContext::framebufferTexture2D):
21007         * platform/graphics/mac/GraphicsContext3DMac.cpp:
21008         (WebCore::GraphicsContext3D::bindFramebuffer):
21009
21010 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
21011
21012         Reviewed by Darin Adler.
21013
21014         Allow custom memory allocation control for FontPlatformDataCacheKey class
21015         https://bugs.webkit.org/show_bug.cgi?id=32552
21016
21017         Inherits the following struct from FastAllocBase because it is instantiated by 'new':
21018
21019         struct name                     - instantiated at: WebCore/'location'
21020         struct FontPlatformDataCacheKey - platform/graphics/FontCache.cpp:118
21021
21022         * platform/graphics/FontCache.cpp:
21023
21024 2009-12-15  Jian Li  <jianli@chromium.org>
21025
21026         Reviewed by Dmitry Titov.
21027
21028         Bug 31090 - [Chromium] Add DownloadURL format to Chromium clipboard.
21029         https://bugs.webkit.org/show_bug.cgi?id=31090
21030
21031         The proposal to whatwg can be found here:
21032         http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-August/022118.html
21033
21034         * platform/chromium/ChromiumDataObject.cpp:
21035         (WebCore::ChromiumDataObject::clear):
21036         (WebCore::ChromiumDataObject::hasData):
21037         (WebCore::ChromiumDataObject::ChromiumDataObject):
21038         * platform/chromium/ChromiumDataObject.h:
21039         * platform/chromium/ClipboardChromium.cpp:
21040         (WebCore::):
21041         (WebCore::clipboardTypeFromMIMEType):
21042         (WebCore::ClipboardChromium::setData):
21043
21044 2009-12-15  Chris Fleizach  <cfleizach@apple.com>
21045
21046         Reviewed by Darin Adler.
21047
21048         WAI-ARIA: implement treegrid
21049         https://bugs.webkit.org/show_bug.cgi?id=31299
21050
21051         Test: platform/mac/accessibility/aria-treegrid.html
21052
21053         * accessibility/AXObjectCache.cpp:
21054         (WebCore::AXObjectCache::getOrCreate):
21055         * accessibility/AccessibilityARIAGrid.h:
21056         (WebCore::AccessibilityARIAGrid::supportsSelectedRows):
21057         * accessibility/AccessibilityARIAGridRow.cpp:
21058         (WebCore::AccessibilityARIAGridRow::isARIATreeGridRow):
21059         (WebCore::AccessibilityARIAGridRow::disclosedRows):
21060         (WebCore::AccessibilityARIAGridRow::disclosedByRow):
21061         * accessibility/AccessibilityARIAGridRow.h:
21062         * accessibility/AccessibilityObject.cpp:
21063         (WebCore::createARIARoleMap):
21064         * accessibility/AccessibilityObject.h:
21065         (WebCore::):
21066         (WebCore::AccessibilityObject::isARIATreeGridRow):
21067         * accessibility/AccessibilityRenderObject.cpp:
21068         (WebCore::AccessibilityRenderObject::isMultiSelectable):
21069         (WebCore::AccessibilityRenderObject::setIsExpanded):
21070         (WebCore::AccessibilityRenderObject::setSelectedRows):
21071         (WebCore::AccessibilityRenderObject::ariaSelectedRows):
21072         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
21073         (WebCore::AccessibilityRenderObject::selectedChildren):
21074         * accessibility/AccessibilityRenderObject.h:
21075         * accessibility/AccessibilityTable.h:
21076         (WebCore::AccessibilityTable::supportsSelectedRows):
21077         * accessibility/mac/AccessibilityObjectWrapper.mm:
21078         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
21079         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
21080         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
21081         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
21082
21083 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
21084
21085         Reviewed by Darin Adler.
21086
21087         Allow custom memory allocation control for EmptyEditorClient and EmptyInspectorClient
21088         https://bugs.webkit.org/show_bug.cgi?id=32557
21089
21090         Inherits the following classes from Noncopyable because these are instantiated
21091         by 'new' and no need to be copyable:
21092
21093         class name                 - instantiated at: WebCore/'location'
21094         class EmptyEditorClient    - svg/graphics/SVGImage.cpp:230
21095         class EmptyInspectorClient - svg/graphics/SVGImage.cpp:241
21096
21097         * loader/EmptyClients.h:
21098
21099 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
21100
21101         Reviewed by Darin Adler.
21102
21103         Allow custom memory allocation control for WebCore/inspector directory's classes
21104         https://bugs.webkit.org/show_bug.cgi?id=32556
21105
21106         Inherits the following class from Noncopyable because these are instantiated
21107         by 'new' and no need to be copyable:
21108
21109         class name                   - instantiated at: WebCore/'location'
21110         class InspectorFrontend      - inspector/InspectorController.cpp:538
21111         class InspectorTimelineAgent - inspector/InspectorController.cpp:1097
21112
21113         * inspector/InspectorFrontend.h:
21114         * inspector/InspectorTimelineAgent.h:
21115
21116 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
21117
21118         Reviewed by Darin Adler.
21119
21120         Allow custom memory allocation control for WebCore/platform/network directory's classes
21121         https://bugs.webkit.org/show_bug.cgi?id=32553
21122
21123         Inherits the following class from Noncopyable because it is instantiated
21124         by 'new' and no need to be copyable:
21125
21126         class/struct name                      - instantiated at: WebCore/'location'
21127
21128         struct CrossThreadResourceResponseData - platform/network/ResourceResponseBase.cpp:109
21129
21130         Inherits the following classes from FastAllocBase because these are
21131         instantiated by 'new':
21132
21133         class ResourceResponseBase - (its child class) platform/network/ResourceResponseBase.cpp:90
21134         class ResourceRequestBase  - (its child class) loader/DocumentThreadableLoader.cpp:88
21135
21136         * platform/network/ResourceRequestBase.h:
21137         * platform/network/ResourceResponseBase.h:
21138
21139 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
21140
21141         Reviewed by Darin Adler.
21142
21143         Allow custom memory allocation control for AnimationControllerPrivate and FillLayerPropertyWrapperGetter
21144         https://bugs.webkit.org/show_bug.cgi?id=32549
21145
21146         Inherits AnimationControllerPrivate and FillLayerPropertyWrapperGetter
21147         classes from Noncopyable because these are instantiated by 'new' and no need to be copyable:
21148
21149         class/struct name              - instantiated at: WebCore/'location'
21150
21151         AnimationControllerPrivate     - page/animation/AnimationController.cpp:439
21152         FillLayerPropertyWrapperGetter - (its child class) page/animation/AnimationBase.cpp:464
21153
21154         * page/animation/AnimationBase.cpp:
21155         * page/animation/AnimationControllerPrivate.h:
21156
21157 2009-12-15  Pavel Feldman  <pfeldman@chromium.org>
21158
21159         Reviewed by Timothy Hatcher.
21160
21161         Web Inspector: Do not lose HTTP redirect information, display it
21162         in the Resources Panel.
21163
21164         https://bugs.webkit.org/show_bug.cgi?id=32551
21165
21166         * inspector/InspectorController.cpp:
21167         (WebCore::InspectorController::populateScriptObjects):
21168         (WebCore::InspectorController::didCommitLoad):
21169         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
21170         (WebCore::InspectorController::identifierForInitialRequest):
21171         (WebCore::InspectorController::willSendRequest):
21172         (WebCore::InspectorController::didReceiveResponse):
21173         (WebCore::InspectorController::didReceiveContentLength):
21174         (WebCore::InspectorController::didFinishLoading):
21175         (WebCore::InspectorController::didFailLoading):
21176         * inspector/InspectorFrontend.cpp:
21177         * inspector/InspectorFrontend.h:
21178         * inspector/InspectorResource.cpp:
21179         (WebCore::InspectorResource::InspectorResource):
21180         (WebCore::InspectorResource::appendRedirect):
21181         (WebCore::InspectorResource::updateScriptObject):
21182         (WebCore::InspectorResource::releaseScriptObject):
21183         (WebCore::InspectorResource::type):
21184         * inspector/InspectorResource.h:
21185         (WebCore::InspectorResource::):
21186         (WebCore::InspectorResource::Changes::setAll):
21187         * inspector/front-end/inspector.js:
21188         (WebInspector._addResource):
21189         (WebInspector.updateResource):
21190
21191 2009-12-15  Holger Hans Peter Freyther  <zecke@selfish.org>
21192
21193         Reviewed by Simon Hausmann.
21194
21195         [Qt] Followup for direct signals and slots connections in QNetworkReplyHandler
21196         https://bugs.webkit.org/show_bug.cgi?id=32113
21197
21198         For Qt versions prior to 4.6.1 we will need to use QueuedConnection
21199         for the signal and slot connection to avoid running into a bug in.
21200
21201         Add a comment that we want to remove one signal to forward
21202         queued items when moving our minimum requirements.
21203
21204         * platform/network/qt/QNetworkReplyHandler.cpp:
21205         (WebCore::QNetworkReplyHandler::start):
21206
21207 2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
21208
21209         Reviewed by Kenneth Rohde Christiansen.
21210
21211         [Qt] Add manual test for JavaScript prompt corner case
21212         https://bugs.webkit.org/show_bug.cgi?id=30914
21213
21214         The patch is based on the work done by Gupta Manish.
21215
21216         Verify behavior of the JavaScript prompt function. Currently
21217         Qt is not behaving like other WebKit ports and Firefox in
21218         regards to accepting the prompt but not entering a text.
21219
21220         * manual-tests/qt/java-script-prompt.html: Added.
21221
21222 2009-12-15  Luiz Agostini  <luiz.agostini@openbossa.org>
21223
21224         Reviewed by Kenneth Rohde Christiansen.
21225
21226         Moving list populate methods from PopupMenuQt to QWebPopup.
21227         
21228         In preparation to future implementation of a delegation API for the combobox.
21229
21230         * platform/PopupMenu.h:
21231         * platform/qt/PopupMenuQt.cpp:
21232         (WebCore::PopupMenu::show):
21233         (WebCore::PopupMenu::hide):
21234         * platform/qt/QWebPopup.cpp:
21235         (WebCore::QWebPopup::show):
21236         (WebCore::QWebPopup::populate):
21237         * platform/qt/QWebPopup.h:
21238         (WebCore::QWebPopup::hide):
21239
21240 2009-12-15  Alexander Pavlov  <apavlov@chromium.org>
21241
21242         Reviewed by Pavel Feldman.
21243
21244         Extract WebInspector.Section from WebInspector.PropertiesSection.
21245         https://bugs.webkit.org/show_bug.cgi?id=32523
21246
21247         * WebCore.gypi:
21248         * WebCore.vcproj/WebCore.vcproj:
21249         * inspector/front-end/PropertiesSection.js:
21250         (WebInspector.PropertiesSection):
21251         * inspector/front-end/Section.js: Added.
21252         (WebInspector.Section):
21253         (WebInspector.Section.prototype.get title):
21254         (WebInspector.Section.prototype.set title):
21255         (WebInspector.Section.prototype.get subtitle):
21256         (WebInspector.Section.prototype.set subtitle):
21257         (WebInspector.Section.prototype.get expanded):
21258         (WebInspector.Section.prototype.set expanded):
21259         (WebInspector.Section.prototype.get populated):
21260         (WebInspector.Section.prototype.set populated):
21261         (WebInspector.Section.prototype.expand):
21262         (WebInspector.Section.prototype.collapse):
21263         (WebInspector.Section.prototype.toggleExpanded):
21264         * inspector/front-end/WebKit.qrc:
21265         * inspector/front-end/inspector.html:
21266
21267 2009-12-15  Eric Seidel  <eric@webkit.org>
21268
21269         No review, rolling out r52140.
21270         http://trac.webkit.org/changeset/52140
21271         https://bugs.webkit.org/show_bug.cgi?id=31299
21272
21273         The commit broke the Leopard bots and unfortunately
21274         Chris wasn't around to fix them, so I'm rolling the change
21275         out after 3 hours so that the bots can roll green again. :)
21276
21277         * accessibility/AXObjectCache.cpp:
21278         (WebCore::AXObjectCache::getOrCreate):
21279         * accessibility/AccessibilityARIAGrid.h:
21280         * accessibility/AccessibilityARIAGridRow.cpp:
21281         * accessibility/AccessibilityARIAGridRow.h:
21282         * accessibility/AccessibilityObject.cpp:
21283         (WebCore::createARIARoleMap):
21284         * accessibility/AccessibilityObject.h:
21285         (WebCore::):
21286         * accessibility/AccessibilityRenderObject.cpp:
21287         (WebCore::AccessibilityRenderObject::isMultiSelect):
21288         (WebCore::AccessibilityRenderObject::setIsExpanded):
21289         (WebCore::AccessibilityRenderObject::setSelectedRows):
21290         (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
21291         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
21292         (WebCore::AccessibilityRenderObject::selectedChildren):
21293         * accessibility/AccessibilityRenderObject.h:
21294         * accessibility/AccessibilityTable.h:
21295         * accessibility/mac/AccessibilityObjectWrapper.mm:
21296         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
21297         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
21298         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
21299         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
21300
21301 2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
21302
21303         Reviewed by Eric Seidel.
21304
21305         [Qt] Remove dead code from FontPlatformDataQt.cpp
21306         https://bugs.webkit.org/show_bug.cgi?id=32540
21307
21308         In r51758 the code that used familyNames was removed
21309         and we should remove the creation of the familyNames
21310         as well.
21311
21312         * platform/graphics/qt/FontPlatformDataQt.cpp:
21313         (WebCore::FontPlatformData::FontPlatformData):
21314
21315 2009-12-15  Dan Bernstein  <mitz@apple.com>
21316
21317         Reviewed by Adam Roben.
21318
21319         WebCore part of <rdar://problem/7173515> Use LOGFONT support in Core
21320         Graphics when available
21321
21322         When using a version of Core Graphics with LOGFONT support, this fixes
21323         <rdar://problem/5764844> First-time launch is painfully slow due to font
21324         plist creation
21325         and <rdar://problem/6576281> 12px synthetic-italics Tahoma text is less
21326         readable in Safari than in Firefox/IE due to poorly-spaced letters
21327
21328         * platform/graphics/win/FontCGWin.cpp:
21329         (WebCore::Font::drawGlyphs): No longer call drawGDIGlyphs for stroked
21330         text.
21331         * platform/graphics/win/FontCacheWin.cpp:
21332         (WebCore::createGDIFont): Added a synthesizeItalic parameter. When set
21333         to true, if italics are desired but the best match lacks italics,
21334         creates and returns a synthetic italics font.
21335         (WebCore::FontCache::createFontPlatformData): Ask to synthesize italics
21336         if needed.
21337         * platform/graphics/win/FontCustomPlatformData.cpp:
21338         (WebCore::FontCustomPlatformData::fontPlatformData): Updated an
21339         assertion, and changed to create the CGFont from the LOGFONT.
21340         (WebCore::createFontCustomPlatformData): Changed cgFont to be a
21341         RetainPtr. Do not create a CGFont from the font data if it can be
21342         created from the LOGFONT in fontPlatformData().
21343         * platform/graphics/win/FontDatabase.cpp:
21344         (WebCore::populateFontDatabase): Avoid font database work if fonts are
21345         not going to be looked up by name.
21346         * platform/graphics/win/FontPlatformDataCGWin.cpp:
21347         (WebCore::FontPlatformData::platformDataInit): Create the CGFont from
21348         a LOGFONT based on the HFONT.
21349
21350 2009-12-14  Chris Fleizach  <cfleizach@apple.com>
21351
21352         Reviewed by Darin Adler.
21353
21354         WAI-ARIA: implement treegrid
21355         https://bugs.webkit.org/show_bug.cgi?id=31299
21356
21357         Test: platform/mac/accessibility/aria-treegrid.html
21358
21359         * accessibility/AXObjectCache.cpp:
21360         (WebCore::AXObjectCache::getOrCreate):
21361         * accessibility/AccessibilityARIAGrid.h:
21362         (WebCore::AccessibilityARIAGrid::supportsSelectedRows):
21363         * accessibility/AccessibilityARIAGridRow.cpp:
21364         (WebCore::AccessibilityARIAGridRow::isARIATreeGridRow):
21365         (WebCore::AccessibilityARIAGridRow::disclosedRows):
21366         (WebCore::AccessibilityARIAGridRow::disclosedByRow):
21367         * accessibility/AccessibilityARIAGridRow.h:
21368         * accessibility/AccessibilityObject.cpp:
21369         (WebCore::createARIARoleMap):
21370         * accessibility/AccessibilityObject.h:
21371         (WebCore::AccessibilityObject::isARIATreeGridRow):
21372         * accessibility/AccessibilityRenderObject.cpp:
21373         (WebCore::AccessibilityRenderObject::isMultiSelectable):
21374         (WebCore::AccessibilityRenderObject::setIsExpanded):
21375         (WebCore::AccessibilityRenderObject::setSelectedRows):
21376         (WebCore::AccessibilityRenderObject::ariaSelectedRows):
21377         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
21378         (WebCore::AccessibilityRenderObject::selectedChildren):
21379         * accessibility/AccessibilityRenderObject.h:
21380         * accessibility/AccessibilityTable.h:
21381         (WebCore::AccessibilityTable::supportsSelectedRows):
21382         * accessibility/mac/AccessibilityObjectWrapper.mm:
21383         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
21384         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
21385         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
21386         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
21387
21388 2009-12-14  Dan Bernstein  <mitz@apple.com>
21389
21390         Reviewed by Darin Adler.
21391
21392         <rdar://problem/7460655> REGRESSION (r47255): Content shifted down at software.opensuse.org
21393         https://bugs.webkit.org/show_bug.cgi?id=32382
21394
21395         Test: fast/block/float/in-margin.html
21396
21397         * rendering/RenderBlock.cpp:
21398         (WebCore::RenderBlock::getClearDelta): Floats that do not intrude into the line (because
21399         they are in the margin) do not need to be cleared.
21400
21401 2009-12-14  Enrica Casucci  <enrica@apple.com>
21402
21403         Reviewed by John Sullivan.
21404
21405         Pressing backspace inside a table cell erases all empty rows below it.
21406         <rdar://problem/5565461>
21407         https://bugs.webkit.org/show_bug.cgi?id=32526
21408
21409         No deletion is performed when the caret selection is on an empty table cell.
21410         
21411         Test: editing/deleting/delete-empty-table.html
21412
21413         * editing/TypingCommand.cpp:
21414         (WebCore::TypingCommand::deleteKeyPressed): Added check for empty table cells in
21415         case of caret selection.
21416
21417 2009-12-14  Andrei Popescu  <andreip@google.com>
21418
21419         Reviewed by Darin Adler.
21420
21421         [Android] Android needs ResourceHandle implementation
21422         https://bugs.webkit.org/show_bug.cgi?id=32515
21423
21424         Adds implementation of ResourceHandle on Android.
21425
21426         No new tests needed, this is platform-specific code, so existing
21427         tests are sufficient.
21428
21429         * platform/network/android/ResourceHandleAndroid.cpp: Added.
21430         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
21431         (WebCore::ResourceHandle::~ResourceHandle):
21432         (WebCore::ResourceHandle::start):
21433         (WebCore::ResourceHandle::cancel):
21434         (WebCore::ResourceHandle::bufferedData):
21435         (WebCore::ResourceHandle::supportsBufferedData):
21436         (WebCore::ResourceHandle::setDefersLoading):
21437         (WebCore::ResourceHandle::willLoadFromCache):
21438         (WebCore::ResourceHandle::loadsBlocked):
21439         (WebCore::SyncLoader::SyncLoader):
21440         (WebCore::SyncLoader::~SyncLoader):
21441         (WebCore::SyncLoader::didReceiveResponse):
21442         (WebCore::SyncLoader::didReceiveData):
21443         (WebCore::SyncLoader::didFail):
21444         (WebCore::ResourceHandle::loadResourceSynchronously):
21445         * platform/network/android/ResourceLoaderAndroid.h: Added.
21446         (WebCore::ResourceLoaderAndroid::~ResourceLoaderAndroid):
21447         (WebCore::ResourceLoaderAndroid::ResourceLoaderAndroid):
21448
21449 2009-12-14  Marco Martin  <notmart@gmail.com>
21450
21451         Reviewed by Kenneth Rohde Christiansen.
21452
21453         In the Scrollbar painting of the Qt theme integration,
21454         intersects any previous clip rects with the one needed to paint the scrollbar.
21455         This fixes the painting in QGraphicsview, when the parent of the widget that 
21456         paints the QWebPage has the QGraphicsItem::ItemClipsChildrenToShape set and
21457         a piece of the scrollbar should be cipped away
21458         https://bugs.webkit.org/show_bug.cgi?id=30366
21459
21460         No new tests.
21461
21462         * platform/qt/ScrollbarThemeQt.cpp:
21463         (WebCore::ScrollbarThemeQt::paint):
21464
21465 2009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
21466
21467         Reviewed by Eric Seidel.
21468
21469         [V8] Generate bindings for trivial indexers.
21470         https://bugs.webkit.org/show_bug.cgi?id=32455
21471
21472         Covered by existing tests.
21473
21474         * bindings/scripts/CodeGeneratorV8.pm:
21475             Added detecting indexers and generating code for them.
21476         * bindings/v8/V8Collection.h: Removed code that's now generated.
21477         * bindings/v8/V8DOMWrapper.cpp:
21478         (WebCore::V8DOMWrapper::getTemplate): Ditto.
21479
21480 2009-12-14  Alexey Proskuryakov  <ap@apple.com>
21481
21482         Reviewed by Dave Hyatt.
21483
21484         https://bugs.webkit.org/show_bug.cgi?id=31660
21485         REGRESSION (r49394): Image load event fires before the document fragment is attached.
21486
21487         Test: fast/images/image-load-event-in-fragment.html
21488
21489         We cannot fire load events immediately after parsing a fragment - an element inserted via
21490         innerHTML or equivalent should be reachable via getElementById() by the time its load event
21491         fires.
21492
21493         * dom/Document.cpp: (WebCore::Document::implicitClose): Call dispatchPendingBeforeLoadEvents()
21494         and dispatchPendingLoadEvents() individually. I'm not sure why these calls are here, just
21495         preserving existing behavior.
21496
21497         * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::write):
21498         * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::write):
21499         Load events for elements that have just been parsed cannot be dispatched yet, we should give
21500         the elements a chance to be inserted into a document first. There is no compatibility baggage
21501         for beforeload, so it seems OK to dispatch it right away.
21502
21503         * loader/ImageLoader.cpp:
21504         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvents):
21505         (WebCore::ImageLoader::dispatchPendingLoadEvents):
21506         * loader/ImageLoader.h:
21507         Separated dispatchPendingEvents() into individual functions for each event kind.
21508
21509 2009-12-14  Jakob Petsovits  <jpetsovits@rim.com>
21510
21511         Reviewed by Simon Fraser.
21512
21513         Add FloatQuad::isRectilinear() to check whether it can be represented as FloatRect.
21514         https://bugs.webkit.org/show_bug.cgi?id=30442
21515
21516         This enables optimizations for distinguishing between
21517         arbitrary FloatQuads and rectilinear ones.
21518
21519         * platform/graphics/FloatQuad.cpp:
21520         (WebCore::FloatQuad::isRectilinear):
21521         * platform/graphics/FloatQuad.h:
21522
21523 2009-12-14  Simon Hausmann  <hausmann@webkit.org>
21524
21525         Reviewed by Holger Freyther.
21526
21527         [Qt] Add support for keyboard modifiers to TouchEvent
21528
21529         https://bugs.webkit.org/show_bug.cgi?id=32482
21530
21531         Similar to other ui events with keyboard state, get the alt, shift,
21532         meta and ctrl modifiers straight from the platform event.
21533
21534         * dom/TouchEvent.cpp:
21535         (WebCore::TouchEvent::TouchEvent):
21536         (WebCore::TouchEvent::initTouchEvent):
21537         * dom/TouchEvent.h:
21538         (WebCore::TouchEvent::create):
21539         * dom/TouchEvent.idl:
21540         * page/EventHandler.cpp:
21541         (WebCore::EventHandler::handleTouchEvent):
21542         * platform/PlatformTouchEvent.h:
21543         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
21544         (WebCore::PlatformTouchEvent::shiftKey):
21545         (WebCore::PlatformTouchEvent::ctrlKey):
21546         (WebCore::PlatformTouchEvent::altKey):
21547         (WebCore::PlatformTouchEvent::metaKey):
21548         * platform/qt/PlatformTouchEventQt.cpp:
21549         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
21550
21551 2009-12-14  Benjamin Poulain  <benjamin.poulain@nokia.com>
21552
21553         Reviewed by Kenneth Rohde Christiansen.
21554
21555         [Qt] crash when clicking "Sign out" in GMail
21556         https://bugs.webkit.org/show_bug.cgi?id=32300
21557
21558         When the ResourceLoader cancels the handle we have to make sure not to access
21559         the resource handle afterwards again.
21560         This complete r29515
21561
21562         * platform/network/qt/QNetworkReplyHandler.cpp:
21563         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
21564
21565 2009-12-14  Alexander Pavlov  <apavlov@chromium.org>
21566
21567         Reviewed by Pavel Feldman.
21568
21569         Implement InjectedScript.evaluateOnSelf() that evaluates functions in the InjectedScript context.
21570         https://bugs.webkit.org/show_bug.cgi?id=32517
21571
21572         * inspector/front-end/InjectedScript.js:
21573         (InjectedScript.evaluateOnSelf):
21574         * inspector/front-end/InjectedScriptAccess.js:
21575
21576 2009-12-14  Nayan Kumar K  <nayankk@gmail.com>
21577
21578         Reviewed by Darin Adler.
21579
21580         Fix for compilation errors in WML enabled builds.
21581
21582         https://bugs.webkit.org/show_bug.cgi?id=32481
21583
21584         * wml/WMLInputElement.cpp:
21585         (WebCore::WMLInputElement::setValue):
21586         (WebCore::WMLInputElement::setValueForUser):
21587         * wml/WMLInputElement.h:
21588
21589 2009-12-14  Andrei Popescu  <andreip@google.com>
21590
21591         Reviewed by Darin Adler.
21592
21593         [Android] Android needs ResourceError, ResourceResponse and
21594         ResourceRequest implementation.
21595         https://bugs.webkit.org/show_bug.cgi?id=32522
21596
21597         Add implementation of ResourceError, ResourceResponse and ResourceRequest.
21598         No new tests needed, the existing tests should be sufficient.
21599
21600         * platform/network/android/ResourceError.h: Added.
21601         (WebCore::ResourceError::ResourceError):
21602         * platform/network/android/ResourceRequest.h: Added.
21603         (WebCore::ResourceRequest::ResourceRequest):
21604         (WebCore::ResourceRequest::doUpdatePlatformRequest):
21605         (WebCore::ResourceRequest::doUpdateResourceRequest):
21606         (WebCore::ResourceRequest::setUserGesture):
21607         (WebCore::ResourceRequest::getUserGesture):
21608         * platform/network/android/ResourceResponse.h: Added.
21609         (WebCore::ResourceResponse::ResourceResponse):
21610         (WebCore::ResourceResponse::doUpdateResourceResponse):
21611
21612 2009-12-14  Sam Weinig  <sam@webkit.org>
21613
21614         Fix the build.
21615
21616         * page/Geolocation.cpp:
21617         * page/Geolocation.h:
21618
21619 2009-12-13  Sam Weinig  <sam@webkit.org>
21620
21621         Reviewed by Dan Bernstein.
21622
21623         Fix for https://bugs.webkit.org/show_bug.cgi?id=32499
21624         Add client based Geolocation provider
21625
21626         Add first cut of a client based Geolocation provider. This is guarded by
21627         ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a
21628         GeolocationControllerClient interface that no-one currently implements,
21629         but will in a subsequent patch.
21630
21631         * GNUmakefile.am:
21632         * WebCore.base.exp:
21633         * WebCore.gypi:
21634         * WebCore.pro:
21635         * WebCore.vcproj/WebCore.vcproj:
21636         * WebCore.xcodeproj/project.pbxproj:
21637         * WebCoreSources.bkl:
21638         * page/Geolocation.cpp:
21639         (WebCore::createGeopositionFromGeolocationPosition):
21640         (WebCore::createPositionErrorFromGeolocationError):
21641         (WebCore::Geolocation::Geolocation):
21642         (WebCore::Geolocation::~Geolocation):
21643         (WebCore::Geolocation::disconnectFrame):
21644         (WebCore::Geolocation::lastPosition):
21645         (WebCore::Geolocation::startRequest):
21646         (WebCore::Geolocation::fatalErrorOccurred):
21647         (WebCore::Geolocation::requestTimedOut):
21648         (WebCore::Geolocation::clearWatch):
21649         (WebCore::Geolocation::handleError):
21650         (WebCore::Geolocation::positionChanged):
21651         (WebCore::Geolocation::makeSuccessCallbacks):
21652         (WebCore::Geolocation::errorOccurred):
21653         (WebCore::Geolocation::geolocationServicePositionChanged):
21654         (WebCore::Geolocation::geolocationServiceErrorOccurred):
21655         (WebCore::Geolocation::startUpdating):
21656         (WebCore::Geolocation::stopUpdating):
21657         * page/Geolocation.h:
21658         * page/GeolocationController.cpp: Added.
21659         (WebCore::GeolocationController::GeolocationController):
21660         (WebCore::GeolocationController::~GeolocationController):
21661         (WebCore::GeolocationController::addObserver):
21662         (WebCore::GeolocationController::removeObserver):
21663         (WebCore::GeolocationController::positionChanged):
21664         (WebCore::GeolocationController::errorOccurred):
21665         (WebCore::GeolocationController::lastPosition):
21666         * page/GeolocationController.h: Added.
21667         * page/GeolocationControllerClient.h: Added.
21668         (WebCore::GeolocationControllerClient::~GeolocationControllerClient):
21669         * page/GeolocationError.h: Added.
21670         (WebCore::GeolocationError::):
21671         (WebCore::GeolocationError::create):
21672         (WebCore::GeolocationError::code):
21673         (WebCore::GeolocationError::message):
21674         * page/GeolocationPosition.h: Added.
21675         (WebCore::GeolocationPosition::create):
21676         (WebCore::GeolocationPosition::timestamp):
21677         (WebCore::GeolocationPosition::latitude):
21678         (WebCore::GeolocationPosition::longitude):
21679         (WebCore::GeolocationPosition::accuracy):
21680         (WebCore::GeolocationPosition::altitude):
21681         (WebCore::GeolocationPosition::altitudeAccuracy):
21682         (WebCore::GeolocationPosition::heading):
21683         (WebCore::GeolocationPosition::speed):
21684         (WebCore::GeolocationPosition::canProvideAltitude):
21685         (WebCore::GeolocationPosition::canProvideAltitudeAccuracy):
21686         (WebCore::GeolocationPosition::canProvideHeading):
21687         (WebCore::GeolocationPosition::canProvideSpeed):
21688         (WebCore::GeolocationPosition::GeolocationPosition):
21689         * page/Geoposition.h:
21690         (WebCore::Geoposition::create):
21691         * page/Page.cpp:
21692         (WebCore::Page::Page):
21693         * page/Page.h:
21694         (WebCore::Page::geolocationController):
21695         * svg/graphics/SVGImage.cpp:
21696         (WebCore::SVGImage::dataChanged):
21697
21698 2009-12-14  Adam Langley  <agl@google.com>
21699
21700         Reviewed by Darin Adler.
21701
21702         Test that an image's size is valid before reading it.
21703
21704         Previously, an image that failed to load (m_failed == true) would
21705         trigger an assertion failure when WebKit tried to get its size.
21706
21707         https://bugs.webkit.org/show_bug.cgi?id=32176
21708         http://code.google.com/p/chromium/issues/detail?id=28566
21709
21710         Test: fast/images/size-failure.html
21711
21712         * platform/graphics/ImageSource.cpp:
21713         (WebCore::ImageSource::createFrameAtIndex):
21714
21715 2009-12-14  Dan Bernstein  <mitz@apple.com>
21716
21717         Reviewed by Darin Adler.
21718
21719         <rdar://problem/7458272> REGRESSION (r50470) Reproducible ASSERT in
21720         RenderWidget::setWidgetGeometry()
21721
21722         Test: fast/forms/defer-updateFromElement.html
21723
21724         * html/HTMLFormControlElement.cpp:
21725         (WebCore::updateFromElementCallback): Added this post-attach callback
21726         that invokes updateFromElement().
21727         (WebCore::HTMLFormControlElement::recalcStyle): Instead of calling
21728         updateFromElement(), enqueue a post-attach (in this case, post-style
21729         recalc) callback to do it. updateFromElement() can cause the selection
21730         to change, and in turn trigger synchronous layout, so it must not be
21731         called during style recalc.
21732
21733 2009-12-14  Pavel Feldman  <pfeldman@chromium.org>
21734
21735         Reviewed by Timothy Hatcher.
21736
21737         Web Inspector: [regression] inspector deletes nodes when editing css.
21738
21739         Now all the treeoutlines are focusable, sections and their titles
21740         are also focusable. Change contains couple of drive-by fixes such as
21741         canceling of the attribute edit nuking attr info and maintaining proper
21742         selection while deleting nodes.
21743
21744         https://bugs.webkit.org/show_bug.cgi?id=32460
21745
21746         * inspector/front-end/CallStackSidebarPane.js:
21747         (WebInspector.CallStackSidebarPane.prototype.handleShortcut):
21748         * inspector/front-end/ConsoleView.js:
21749         (WebInspector.ConsoleView.prototype._promptKeyDown):
21750         * inspector/front-end/DataGrid.js:
21751         (WebInspector.DataGrid.prototype._keyDown):
21752         * inspector/front-end/DatabaseQueryView.js:
21753         (WebInspector.DatabaseQueryView):
21754         (WebInspector.DatabaseQueryView.prototype._promptKeyDown):
21755         * inspector/front-end/ElementsPanel.js:
21756         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
21757         (WebInspector.ElementsPanel.prototype.get defaultFocusedElement):
21758         (WebInspector.ElementsPanel.prototype.handleShortcut):
21759         * inspector/front-end/ElementsTreeOutline.js:
21760         (WebInspector.ElementsTreeOutline):
21761         (WebInspector.ElementsTreeOutline.prototype._keyDown):
21762         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
21763         (WebInspector.ElementsTreeElement.prototype._editingCancelled):
21764         * inspector/front-end/Panel.js:
21765         (WebInspector.Panel.prototype.show):
21766         (WebInspector.Panel.prototype.get defaultFocusedElement):
21767         * inspector/front-end/PropertiesSection.js:
21768         (WebInspector.PropertiesSection):
21769         * inspector/front-end/ScriptsPanel.js:
21770         (WebInspector.ScriptsPanel):
21771         (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
21772         (WebInspector.ScriptsPanel.prototype.handleShortcut):
21773         * inspector/front-end/SidebarPane.js:
21774         (WebInspector.SidebarPane):
21775         (WebInspector.SidebarPane.prototype.toggleExpanded):
21776         (WebInspector.SidebarPane.prototype._onTitleKeyDown):
21777         * inspector/front-end/SourceFrame.js:
21778         (WebInspector.SourceFrame.prototype._loaded):
21779         * inspector/front-end/TextPrompt.js:
21780         (WebInspector.TextPrompt):
21781         * inspector/front-end/inspector.css:
21782         * inspector/front-end/inspector.html:
21783         * inspector/front-end/inspector.js:
21784         (WebInspector.loaded):
21785         (WebInspector.documentKeyDown):
21786         (WebInspector.documentCanCopy):
21787         (WebInspector.documentCopy):
21788         (WebInspector._searchFieldManualFocus):
21789         (WebInspector._searchKeyDown):
21790         (WebInspector.startEditing.cleanUpAfterEditing):
21791         (WebInspector.startEditing.keyDownEventListener):
21792         (WebInspector.startEditing):
21793         * inspector/front-end/treeoutline.js:
21794         (TreeOutline):
21795         (TreeOutline._removeChildAtIndex):
21796         (TreeOutline.prototype._treeKeyDown):
21797         (TreeElement.prototype.deselect):
21798         * inspector/front-end/utilities.js:
21799         ():
21800
21801 2009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
21802
21803         Unreviewed, build fix.
21804
21805         [Chromium] Guard all of JSC's wrapper cache-related members on Document.
21806
21807         * dom/Document.cpp:
21808         (WebCore::Document::createWrapperCache): Widened the guards to the whole method.
21809         * dom/Document.h: Added JSC guards to wrapper cache-related members.
21810
21811 2009-12-14  Chris Fleizach  <cfleizach@apple.com>
21812
21813         Reviewed by Adele Peterson.
21814
21815         AX: there's an infinite loop going on for some webpages - facebook.com
21816         https://bugs.webkit.org/show_bug.cgi?id=32501
21817
21818         The problem is that parentObjectUnignored() cannot be called
21819         while in accessibilityIsIgnored, because it leads to
21820         recursiveness. Specifically, there were checks to determine
21821         if an object was within a ARIA tree. That check should
21822         1) be moved to all platforms, and 2) not call parentObjectUnignored().
21823
21824         Test: accessibility/hang-in-isignored.html
21825
21826         * accessibility/AccessibilityRenderObject.cpp:
21827         (WebCore::AccessibilityRenderObject::isAllowedChildOfTree):
21828         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
21829         * accessibility/AccessibilityRenderObject.h:
21830         * accessibility/mac/AccessibilityObjectMac.mm:
21831         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
21832
21833 2009-12-14  Eric Carlson  <eric.carlson@apple.com>
21834
21835         Reviewed by Dan Bernstein.
21836
21837         <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows
21838
21839         Use MediaControllerThemeQuickTime on Leopard.
21840
21841         * rendering/RenderThemeMac.mm:
21842         (WebCore::mediaControllerTheme):
21843
21844 2009-12-14  Adam Roben  <aroben@apple.com>
21845
21846         Move QuartzCore-related build settings into a vsprops file
21847
21848         Fixes <http://webkit.org/b/32518>
21849
21850         Reviewed by Dan Bernstein.
21851
21852         * WebCore.vcproj/WebCore.vcproj: Let VS reformat the files list, added
21853         WebCoreQuartzCore.vsprops to the non-Cairo configurations, moved all
21854         other QuartzCore-related build settings from here...
21855         * WebCore.vcproj/WebCoreQuartzCore.vsprops: ...to here.
21856
21857 2009-12-14  Yael Aharon  <yael.aharon@nokia.com>
21858
21859         Reviewed by Antti Koivisto.
21860
21861         handling scripts can block UI
21862         https://bugs.webkit.org/show_bug.cgi?id=27612
21863
21864         Break execution of external scrips to smaller chunks. 
21865         No new tests since no new functionality was introduced.
21866
21867         * html/HTMLTokenizer.cpp:
21868         (WebCore::HTMLTokenizer::HTMLTokenizer):
21869         (WebCore::HTMLTokenizer::reset):
21870         (WebCore::HTMLTokenizer::notifyFinished):
21871         (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
21872         (WebCore::HTMLTokenizer::executeExternalScriptsTimerFired):
21873         (WebCore::HTMLTokenizer::continueExecutingExternalScripts):
21874         * html/HTMLTokenizer.h:
21875
21876 2009-12-03  Holger Hans Peter Freyther  <zecke@selfish.org>
21877
21878         Reviewed by Simon Hausmann.
21879
21880         [Qt] Connect QNetworkReply via direct connections.
21881         https://bugs.webkit.org/show_bug.cgi?id=32113
21882
21883         In the past we have switched from auto connections to queued
21884         connections to get some more stability. The problem with the
21885         Queued connections is latency. Even when running simple loading
21886         tests the time it takes to runs highly varies and by using
21887         direct connections these tests produce a stable result.
21888
21889         We will have to look out for crashes coming from within the
21890         QNetworkAccessManager due this patch and address them then.
21891
21892         * platform/network/qt/QNetworkReplyHandler.cpp:
21893         (WebCore::QNetworkReplyHandler::start):
21894
21895 2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
21896
21897         Rubber-stamped by Simon Hausmann.
21898
21899         [Qt] QtWebKit should use QImageReader::setQuality(49)
21900         https://bugs.webkit.org/show_bug.cgi?id=30740
21901
21902         Using QImageReader::setQuality(49) will influence the JPEG
21903         decoder of Qt to use the JDCT_IFAST routines for decompressing. This
21904         is showing a 5% improvement in a reduction that decodes all images
21905         used during the page loading test. The libjpeg documentation mentions
21906         that the IFAST routine is not as accurate as other routines but in
21907         our tests we couldn't see a difference.
21908
21909         * platform/graphics/qt/ImageDecoderQt.cpp:
21910         (WebCore::ImageDecoderQt::setData):
21911
21912 2009-12-13  Geoffrey Garen  <ggaren@apple.com>
21913
21914         Reviewed by Sam Weinig.
21915         
21916         Changed GC from mark-sweep to mark-allocate.
21917
21918         * ForwardingHeaders/runtime/WeakGCMap.h: Added.
21919         * bindings/js/GCController.cpp:
21920         (WebCore::collect):
21921         (WebCore::GCController::gcTimerFired):
21922         (WebCore::GCController::garbageCollectNow): Updated for rename.
21923
21924         * bindings/js/JSDOMBinding.cpp:
21925         (WebCore::removeWrappers):
21926         (WebCore::hasCachedDOMObjectWrapperUnchecked):
21927         (WebCore::hasCachedDOMObjectWrapper):
21928         (WebCore::hasCachedDOMNodeWrapperUnchecked):
21929         (WebCore::forgetDOMObject):
21930         (WebCore::forgetDOMNode):
21931         (WebCore::isObservableThroughDOM):
21932         (WebCore::markDOMNodesForDocument):
21933         (WebCore::markDOMObjectWrapper):
21934         (WebCore::markDOMNodeWrapper):
21935         * bindings/js/JSDOMBinding.h: Changed DOM wrapper maps to be WeakGCMaps.
21936         Don't ASSERT that an item must be in the WeakGCMap when its destructor
21937         runs, since it might have been overwritten in the map first.
21938
21939         * bindings/js/JSDocumentCustom.cpp:
21940         (WebCore::toJS): Changed Document from a DOM object wrapper to a DOM node
21941         wrapper, to simplify some code.
21942
21943         * bindings/js/JSInspectedObjectWrapper.cpp:
21944         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
21945         (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper):
21946         * bindings/js/JSInspectorCallbackWrapper.cpp: Use a WeakGCMap for these
21947         wrappers.
21948
21949         * bindings/js/JSNodeCustom.cpp:
21950         (WebCore::JSNode::markChildren): Updated for WeakGCMap and Document using
21951         a DOM node wrapper instead of a DOM object wrapper.
21952
21953         * bindings/js/JSSVGPODTypeWrapper.h:
21954         (WebCore::JSSVGDynamicPODTypeWrapperCache::wrapperMap):
21955         (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
21956         (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
21957         (WebCore::::~JSSVGDynamicPODTypeWrapper): Shined a small beam of sanity light
21958         on this code. Use hashtable-based lookup in JSSVGPODTypeWrapper.h instead
21959         of linear lookup through iteration, since that's what hashtables were
21960         invented for. Make JSSVGPODTypeWrapper.h responsible for reomving itself
21961         from the table, instead of its JS wrapper, to decouple these objects from
21962         GC, and because these objects are refCounted, not solely owned by their
21963         JS wrappers.
21964
21965         * bindings/scripts/CodeGeneratorJS.pm:
21966         * dom/Document.h: Adopted changes above.
21967
21968 2009-12-13  Geoffrey Garen  <ggaren@apple.com>
21969
21970         Windows build fix: Removed an incorrect #ifdef.
21971
21972         * bindings/js/GCController.cpp:
21973
21974 2009-12-13  Charles Reis  <creis@chromium.org>
21975
21976         Reviewed by Adam Barth.
21977
21978         Refactor some security code out of V8 bindings
21979         https://bugs.webkit.org/show_bug.cgi?id=32326
21980
21981         No new tests. There should be no functionality changes in this patch,
21982         since it is only refactoring code.
21983
21984         * WebCore.gyp/WebCore.gyp:
21985         * WebCore.gypi:
21986         * bindings/BindingSecurity.h: Added.
21987         (WebCore::BindingSecurity::BindingSecurity):
21988         (WebCore::::canAccessWindow):
21989         (WebCore::::canAccessFrame):
21990         (WebCore::::checkNodeSecurity):
21991         * bindings/BindingSecurityBase.cpp: Added.
21992         (WebCore::BindingSecurityBase::getDOMWindow):
21993         (WebCore::BindingSecurityBase::getFrame):
21994         (WebCore::BindingSecurityBase::canAccessWindow):
21995         * bindings/BindingSecurityBase.h: Added.
21996         * bindings/GenericBinding.h: Added.
21997         (WebCore::):
21998         * bindings/scripts/CodeGeneratorV8.pm:
21999         * bindings/v8/ScriptController.cpp:
22000         (WebCore::ScriptController::isSafeScript):
22001         * bindings/v8/V8Binding.h:
22002         * bindings/v8/V8BindingState.cpp: Added.
22003         (WebCore::::Only):
22004         (WebCore::::getActiveWindow):
22005         (WebCore::::immediatelyReportUnsafeAccessTo):
22006         * bindings/v8/V8BindingState.h: Added.
22007         (WebCore::):
22008         * bindings/v8/V8Proxy.cpp:
22009         (WebCore::V8Proxy::reportUnsafeAccessTo):
22010         (WebCore::reportUnsafeJavaScriptAccess):
22011         * bindings/v8/V8Proxy.h:
22012         (WebCore::V8Proxy::):
22013         * bindings/v8/custom/V8CustomBinding.cpp:
22014         (WebCore::allowSettingFrameSrcToJavascriptUrl):
22015         (WebCore::INDEXED_ACCESS_CHECK):
22016         (WebCore::NAMED_ACCESS_CHECK):
22017         * bindings/v8/custom/V8DOMWindowCustom.cpp:
22018         (WebCore::V8Custom::WindowSetTimeoutImpl):
22019         (WebCore::ACCESSOR_GETTER):
22020         (WebCore::ACCESSOR_SETTER):
22021         (WebCore::CALLBACK_FUNC_DECL):
22022         (WebCore::V8Custom::ClearTimeoutImpl):
22023         (WebCore::NAMED_ACCESS_CHECK):
22024         (WebCore::INDEXED_ACCESS_CHECK):
22025         * bindings/v8/custom/V8LocationCustom.cpp:
22026         (WebCore::ACCESSOR_GETTER):
22027         (WebCore::CALLBACK_FUNC_DECL):
22028         (WebCore::INDEXED_ACCESS_CHECK):
22029         (WebCore::NAMED_ACCESS_CHECK):
22030
22031 2009-11-30  Holger Hans Peter Freyther  <zecke@selfish.org>
22032
22033         Reviewed by Simon Hausmann.
22034
22035         [Qt] Implement initializeMaximumHTTPConnectionCountPerHost.
22036         https://bugs.webkit.org/show_bug.cgi?id=31849
22037
22038         Qt allows to have three connections per host on Symbian, for
22039         every other platform the limit is set to six connections per
22040         host but the default implementation will only schedule four
22041         connections per host.
22042         In a manual test we seem to get the best loading speed by
22043         going with Qt's limit and schedule two more jobs to allow Qt
22044         to prepare them.
22045
22046         * platform/network/ResourceRequestBase.cpp:
22047         * platform/network/qt/ResourceRequestQt.cpp:
22048         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
22049
22050 2009-12-13  Dan Bernstein  <mitz@apple.com>
22051
22052         Reviewed by Simon Fraser.
22053
22054         <rdar://problem/7341364> Crash at HTMLParser::popOneBlockCommon() after
22055         handling misnested residual style tags
22056
22057         Test: fast/parser/residual-style-close-ref-clone.html
22058
22059         * html/HTMLParser.cpp:
22060         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Gave the
22061         block stack a strong reference to the cloned residual style element. 
22062
22063 2009-12-13  Adele Peterson  <adele@apple.com>
22064
22065         Reviewed by Sam Weinig.
22066
22067         Reverting changes from http://trac.webkit.org/changeset/49585 to fix:
22068         <rdar://problem/7382815> REGRESSION (4.0.4-TOT): Home photo slider is too narrow at http://www.ziprealty.com/
22069         https://bugs.webkit.org/show_bug.cgi?id=32078
22070
22071         * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText):
22072
22073 2009-12-08  Jeremy Moskovich  <jeremy@chromium.org>
22074
22075         Reviewed by Eric Seidel.
22076
22077         Add code to allow toggling ATSUI/Core Text rendering at runtime in ComplexTextController.
22078         https://bugs.webkit.org/show_bug.cgi?id=31802
22079
22080         The goal here is to allow for a zero runtime hit for ports that decide to select
22081         the API at compile time.
22082         When both USE(ATSUI) and USE(CORE_TEXT) are true, the API is toggled
22083         at runtime.  Core Text is used for OS Versions >= 10.6.
22084
22085         No test since this is already covered by existing pixel tests.
22086
22087         * platform/graphics/SimpleFontData.h:  Change #ifdef to define getNSFont() on Chrome/Mac .
22088         * platform/graphics/mac/ComplexTextController.cpp:
22089         (WebCore::shouldUseATSUIAPI): Cache decision about which API to use.
22090         (WebCore::ComplexTextController::ComplexTextRun::indexAt):
22091         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Stub function to call through
22092         to ATSUI/Core text variants.
22093         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): The actual work for object construction
22094         is delegate to createTextRunFromFontDataATSUI/createTextRunFromFontDataCoreText.
22095         * platform/graphics/mac/ComplexTextController.h:
22096         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
22097         (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Small style fix.
22098         (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataATSUI):
22099         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
22100         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
22101         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
22102         (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataCoreText):
22103         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
22104
22105 2009-12-13  Eric Carlson  <eric.carlson@apple.com>
22106
22107         No review, rolling out r52059 until I can generate new Tiger
22108         test results.
22109
22110         * rendering/RenderThemeMac.mm:
22111         (WebCore::mediaControllerTheme):
22112
22113 2009-12-12  Sam Weinig  <sam@webkit.org>
22114
22115         Rubber-stamped by Dan Bernstein.
22116
22117         Fix the EXPERIMENTAL_SINGLE_VIEW_MODE build.
22118
22119         * Configurations/WebCore.xcconfig:
22120         * page/EventHandler.cpp:
22121         (WebCore::EventHandler::EventHandler):
22122         (WebCore::EventHandler::clearDragState):
22123         * page/mac/DragControllerMac.mm:
22124         (WebCore::DragController::isCopyKeyDown):
22125         * page/mac/EventHandlerMac.mm:
22126         (WebCore::EventHandler::eventActivatedView):
22127         * platform/PlatformKeyboardEvent.h:
22128         * platform/PlatformMouseEvent.h:
22129         * platform/PlatformWheelEvent.h:
22130         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
22131         * platform/ScrollView.cpp:
22132         (WebCore::ScrollView::wheelEvent):
22133         * platform/mac/KeyEventMac.mm:
22134         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
22135         * platform/mac/PlatformMouseEventMac.mm:
22136         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
22137         * platform/mac/PopupMenuMac.mm:
22138         (WebCore::PopupMenu::show):
22139         * platform/mac/WidgetMac.mm:
22140
22141 2009-12-12  Sam Weinig  <sam@webkit.org>
22142
22143         Rubber-stamped by Dan Bernstein.
22144
22145         Fix the !ENABLE(VIDEO) build.
22146
22147         * rendering/RenderLayerCompositor.cpp:
22148         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
22149
22150 2009-12-12  Sam Weinig  <sam@webkit.org>
22151
22152         Rubber-stamped by Dan Bernstein.
22153
22154         Fix the !ENABLE(DATABASE) build.
22155
22156         * storage/SQLTransactionClient.cpp:
22157         * storage/SQLTransactionClient.h:
22158         * storage/SQLTransactionCoordinator.cpp:
22159         * storage/SQLTransactionCoordinator.h:
22160         * loader/FrameLoader.cpp:
22161         (WebCore::FrameLoader::stopLoading):
22162
22163 2009-12-12  Eric Carlson  <eric.carlson@apple.com>
22164
22165         Reviewed by Dan Bernstein.
22166
22167         <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows
22168
22169         Use MediaControllerThemeQuickTime on Leopard.
22170
22171         * rendering/RenderThemeMac.mm:
22172         (WebCore::mediaControllerTheme):
22173
22174 2009-12-12  Kenneth Russell  <kbr@google.com>
22175
22176         Reviewed by Oliver Hunt.
22177
22178         Errors in WebGL[T]Array set() and get() methods
22179         https://bugs.webkit.org/show_bug.cgi?id=32456
22180
22181         Test: fast/canvas/webgl/bug-32456.html
22182
22183         * bindings/js/JSWebGLFloatArrayCustom.cpp:
22184         (WebCore::JSWebGLFloatArray::set):
22185         * bindings/js/JSWebGLIntArrayCustom.cpp:
22186         (WebCore::JSWebGLIntArray::set):
22187         * bindings/js/JSWebGLShortArrayCustom.cpp:
22188         (WebCore::JSWebGLShortArray::set):
22189         * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
22190         (WebCore::JSWebGLUnsignedByteArray::set):
22191         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
22192         (WebCore::JSWebGLUnsignedIntArray::set):
22193         * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
22194         (WebCore::JSWebGLUnsignedShortArray::set):
22195         * bindings/v8/custom/V8WebGLArrayCustom.h:
22196         (WebCore::setWebGLArray):
22197         * html/canvas/WebGLFloatArray.idl:
22198         * html/canvas/WebGLUnsignedIntArray.idl:
22199
22200 2009-12-12  Kenneth Russell  <kbr@google.com>
22201
22202         Reviewed by Oliver Hunt.
22203
22204         Update WebGL tests to released versions
22205         https://bugs.webkit.org/show_bug.cgi?id=32457
22206
22207         * manual-tests/webgl/Earth.html:
22208         * manual-tests/webgl/ManyPlanetsDeep.html:
22209         * manual-tests/webgl/SpinningBox.html:
22210         * manual-tests/webgl/TeapotPerPixel.html:
22211         * manual-tests/webgl/TeapotPerVertex.html:
22212         * manual-tests/webgl/resources/CanvasMatrix.js:
22213         (CanvasMatrix4.prototype.getAsWebGLFloatArray):
22214         * manual-tests/webgl/resources/utils3d.js:
22215         (initWebGL.gl.console.window.console.log):
22216         (initWebGL):
22217         (loadShader):
22218         (makeBox):
22219         (makeSphere):
22220         (processLoadObj):
22221         (doLoadObj):
22222         (doLoadImageTexture):
22223
22224 2009-12-12  Christian Dywan  <christian@twotoasts.de>
22225
22226         Reviewed by Dirk Schulze.
22227
22228         Remove the include to SVGFEDisplacementMap.h, it's not needed at all.
22229
22230         * platform/graphics/filters/FEComponentTransfer.h:
22231
22232 2009-12-12  Christian Dywan  <christian@twotoasts.de>
22233
22234         Rubber-stamped by Maciej Stachowiak.
22235
22236         Only include SVGFEDisplacementMap.h if SVG is enabled.
22237
22238         * platform/graphics/filters/FEComponentTransfer.h:
22239
22240 2009-12-12  Dirk Schulze  <krit@webkit.org>
22241
22242         Reviewed by Eric Seidel.
22243
22244         [Cairo][Qt] Alpha blending in SVG filters is wrong
22245         https://bugs.webkit.org/show_bug.cgi?id=32427
22246
22247         This patch is a follow-up to:
22248         http://trac.webkit.org/changeset/51950
22249         It fixes the alpha blending for Cairo and Qt on SVG Filters.
22250
22251         Covered by: * LayoutTests/svg/filters/feGaussianBlur.svg
22252                     * LayoutTests/svg/filters/feComposite.svg
22253                      and others.
22254
22255         * platform/graphics/cairo/ImageBufferCairo.cpp:
22256         (WebCore::ImageBuffer::platformTransformColorSpace):
22257         * platform/graphics/qt/ImageBufferQt.cpp:
22258         (WebCore::ImageBuffer::platformTransformColorSpace):
22259
22260 2009-12-11  Eric Roman  <eroman@chromium.org>
22261
22262         Unreviewed build fix.
22263
22264         [V8] Add a method on ScriptController to get it compiling after http://trac.webkit.org/changeset/52033.
22265
22266         * bindings/v8/ScriptController.cpp:
22267         (WebCore::ScriptController::anyPageIsProcessingUserGesture):
22268         * bindings/v8/ScriptController.h:
22269
22270 2009-12-11  Dimitri Glazkov  <dglazkov@chromium.org>
22271
22272         Unreviewed, build fix.
22273
22274         [V8] Change bindings to catch up with http://trac.webkit.org/changeset/52033.
22275
22276         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
22277         (WebCore::CALLBACK_FUNC_DECL): Added retrieval of calling frame and passing
22278           to the submit method.
22279
22280 2009-12-11  Sam Weinig  <sam@webkit.org>
22281
22282         Reviewed by Mark Rowe.
22283
22284         Put -umbrella linker flag into a variable so that it can be overridden.
22285
22286         * Configurations/WebCore.xcconfig:
22287
22288 2009-12-11  Shinichiro Hamaji  <hamaji@chromium.org>
22289
22290         Reviewed by Darin Adler.
22291
22292         body with display:inline causes crash
22293         https://bugs.webkit.org/show_bug.cgi?id=32371
22294
22295         Tests: fast/inline/inline-body-crash.html
22296                fast/inline/inline-body-with-scrollbar-crash.html
22297
22298         * page/FrameView.cpp:
22299         (WebCore::FrameView::createScrollbar):
22300         (WebCore::FrameView::layout):
22301
22302 2009-12-11  Brady Eidson  <beidson@apple.com>
22303
22304         Rubberstamped by Sam Weinig.
22305
22306         https://webkit.org/b/22851 - Remove defunct FIXME.
22307
22308         * html/HTMLPlugInElement.cpp:
22309         (WebCore::HTMLPlugInElement::HTMLPlugInElement): This flag was removed completely
22310           from the HTMLFrameOwnerElement chain of classes.
22311
22312 2009-12-11  Darin Adler  <darin@apple.com>
22313
22314         Reviewed by Dan Bernstein.
22315
22316         Small refactoring to get rid of some extra unneeded selection-related work
22317         in RenderLayer::scrollToOffset and separate caret and range selection
22318         logic in FrameView::layout. This may be useful later when changing how
22319         the range selection logic works to fix layout reentrancy problems.
22320
22321         * page/Frame.cpp: Removed invalidateSelection.
22322         * page/Frame.h: Ditto.
22323
22324         * page/FrameView.cpp:
22325         (WebCore::FrameView::layout): Call SelectionController::setNeedsLayout
22326         and Frame::selectionLayoutChanged instead of calling
22327         Frame::invalidateSelection, which was just a function that called
22328         both of those others.
22329
22330         * rendering/RenderLayer.cpp:
22331         (WebCore::RenderLayer::scrollToOffset): Call
22332         SelectionController::setNeedsLayout instead of calling
22333         Frame::invalidateSelection. This call site only needs the caret-related
22334         work in that first function, not the other work formerly done by
22335         Frame::invalidateSelection. The caret works outside the normal
22336         painting and rendering system, and the range selection highlight is
22337         more or less inside it and doesn't need special handling when scrolling.
22338
22339 2009-12-11  Brady Eidson  <beidson@apple.com>
22340
22341         Reviewed by Darin Adler.
22342
22343         <rdar://problem/7342725> and https://webkit.org/b/32383
22344         Selecting article text at sfgate.com results in spurious back/forward entries
22345
22346         If an iframe had a form and that form is submitted by javascript, IE and Opera don't add back/forward entries.
22347         
22348         In the case where the frame was added dynamically via createElement(), Firefox would like to add a back entry
22349         but has a bug that prevents this.
22350
22351         Therefore by a bizarre coincidence, WebKit is the loner and the only engine affected by sfgate.com's technique.
22352
22353         This patch changes us to willfully match IE and Opera and fixes sfgate.com in the process.
22354
22355         Tests: http/tests/navigation/dynamic-iframe-dynamic-form-back-entry.html
22356                http/tests/navigation/parsed-iframe-dynamic-form-back-entry.html
22357
22358         Capture whether the form was submitted by javascript:
22359         * loader/FormState.cpp:
22360         (WebCore::FormState::FormState):
22361         (WebCore::FormState::create):
22362         * loader/FormState.h:
22363         (WebCore::FormState::formSubmissionTrigger):
22364
22365         When deciding the value of the lockBackForwardList variable, take formSubmissionTrigger() into account:
22366         * loader/RedirectScheduler.cpp:
22367         (WebCore::RedirectScheduler::scheduleFormSubmission):
22368
22369         Rearrange the public HTMLFormElement::submit() method to be called only from DOM or JS bindings,
22370         and figure out the rest of the parameters for an internal submit() call including the formSubmissionTrigger:
22371         * bindings/js/JSHTMLFormElementCustom.cpp:
22372         (WebCore::JSHTMLFormElement::submit):
22373         * html/HTMLFormElement.cpp:
22374         (WebCore::HTMLFormElement::prepareSubmit):
22375         (WebCore::HTMLFormElement::submit):
22376         * html/HTMLFormElement.h:
22377
22378 2009-12-11  Alexey Proskuryakov  <ap@apple.com>
22379
22380         Reviewed by Darin Adler.
22381
22382         https://bugs.webkit.org/show_bug.cgi?id=32445
22383         REGRESSION: http://www.mcafee.com/japan/ displays unstyled
22384
22385         * css/CSSImportRule.cpp:
22386         (WebCore::CSSImportRule::setCSSStyleSheet):
22387         * html/HTMLLinkElement.cpp:
22388         (WebCore::HTMLLinkElement::setCSSStyleSheet):
22389         Add a quirk for mcafee.com/japan (http or https, with or without www).
22390
22391 2009-12-11  Sam Weinig  <sam@webkit.org>
22392
22393         Reviewed by Dan Bernstein.
22394
22395         Make PlatformWheelEvent.h private instead of project.
22396
22397         * WebCore.xcodeproj/project.pbxproj:
22398
22399 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
22400
22401         Reviewed by Darin Adler.
22402
22403         Support reflections on composited layers
22404         https://bugs.webkit.org/show_bug.cgi?id=31885
22405         
22406         First part of supporting composited reflections on compositing layers.
22407         
22408         Rename the m_transformLayer member variable to m_structuralLayer, since it
22409         will get used both for transform layers (for preserve-3d) and to hold a flattening
22410         layer related to reflections, both of which have similar requirements, and are
22411         mutually exclusive.
22412
22413         * platform/graphics/mac/GraphicsLayerCA.h:
22414         primaryLayer(), hostLayerForSublayers() and layerForSuperlayer() all now return
22415         a CALayer, since m_structuralLayer isn't always a WebLayer.
22416         
22417         * platform/graphics/mac/GraphicsLayerCA.mm:
22418         (WebCore::GraphicsLayerCA::commitLayerChanges):
22419         updateLayerPreserves3D() renamed to updateStructuralLayer()
22420         
22421         (WebCore::GraphicsLayerCA::updateLayerNames):
22422         New "update" method for updating layer names.
22423         
22424         (WebCore::GraphicsLayerCA::updateSublayerList):
22425         m_transformLayer -> m_structuralLayer. Also minor refactor to only
22426         allocate newSublayers in one place.
22427         
22428         (WebCore::GraphicsLayerCA::updateLayerSize):
22429         (WebCore::GraphicsLayerCA::removeAnimationFromLayer):
22430         (WebCore::GraphicsLayerCA::hostLayerForSublayers):
22431         (WebCore::GraphicsLayerCA::layerForSuperlayer):
22432         m_transformLayer -> m_structuralLayer
22433         
22434         (WebCore::GraphicsLayerCA::updateStructuralLayer):
22435         Call ensureStructuralLayer() which handles any deltas to the
22436         structural layer type.
22437         
22438         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
22439         Handle changes to the structural layer requirements
22440         
22441         (WebCore::GraphicsLayerCA::structuralLayerPurpose):
22442         Return an enum describing the purpose of the structural layer; for now
22443         this only returns NoStructuralLayer or StructuralLayerForPreserves3D, but
22444         will in future also have a value related to reflections.
22445
22446 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
22447
22448         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
22449
22450         * page/animation/KeyframeAnimation.cpp:
22451         (WebCore::KeyframeAnimation::pauseAnimation):
22452
22453 2009-12-11  Adam Roben  <aroben@apple.com>
22454
22455         Windows build fix
22456
22457         * platform/graphics/win/WKCACFLayerRenderer.cpp: Removed #include of
22458         non-existent header.
22459
22460 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
22461
22462         Build fix, no review.
22463
22464         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
22465
22466         * page/animation/KeyframeAnimation.cpp:
22467         (WebCore::KeyframeAnimation::startAnimation):
22468
22469 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
22470
22471         Build fix, no review.
22472
22473         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
22474
22475         * page/animation/ImplicitAnimation.cpp:
22476         (WebCore::ImplicitAnimation::startAnimation):
22477
22478 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
22479
22480         Reviewed by Darin Adler.
22481
22482         Negative values for animation-delay are ignored (treated as zero)
22483         https://bugs.webkit.org/show_bug.cgi?id=26150
22484         
22485         When we get the m_startTime for an animation or transition, subtract any negative
22486         delay so the animation/transition behaves like it started in the past, per spec.
22487
22488         Tests: animations/negative-delay.html
22489                transitions/negative-delay.html
22490
22491         * page/animation/AnimationBase.cpp:
22492         (WebCore::AnimationBase::updateStateMachine):
22493
22494 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
22495
22496         Reviewed by Dan Bernstein.
22497
22498         Accelerated transitions broken when mixed with paused animations
22499         https://bugs.webkit.org/show_bug.cgi?id=32387
22500
22501         Synchronization of a mixture of accelerated and software animations occurs via
22502         a callback from GraphicsLayerCA, which ends up in
22503         AnimationControllerPrivate::receivedStartTimeResponse(). The time passed in is
22504         the exact time at which the accelerated animations started, so is used as the
22505         start time for all animations and transitions which are marked as waiting.
22506
22507         The bug was that the callback called when re-starting animations that were
22508         paused sent back an old time value, but this was used to start normal
22509         transitions. Therefore the transition would start with a stale start time, and
22510         thus end prematurely.
22511
22512         The fix is to change the way that GraphicsLayerCA handles paused animations.
22513         Rather than setting the beginTime of the animation, it uses a beginTime of 0
22514         and a timeOffset that gets passed down. Thus the callbacks always come with
22515         beginTime for 'now'.
22516
22517         Also clarify the role of AnimationBase::endAnimation() by splitting it into
22518         pauseAnimation() and endAnimation(), and pass down timeOffsets, rather than
22519         beginTimes when starting and pausing.
22520
22521         Manual test only, because the bug requires a non-trivial combination of
22522         animation pausing and transitions which take time, and the bug only shows in
22523         pixel results.
22524         
22525         * manual-tests/animation/transitions-and-paused-animations.html
22526
22527         * page/animation/AnimationBase.cpp:
22528         (WebCore::AnimationBase::updateStateMachine):
22529         * page/animation/AnimationBase.h:
22530         (WebCore::AnimationBase::startAnimation):
22531         (WebCore::AnimationBase::pauseAnimation):
22532         (WebCore::AnimationBase::endAnimation):
22533         * page/animation/ImplicitAnimation.cpp:
22534         (WebCore::ImplicitAnimation::~ImplicitAnimation):
22535         (WebCore::ImplicitAnimation::startAnimation):
22536         (WebCore::ImplicitAnimation::endAnimation):
22537         (WebCore::ImplicitAnimation::onAnimationEnd):
22538         * page/animation/ImplicitAnimation.h:
22539         (WebCore::ImplicitAnimation::pauseAnimation):
22540         * page/animation/KeyframeAnimation.cpp:
22541         (WebCore::KeyframeAnimation::~KeyframeAnimation):
22542         (WebCore::KeyframeAnimation::startAnimation):
22543         (WebCore::KeyframeAnimation::pauseAnimation):
22544         (WebCore::KeyframeAnimation::endAnimation):
22545         (WebCore::KeyframeAnimation::onAnimationEnd):
22546         * page/animation/KeyframeAnimation.h:
22547         * platform/graphics/GraphicsLayer.h:
22548         (WebCore::GraphicsLayer::addAnimation):
22549         (WebCore::GraphicsLayer::pauseAnimation):
22550         * platform/graphics/mac/GraphicsLayerCA.h:
22551         (WebCore::GraphicsLayerCA::LayerAnimation::LayerAnimation):
22552         (WebCore::GraphicsLayerCA::AnimationProcessingAction::AnimationProcessingAction):
22553         * platform/graphics/mac/GraphicsLayerCA.mm:
22554         (WebCore::GraphicsLayerCA::addAnimation):
22555         (WebCore::GraphicsLayerCA::removeAnimationsForKeyframes):
22556         (WebCore::GraphicsLayerCA::pauseAnimation):
22557         (WebCore::GraphicsLayerCA::updateLayerAnimations):
22558         (WebCore::GraphicsLayerCA::setAnimationOnLayer):
22559         (WebCore::GraphicsLayerCA::pauseAnimationOnLayer):
22560         (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
22561         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
22562         * rendering/RenderLayerBacking.cpp:
22563         (WebCore::RenderLayerBacking::startAnimation):
22564         (WebCore::RenderLayerBacking::startTransition):
22565         (WebCore::RenderLayerBacking::animationPaused):
22566         * rendering/RenderLayerBacking.h:
22567
22568 2009-12-11  Brian Weinstein  <bweinstein@apple.com>
22569
22570         Reviewed by Darin Adler.
22571
22572         Fixes <http://webkit.org/b/32399>.
22573         Pan Scrolling Jumps out of frames if the initial location is in a frame that can't be scrolled.
22574         
22575         When we initially figure out the layer that we should begin scrolling, don't try to jump out
22576         of frames/iFrames to look at the owner document. We don't want to jump out of frames, so we
22577         don't need that logic anymore.
22578         
22579         Added a test to make sure that we don't pan scroll if we start to scroll in an empty
22580         iFrame that has a scrollable owner document.
22581
22582         Test: platform/win/fast/events/panScroll-no-iframe-jump.html
22583
22584         * dom/Node.cpp:
22585         (WebCore::Node::defaultEventHandler):
22586
22587 2009-12-11  Brian Weinstein  <bweinstein@apple.com>
22588
22589         Reviewed by Adam Roben.
22590
22591         Fixes <http://webkit.org/b/32303>.
22592         Middle-mouse button not firing mousedown DOM event when autoscroll happens.
22593         
22594         This fix moves the pan scrolling code into Node.cpp, as part of the default event handler.
22595         We get two wins out of this:
22596             1) Mousedown DOM events are now fired before pan scrolling.
22597             2) Calling event.preventDefault() on a middle mouse button will now prevent pan scrolling.
22598         
22599         Added tests to show that middle mousedown DOM events are fired when panscrolling happens, and
22600         that when event.preventDefault is called, pan scrolling doesn't happen.
22601
22602         Tests: platform/win/fast/events/panScroll-event-fired.html
22603                platform/win/fast/events/panScroll-preventDefault.html
22604
22605         * dom/Node.cpp:
22606         (WebCore::Node::defaultEventHandler): Moved pan scrolling starting code to here.
22607         * page/EventHandler.cpp:
22608         (WebCore::EventHandler::startPanScrolling): Function to initialize scrolling variables and start timer.
22609         (WebCore::EventHandler::handleMousePressEvent): From here.
22610         * page/EventHandler.h:
22611
22612 2009-12-11  Chris Marrin  <cmarrin@apple.com>
22613
22614         Reviewed by Adam Roben.
22615
22616         Delay load DLLs for accelerated compositing
22617         https://bugs.webkit.org/show_bug.cgi?id=31856
22618         
22619         Change calls that use the data export symbols from
22620         QuartzCore to use the functions in QuartzCoreInterface.
22621         This allows QuartzCore to be delay loaded.
22622
22623         * platform/graphics/win/GraphicsLayerCACF.cpp:
22624         (WebCore::GraphicsLayerCACF::GraphicsLayerCACF):
22625         (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
22626         (WebCore::GraphicsLayerCACF::updateContentsImage):
22627         * platform/graphics/win/WKCACFLayer.cpp:
22628         (WebCore::toCACFLayerType):
22629         (WebCore::toCACFContentsGravityType):
22630         (WebCore::fromCACFContentsGravityType):
22631         (WebCore::toCACFFilterType):
22632         (WebCore::fromCACFFilterType):
22633         (WebCore::WKCACFLayer::create):
22634         (WebCore::WKCACFLayer::WKCACFLayer):
22635         (WebCore::WKCACFLayer::setContentsGravity):
22636         (WebCore::WKCACFLayer::contentsGravity):
22637         (WebCore::WKCACFLayer::setMagnificationFilter):
22638         (WebCore::WKCACFLayer::magnificationFilter):
22639         (WebCore::WKCACFLayer::setMinificationFilter):
22640         (WebCore::WKCACFLayer::minificationFilter):
22641         * platform/graphics/win/WKCACFLayer.h:
22642         (WebCore::WKCACFLayer::):
22643         * platform/graphics/win/WKCACFLayerRenderer.cpp:
22644         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
22645         (WebCore::WKCACFLayerRenderer::createRenderer):
22646
22647 2009-12-11  Steve Block  <steveblock@google.com>
22648
22649         Reviewed by Darin Fisher.
22650
22651         Adds an Android-specific implementation of initializeMaximumHTTPConnectionCountPerHost.
22652         https://bugs.webkit.org/show_bug.cgi?id=31810
22653
22654         * platform/network/ResourceRequestBase.cpp: Modified. Disable default implementation
22655             of initializeMaximumHTTPConnectionCountPerHost for Android.
22656         * platform/network/android: Added.
22657         * platform/network/android/ResourceRequestAndroid.cpp: Added.
22658         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Android-specific implementation.
22659
22660 2009-12-11  Kent Tamura  <tkent@chromium.org>
22661
22662         Reviewed by Darin Fisher.
22663
22664         Add acceptTypes() method to FileChooser.
22665         https://bugs.webkit.org/show_bug.cgi?id=32429
22666
22667         This method returns an 'accept' attribute value of the
22668         corresponding INPUT element. A ChromeClient::runOpenPanel()
22669         implementation can refer it through a FileChooser instance to
22670         support type-restricted file selecting.
22671
22672         This makes no user-visible changes for now.
22673
22674         * platform/FileChooser.h:
22675         (WebCore::FileChooser::acceptTypes):
22676         * rendering/RenderFileUploadControl.cpp:
22677         (WebCore::RenderFileUploadControl::acceptTypes):
22678         * rendering/RenderFileUploadControl.h:
22679
22680 2009-12-11  Victor Wang  <victorw@chromium.org>
22681
22682         Reviewed by Darin Fisher.
22683
22684         Changed PopupMenuChromium to keep the value selected from
22685         keyboard when popup is closed.
22686
22687         The problem is Chromium does not fire the onchange event
22688         when the popup is closed if an item is selected via
22689         keyboard by typing the first char of the item. This makes
22690         chromium popup not having consistent behaviours and also
22691         behaves differently from other major browsers.
22692         Calling popup->hide() instead of popup->hidePopup() in
22693         PopupMenu fixes the issues as it does extra step to check
22694         whethere there is a keyboard selection changed when closing
22695         the popup.
22696
22697         https://bugs.webkit.org/show_bug.cgi?id=32403
22698     
22699         TEST: add a manual test as the current layout test shell
22700         does not support sending keyboard events to popup list.
22701
22702         * manual-tests/chromium/select-close-popup-value-change.html: Added.
22703         * platform/chromium/PopupMenuChromium.cpp:
22704         (WebCore::PopupMenu::hide):
22705
22706 2009-12-11  anton muhin  <antonm@chromium.org>
22707
22708         Reviewed by Adam Barth.
22709
22710         [v8] refactor WeakReferenceMap.
22711         Move common bits of functionality to reduce duplication.
22712
22713         https://bugs.webkit.org/show_bug.cgi?id=32389
22714
22715         Should be covered by buildbots.
22716
22717         * bindings/v8/DOMData.h:
22718         (WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper):
22719         (WebCore::DOMData::handleWeakObject):
22720         (WebCore::DOMData::removeObjectsFromWrapperMap):
22721         * bindings/v8/DOMDataStore.cpp:
22722         (WebCore::DOMDataStore::weakDOMObjectCallback):
22723         (WebCore::DOMDataStore::weakActiveDOMObjectCallback):
22724         (WebCore::DOMDataStore::weakNodeCallback):
22725         (WebCore::DOMDataStore::weakSVGElementInstanceCallback):
22726         (WebCore::DOMDataStore::weakSVGObjectWithContextCallback):
22727         * bindings/v8/DOMDataStore.h:
22728         * bindings/v8/V8DOMMap.cpp:
22729         (WebCore::visitDOMNodesInCurrentThread):
22730         (WebCore::visitDOMObjectsInCurrentThread):
22731         (WebCore::visitActiveDOMObjectsInCurrentThread):
22732         (WebCore::visitDOMSVGElementInstancesInCurrentThread):
22733         (WebCore::visitSVGObjectsInCurrentThread):
22734         * bindings/v8/V8DOMMap.h:
22735         (WebCore::WeakReferenceMap::removeIfPresent):
22736         (WebCore::WeakReferenceMap::clear):
22737         (WebCore::WeakReferenceMap::visit):
22738
22739 2009-12-11  anton muhin  <antonm@chromium.org>
22740         Reviewed by Adam Barth.
22741
22742         [v8] in Debug builds create an additional handle scope
22743         when doing debug build checks.
22744         https://bugs.webkit.org/show_bug.cgi?id=32335
22745
22746         Should be covered by buildbots.
22747
22748         * bindings/v8/V8DOMWrapper.h:
22749         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
22750         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
22751
22752 2009-12-11  Pavel Feldman  <pfeldman@chromium.org>
22753
22754         Reviewed by Timothy Hatcher.
22755
22756         Web Inspector: Do not use ContextMenuItem as value type in custom
22757         context menu implementation.
22758
22759         https://bugs.webkit.org/show_bug.cgi?id=32411
22760
22761         * GNUmakefile.am:
22762         * WebCore.gypi:
22763         * WebCore.pro:
22764         * WebCore.vcproj/WebCore.vcproj:
22765         * WebCore.xcodeproj/project.pbxproj:
22766         * bindings/js/JSInspectorFrontendHostCustom.cpp:
22767         (WebCore::JSInspectorFrontendHost::showContextMenu):
22768         * inspector/InspectorFrontendHost.cpp:
22769         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
22770         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
22771         (WebCore::InspectorFrontendHost::showContextMenu):
22772         (WebCore::InspectorFrontendHost::contextMenuCleared):
22773         * inspector/InspectorFrontendHost.h:
22774         (WebCore::InspectorFrontendHost::MenuProvider::create):
22775         (WebCore::InspectorFrontendHost::MenuProvider::~MenuProvider):
22776         (WebCore::InspectorFrontendHost::MenuProvider::disconnect):
22777         (WebCore::InspectorFrontendHost::MenuProvider::populateContextMenu):
22778         (WebCore::InspectorFrontendHost::MenuProvider::contextMenuCleared):
22779         (WebCore::InspectorFrontendHost::MenuProvider::MenuProvider):
22780         * page/ContextMenuController.cpp:
22781         (WebCore::ContextMenuController::ContextMenuController):
22782         (WebCore::ContextMenuController::clearContextMenu):
22783         (WebCore::ContextMenuController::showContextMenu):
22784         (WebCore::ContextMenuController::contextMenuItemSelected):
22785         * page/ContextMenuController.h:
22786         * page/ContextMenuProvider.h: Added.
22787         (WebCore::ContextMenuProvider::~ContextMenuProvider):
22788         * page/ContextMenuSelectionHandler.h: Removed.
22789
22790 2009-12-11  Simon Hausmann  <hausmann@webkit.org>, Kim Grönholm  <kim.gronholm@nomovok.com>
22791
22792         Reviewed by Antti Koivisto.
22793
22794         Basic cross-platform implementation of mapping platform touch events
22795         to JavaScript touch events.
22796
22797         https://bugs.webkit.org/show_bug.cgi?id=32114
22798
22799         Test: fast/events/basic-touch-events.html
22800
22801         * page/EventHandler.cpp:
22802         (WebCore::EventHandler::handleTouchEvent):
22803         * page/EventHandler.h:
22804
22805 2009-12-11  Zoltan Horvath  <zoltan@webkit.org>
22806
22807         Reviewed by Darin Adler.
22808
22809         Allow custom memory allocation control for WebCore's EmptyFrameLoaderClient
22810         https://bugs.webkit.org/show_bug.cgi?id=32110
22811
22812         Inherits the following class from Noncopyable because it is
22813         instantiated by 'new' and no need to be copyable:
22814
22815         class name              - instantiated at: WebCore/'location'
22816
22817         class EmptyFrameLoaderClient - svg/graphics/SVGImage.cpp:229
22818
22819         * loader/FrameLoaderClient.h:
22820
22821 2009-12-11  Zoltan Horvath  <zoltan@webkit.org>
22822
22823         Reviewed by Darin Adler.
22824
22825         Allow custom memory allocation control for 3 classes in WebCore's svg and loader directory
22826         https://bugs.webkit.org/show_bug.cgi?id=32106
22827
22828         Inherits the following classes from Noncopyable because these are instantiated 
22829         by 'new' and no need to be copyable:
22830
22831         class/struct name            - instantiated at: WebCore/'location'
22832
22833         class EmptyContextMenuClient - instantiated at: svg/graphics/SVGImage.cpp:232
22834         class EmptyDragClient        - instantiated at: svg/graphics/SVGImage.cpp:237
22835         class SVGImageChromeClient   - instantiated at: svg/graphics/SVGImage.cpp:243
22836
22837         * svg/graphics/SVGImage.cpp:
22838         * loader/EmptyClients.h:
22839
22840 2009-12-11  Benjamin Poulain  <benjamin.poulain@nokia.com>
22841
22842         Reviewed by Darin Adler.
22843
22844         The values of RuntimeArray are not enumerable
22845         https://bugs.webkit.org/show_bug.cgi?id=29005
22846
22847         The indices of RuntimeArray should be enumerated like for a regular array.
22848
22849         * bridge/runtime_array.cpp:
22850         (JSC::RuntimeArray::getOwnPropertyNames):
22851         * bridge/runtime_array.h:
22852
22853 2009-12-11  Andreas Kling  <andreas.kling@nokia.com>
22854
22855         Reviewed by Simon Hausmann.
22856
22857         [Qt] ImageDecoderQt: Fix retrieval of image file extensions
22858
22859         QImageReader only allows retrieving the format() before actually reading the image.
22860
22861         https://bugs.webkit.org/show_bug.cgi?id=32428
22862
22863         * platform/graphics/qt/ImageDecoderQt.cpp:
22864         (WebCore::ImageDecoderQt::setData):
22865         (WebCore::ImageDecoderQt::internalDecodeSize):
22866
22867 2009-12-11  Simon Hausmann  <hausmann@webkit.org>, Kim Grönholm  <kim.gronholm@nomovok.com>
22868
22869         Reviewed by Antti Koivisto.
22870
22871         Added interfaces for touch event support in JavaScript.
22872
22873         https://bugs.webkit.org/show_bug.cgi?id=32114
22874
22875         The Touch, TouchEvent and TouchList interfaces come straight from
22876         Android's copy of WebKit (eclaire branch).
22877
22878         The PlatformTouchEvent and PlatformTouchPoint code was written by
22879         us.
22880
22881         No new tests added, we are just adding interfaces
22882         with this patch.
22883
22884         * WebCore.pro:
22885         * bindings/js/JSEventCustom.cpp:
22886         (WebCore::toJS):
22887         * dom/Document.cpp:
22888         (WebCore::Document::addListenerTypeIfNeeded):
22889         * dom/Document.h:
22890         (WebCore::Document::):
22891         * dom/Document.idl:
22892         * dom/Element.h:
22893         * dom/Element.idl:
22894         * dom/Event.cpp:
22895         (WebCore::Event::isTouchEvent):
22896         * dom/Event.h:
22897         * dom/EventNames.h:
22898         * dom/Touch.cpp: Added.
22899         (WebCore::contentsX):
22900         (WebCore::contentsY):
22901         (WebCore::Touch::Touch):
22902         (WebCore::Touch::updateLocation):
22903         * dom/Touch.h: Added.
22904         (WebCore::Touch::create):
22905         (WebCore::Touch::frame):
22906         (WebCore::Touch::target):
22907         (WebCore::Touch::identifier):
22908         (WebCore::Touch::clientX):
22909         (WebCore::Touch::clientY):
22910         (WebCore::Touch::screenX):
22911         (WebCore::Touch::screenY):
22912         (WebCore::Touch::pageX):
22913         (WebCore::Touch::pageY):
22914         * dom/Touch.idl: Added.
22915         * dom/TouchEvent.cpp: Added.
22916         (WebCore::TouchEvent::TouchEvent):
22917         (WebCore::TouchEvent::initTouchEvent):
22918         * dom/TouchEvent.h: Added.
22919         (WebCore::TouchEvent::create):
22920         (WebCore::TouchEvent::touches):
22921         (WebCore::TouchEvent::targetTouches):
22922         (WebCore::TouchEvent::changedTouches):
22923         (WebCore::TouchEvent::TouchEvent):
22924         (WebCore::TouchEvent::isTouchEvent):
22925         * dom/TouchEvent.idl: Added.
22926         * dom/TouchList.cpp: Added.
22927         (WebCore::TouchList::item):
22928         * dom/TouchList.h: Added.
22929         (WebCore::TouchList::create):
22930         (WebCore::TouchList::length):
22931         (WebCore::TouchList::append):
22932         (WebCore::TouchList::TouchList):
22933         * dom/TouchList.idl: Added.
22934         * html/HTMLAttributeNames.in:
22935         * html/HTMLElement.cpp:
22936         (WebCore::HTMLElement::parseMappedAttribute):
22937         * page/DOMWindow.h:
22938         * page/DOMWindow.idl:
22939         * platform/PlatformTouchEvent.h: Added.
22940         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
22941         (WebCore::PlatformTouchEvent::touchPoints):
22942         * platform/PlatformTouchPoint.h: Added.
22943         (WebCore::PlatformTouchPoint::):
22944         (WebCore::PlatformTouchPoint::id):
22945         (WebCore::PlatformTouchPoint::state):
22946         (WebCore::PlatformTouchPoint::screenPos):
22947         (WebCore::PlatformTouchPoint::pos):
22948         * platform/qt/PlatformTouchEventQt.cpp: Added.
22949         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
22950         * platform/qt/PlatformTouchPointQt.cpp: Added.
22951         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
22952
22953 2009-12-11  Grace Kloba  <klobag@gmail.com>
22954
22955         Reviewed by Darin Adler.
22956
22957         [Android] Add detachHistoryItem() to AndroidWebHistoryBridge. And the constructor takes
22958         HistoryItem* now. As AndroidWebHistoryBridge holds a dumb pointer of HistoryItem and
22959         HistoryItem holds a RefPtr of AndroidWebHistoryBridge, the dumb pointer needs to be cleared
22960         when HistoryItem is deleted to avoid potential crash.
22961         https://bugs.webkit.org/show_bug.cgi?id=32251
22962
22963         * history/HistoryItem.cpp:
22964         (WebCore::HistoryItem::~HistoryItem):
22965         * history/android/AndroidWebHistoryBridge.h:
22966         (WebCore::AndroidWebHistoryBridge::AndroidWebHistoryBridge):
22967         (WebCore::AndroidWebHistoryBridge::detachHistoryItem):
22968
22969
22970 2009-12-11  Fumitoshi Ukai  <ukai@chromium.org>
22971
22972         Reviewed by Pavel Feldman.
22973
22974         Log WebSocket error to Web Inspector console.
22975         https://bugs.webkit.org/show_bug.cgi?id=32165
22976
22977         * websockets/WebSocketChannel.cpp:
22978         (WebCore::WebSocketChannel::didOpen):
22979         (WebCore::WebSocketChannel::appendToBuffer):
22980         * websockets/WebSocketHandshake.cpp:
22981         (WebCore::WebSocketHandshake::readServerHandshake):
22982         (WebCore::WebSocketHandshake::readHTTPHeaders):
22983         (WebCore::WebSocketHandshake::checkResponseHeaders):
22984
22985 2009-12-10  Adam Barth  <abarth@webkit.org>
22986
22987         Reviewed by Darin Adler.
22988
22989         Mixed content shouldn't trigger for plug-ins without URLs
22990         https://bugs.webkit.org/show_bug.cgi?id=32384
22991
22992         These plug-ins cannot be controlled by active network attackers, so
22993         there's no reason to trigger a mixed content warning.
22994
22995         Test: http/tests/security/mixedContent/empty-url-plugin-in-frame.html
22996
22997         * loader/FrameLoader.cpp:
22998         (WebCore::FrameLoader::isMixedContent):
22999
23000 2009-12-10  Alexey Proskuryakov  <ap@apple.com>
23001
23002         Reviewed by Darin Adler.
23003
23004         https://bugs.webkit.org/show_bug.cgi?id=32140
23005         REGRESSION(r50072): Mailman administrative functionality is broken
23006
23007         Test: http/tests/misc/percent-sign-in-form-field-name.html
23008
23009         * platform/network/FormDataBuilder.cpp: (WebCore::appendQuotedString): Don't encode percent
23010         sign, we never had a good reason to do that.
23011
23012 2009-12-10  Kent Hansen  <kent.hansen@nokia.com>
23013
23014         Reviewed by Geoffrey Garen.
23015
23016         Remove getPropertyAttributes() from JavaScript bindings.
23017         https://bugs.webkit.org/show_bug.cgi?id=31933
23018
23019         The functionality is provided by getOwnPropertyDescriptor().
23020
23021         * WebCore.order:
23022         * bindings/js/JSDOMWindowCustom.cpp:
23023         * bindings/js/JSDOMWindowShell.cpp:
23024         * bindings/js/JSDOMWindowShell.h:
23025         * bindings/scripts/CodeGeneratorJS.pm:
23026         * page/DOMWindow.idl:
23027
23028 2009-12-10  Kenneth Russell  <kbr@google.com>
23029
23030         Reviewed by Oliver Hunt.
23031
23032         Changed WebGLRenderingContext to synthesize GL errors rather than
23033         raising JavaScript exceptions. Removed internal getError() calls
23034         after each graphics call. The GraphicsContext3D maintains the
23035         synthetic exceptions because only it has complete information
23036         about certain conditions requiring them to be raised.
23037
23038         Based on idea from Ilmari Heikkinen, added create3DDebugContext()
23039         to webgl-test.js and changed the WebGL layout tests expecting
23040         error conditions to use it. Updated expected.txt files, which now
23041         implicitly test the OpenGL error as it is part of the exception's
23042         message.
23043
23044         Added new targeted test covering aspects of synthetic errors as
23045         well as regression tests for bugs uncovered during its development.
23046
23047         Test: fast/canvas/webgl/error-reporting.html
23048
23049         * html/canvas/WebGLRenderingContext.cpp:
23050         (WebCore::WebGLRenderingContext::sizeInBytes):
23051         (WebCore::WebGLRenderingContext::activeTexture):
23052         (WebCore::WebGLRenderingContext::attachShader):
23053         (WebCore::WebGLRenderingContext::bindAttribLocation):
23054         (WebCore::WebGLRenderingContext::bindBuffer):
23055         (WebCore::WebGLRenderingContext::bindFramebuffer):
23056         (WebCore::WebGLRenderingContext::bindRenderbuffer):
23057         (WebCore::WebGLRenderingContext::bindTexture):
23058         (WebCore::WebGLRenderingContext::bufferData):
23059         (WebCore::WebGLRenderingContext::bufferSubData):
23060         (WebCore::WebGLRenderingContext::compileShader):
23061         (WebCore::WebGLRenderingContext::createShader):
23062         (WebCore::WebGLRenderingContext::detachShader):
23063         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
23064         (WebCore::WebGLRenderingContext::drawArrays):
23065         (WebCore::WebGLRenderingContext::drawElements):
23066         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
23067         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
23068         (WebCore::WebGLRenderingContext::framebufferTexture2D):
23069         (WebCore::WebGLRenderingContext::getActiveAttrib):
23070         (WebCore::WebGLRenderingContext::getActiveUniform):
23071         (WebCore::WebGLRenderingContext::getBufferParameter):
23072         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
23073         (WebCore::WebGLRenderingContext::getParameter):
23074         (WebCore::WebGLRenderingContext::getProgramParameter):
23075         (WebCore::WebGLRenderingContext::getProgramInfoLog):
23076         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
23077         (WebCore::WebGLRenderingContext::getShaderParameter):
23078         (WebCore::WebGLRenderingContext::getShaderInfoLog):
23079         (WebCore::WebGLRenderingContext::getShaderSource):
23080         (WebCore::WebGLRenderingContext::getTexParameter):
23081         (WebCore::WebGLRenderingContext::getUniform):
23082         (WebCore::WebGLRenderingContext::getUniformLocation):
23083         (WebCore::WebGLRenderingContext::getVertexAttrib):
23084         (WebCore::WebGLRenderingContext::linkProgram):
23085         (WebCore::WebGLRenderingContext::shaderSource):
23086         (WebCore::WebGLRenderingContext::texImage2D):
23087         (WebCore::WebGLRenderingContext::texSubImage2D):
23088         (WebCore::WebGLRenderingContext::uniform1f):
23089         (WebCore::WebGLRenderingContext::uniform1fv):
23090         (WebCore::WebGLRenderingContext::uniform1i):
23091         (WebCore::WebGLRenderingContext::uniform1iv):
23092         (WebCore::WebGLRenderingContext::uniform2f):
23093         (WebCore::WebGLRenderingContext::uniform2fv):
23094         (WebCore::WebGLRenderingContext::uniform2i):
23095         (WebCore::WebGLRenderingContext::uniform2iv):
23096         (WebCore::WebGLRenderingContext::uniform3f):
23097         (WebCore::WebGLRenderingContext::uniform3fv):
23098         (WebCore::WebGLRenderingContext::uniform3i):
23099         (WebCore::WebGLRenderingContext::uniform3iv):
23100         (WebCore::WebGLRenderingContext::uniform4f):
23101         (WebCore::WebGLRenderingContext::uniform4fv):
23102         (WebCore::WebGLRenderingContext::uniform4i):
23103         (WebCore::WebGLRenderingContext::uniform4iv):
23104         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
23105         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
23106         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
23107         (WebCore::WebGLRenderingContext::useProgram):
23108         (WebCore::WebGLRenderingContext::validateProgram):
23109         (WebCore::WebGLRenderingContext::vertexAttribPointer):
23110         * html/canvas/WebGLRenderingContext.h:
23111         (WebCore::WebGLRenderingContext::cleanupAfterGraphicsCall):
23112         * platform/graphics/GraphicsContext3D.h:
23113         * platform/graphics/mac/GraphicsContext3DMac.cpp:
23114         (WebCore::GraphicsContext3D::getActiveAttrib):
23115         (WebCore::GraphicsContext3D::getActiveUniform):
23116         (WebCore::GraphicsContext3D::getError):
23117         (WebCore::GraphicsContext3D::synthesizeGLError):
23118
23119 2009-12-10  Stephen White  <senorblanco@chromium.org>
23120
23121         Reviewed by Dimitri Glazkov.
23122
23123         Fix for assert on Chrome/skia with SVG Filters enabled.
23124         https://bugs.webkit.org/show_bug.cgi?id=32394
23125
23126         Covered by LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b.svg and others.
23127
23128         * platform/graphics/skia/ImageBufferSkia.cpp:
23129         (WebCore::ImageBuffer::platformTransformColorSpace):
23130
23131 2009-12-10  Enrica Casucci  <enrica@apple.com>
23132
23133         Reviewed by Darin Adler.
23134
23135         REGRESSION(4.0.4-42a12): With 2 highlighted lines of text in gmail/hotmail selecting Bold selects other 2 edit buttons automatically.
23136         <rdar://problem/7442065>
23137         https://bugs.webkit.org/show_bug.cgi?id=32285
23138
23139         When examining the styles of the nodes after the first in a range selection, we take into
23140         cosideration differences in style of txt nodes only.
23141         
23142         Test: editing/execCommand/queryCommandState-02.html
23143
23144         * editing/Editor.cpp:
23145         (WebCore::Editor::selectionHasStyle):
23146
23147 2009-12-10  Oliver Hunt  <oliver@apple.com>
23148
23149         Reviewed by Alexey Proskuryakov.
23150
23151         Crash in XMLTokenizer::popCurrentNode if window.close() is called during parsing
23152         https://bugs.webkit.org/show_bug.cgi?id=31576
23153
23154         Add a RefCounted wrapper object around xmlParserCtxtPtr so we can
23155         maintain it's lifetime more effectively.
23156
23157         Test: fast/parser/xhtml-close-while-parsing.xhtml
23158
23159         * dom/XMLTokenizer.cpp:
23160         (WebCore::XMLTokenizer::popCurrentNode):
23161         * dom/XMLTokenizer.h:
23162         (WebCore::XMLParserContext::context):
23163         (WebCore::XMLParserContext::XMLParserContext):
23164         (WebCore::XMLTokenizer::context):
23165         * dom/XMLTokenizerLibxml2.cpp:
23166         (WebCore::XMLParserContext::createStringParser):
23167         (WebCore::XMLParserContext::createMemoryParser):
23168         (WebCore::XMLParserContext::~XMLParserContext):
23169         (WebCore::XMLTokenizer::~XMLTokenizer):
23170         (WebCore::XMLTokenizer::doWrite):
23171         (WebCore::XMLTokenizer::initializeParserContext):
23172         (WebCore::XMLTokenizer::doEnd):
23173         (WebCore::XMLTokenizer::lineNumber):
23174         (WebCore::XMLTokenizer::columnNumber):
23175         (WebCore::XMLTokenizer::stopParsing):
23176         (WebCore::parseXMLDocumentFragment):
23177         (WebCore::parseAttributes):
23178
23179 2009-12-10  Pavel Feldman  <pfeldman@chromium.org>
23180
23181         Reviewed by Timothy Hatcher.
23182
23183         Web Inspector: debugger shortcuts don't work when
23184         Search field or Console drawer has focus.
23185
23186         https://bugs.webkit.org/show_bug.cgi?id=32392
23187
23188         * inspector/front-end/inspector.js:
23189         (WebInspector.loaded):
23190         (WebInspector.documentKeyDown):
23191         (WebInspector.documentKeyUp):
23192         (WebInspector.searchKeyDown):
23193
23194 2009-12-10  Dimitri Glazkov  <dglazkov@chromium.org>
23195
23196         Reviewed by Adam Barth.
23197
23198         [V8] Events created in isolated worlds may fire in main world.
23199         https://bugs.webkit.org/show_bug.cgi?id=32386
23200
23201         Test: http/tests/security/isolatedWorld/events.html
23202
23203         * WebCore.gypi: Added WorldContextHandle.
23204         * bindings/v8/ScriptEventListener.cpp:
23205         (WebCore::createAttributeEventListener): Added WorldContextHandle params.
23206         * bindings/v8/SharedPersistent.h: Fixed a few style/include issues.
23207         * bindings/v8/V8AbstractEventListener.cpp:
23208         (WebCore::V8AbstractEventListener::V8AbstractEventListener): Added WorldContextHandle params.
23209         (WebCore::V8AbstractEventListener::handleEvent): Adjusted context retrieval to use WorldContextHandle.
23210         (WebCore::V8AbstractEventListener::invokeEventHandler): Ditto.
23211         * bindings/v8/V8AbstractEventListener.h:
23212         (WebCore::V8AbstractEventListener::worldContext): Added WorldContextHandle params.
23213         * bindings/v8/V8EventListenerList.h:
23214         (WebCore::V8EventListenerList::findOrCreateWrapper): Ditto.
23215         * bindings/v8/V8LazyEventListener.cpp:
23216         (WebCore::V8LazyEventListener::V8LazyEventListener): Ditto.
23217         (WebCore::V8LazyEventListener::prepareListenerObject): Adjusted context retrieval to use WorldContextHandle.
23218         * bindings/v8/V8LazyEventListener.h:
23219         (WebCore::V8LazyEventListener::create): Added WorldContextHandle params.
23220         * bindings/v8/V8Proxy.cpp:
23221         (WebCore::V8Proxy::context): Refactored to use mainWorldContext();
23222         (WebCore::V8Proxy::mainWorldContext): Added.
23223         (WebCore::toV8Context): Changed to use WorldContextHandle.
23224         * bindings/v8/V8Proxy.h: Added mainWorldContext decl.
23225         * bindings/v8/V8Utilities.cpp:
23226         (WebCore::reportException): Added an extra check to avoid crashes during frame teardown.
23227         * bindings/v8/V8WorkerContextEventListener.cpp:
23228         (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener): Added WorldContextHandle params.
23229         * bindings/v8/V8WorkerContextEventListener.h:
23230         (WebCore::V8WorkerContextEventListener::create): Added WorldContextHandle params.
23231         * bindings/v8/WorldContextHandle.cpp: Added.
23232         * bindings/v8/WorldContextHandle.h: Added.
23233         * bindings/v8/custom/V8CustomEventListener.cpp:
23234         (WebCore::V8EventListener::V8EventListener): Added WorldContextHandle params.
23235         * bindings/v8/custom/V8CustomEventListener.h:
23236         (WebCore::V8EventListener::create): Added WorldContextHandle params.
23237
23238 2009-12-10  Jon Honeycutt  <jhoneycutt@apple.com>
23239
23240         Pass more information about a plug-in to the PluginHalterDelegate
23241
23242         Reviewed by Adam Roben.
23243
23244         * loader/EmptyClients.h:
23245         Remove this unused class.
23246
23247         * page/HaltablePlugin.h:
23248         Add new functions to return the plug-in's name and whether it is
23249         windowed.
23250
23251         * page/PluginHalter.cpp:
23252         (WebCore::PluginHalter::timerFired):
23253         Pass new arguments to the client.
23254
23255         * page/PluginHalterClient.h:
23256         Add new parameters.
23257
23258         * plugins/PluginView.cpp:
23259         (WebCore::PluginView::pluginName):
23260         Return the name from the PluginPackage.
23261
23262         * plugins/PluginView.h:
23263         (WebCore::PluginView::isWindowed):
23264
23265 2009-12-09  Brian Weinstein  <bweinstein@apple.com>
23266
23267         Reviewed by Pavel Feldman.
23268
23269         Fixes <http://webkit.org/b/31738>.
23270         Web Inspector: Console Scope Bar should be on top of console when Console is a Panel.
23271         
23272         When the console is set to be shown as a full panel, move the scope bar to the top
23273         where it looks best. When it is only shown as a drawer, move it to the bottom, where
23274         it originally was. This takes up less space as a drawer, and makes it more discoverable
23275         and usable when it is the full panel.
23276
23277         * inspector/front-end/ConsolePanel.js:
23278         (WebInspector.ConsolePanel.prototype.show): Move filter bar to top.
23279         (WebInspector.ConsolePanel.prototype.hide): Move filter bar back to bottom.
23280         * inspector/front-end/inspector.css:
23281
23282 2009-12-10  Stephen White  <senorblanco@chromium.org>
23283
23284         Reviewed by Dirk Schulze.
23285
23286         Fix for alpha blending in SVG Filters on Chromium/skia.
23287         https://bugs.webkit.org/show_bug.cgi?id=32378
23288
23289         Covered by LayoutTests/svg/filters/feGaussianBlur.svg and others.
23290
23291         * platform/graphics/skia/ImageBufferSkia.cpp:
23292         (WebCore::ImageBuffer::platformTransformColorSpace):
23293
23294 2009-12-10  Pavel Feldman  <pfeldman@chromium.org>
23295
23296         Reviewed by Timothy Hatcher.
23297
23298         Web Inspector: Add context menu actions for DOM tree.
23299
23300         https://bugs.webkit.org/show_bug.cgi?id=32348
23301
23302         * English.lproj/localizedStrings.js:
23303         * inspector/front-end/ContextMenu.js:
23304         (WebInspector.ContextMenu):
23305         (WebInspector.ContextMenu.prototype.show):
23306         (WebInspector.ContextMenu.prototype.appendItem):
23307         (WebInspector.ContextMenu.prototype.appendSeparator):
23308         (WebInspector.ContextMenu.prototype._itemSelected):
23309         (WebInspector.contextMenuItemSelected):
23310         (WebInspector.contextMenuCleared):
23311         * inspector/front-end/ElementsTreeOutline.js:
23312         (WebInspector.ElementsTreeOutline.prototype._onmouseout):
23313         (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
23314         (WebInspector.ElementsTreeElement.prototype.ondblclick):
23315         (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent):
23316         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
23317         (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
23318         (WebInspector.ElementsTreeElement.prototype._startEditing):
23319         (WebInspector.ElementsTreeElement.prototype._addNewAttribute):
23320         * inspector/front-end/ObjectPropertiesSection.js:
23321         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
23322         * inspector/front-end/ResourceView.js:
23323         (WebInspector.ResourceView.prototype._toggleURLdecoding):
23324         * inspector/front-end/ResourcesPanel.js:
23325         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
23326         * inspector/front-end/StylesSidebarPane.js:
23327         (WebInspector.StylePropertyTreeElement.prototype):
23328         * inspector/front-end/inspector.js:
23329         (WebInspector.contextMenuEventFired):
23330         * inspector/front-end/treeoutline.js:
23331         (TreeElement.treeElementDoubleClicked):
23332
23333 2009-12-09  Nikolas Zimmermann  <nzimmermann@rim.com>
23334
23335         Reviewed by Oliver Hunt.
23336
23337         Filters contain some leaks in untested code
23338         https://bugs.webkit.org/show_bug.cgi?id=32325
23339
23340         Fix obvious leak in SVGFE*Lighting classes. Implement the create() idiom for 
23341         all classes in svg/graphics, that were missing it. The lighting filters aren't
23342         implemented so far, but the associated FilterEffect objects are build, which created
23343         these leaks.
23344
23345         This removes the SVG related failures in the leaks bot.
23346
23347         * svg/SVGFEDiffuseLightingElement.cpp:
23348         (WebCore::SVGFEDiffuseLightingElement::findLights):
23349         * svg/SVGFEDiffuseLightingElement.h:
23350         * svg/SVGFEDistantLightElement.cpp:
23351         (WebCore::SVGFEDistantLightElement::lightSource):
23352         * svg/SVGFEDistantLightElement.h:
23353         * svg/SVGFELightElement.h:
23354         * svg/SVGFEPointLightElement.cpp:
23355         (WebCore::SVGFEPointLightElement::lightSource):
23356         * svg/SVGFEPointLightElement.h:
23357         * svg/SVGFESpecularLightingElement.cpp:
23358         (WebCore::SVGFESpecularLightingElement::findLights):
23359         * svg/SVGFESpecularLightingElement.h:
23360         * svg/SVGFESpotLightElement.cpp:
23361         (WebCore::SVGFESpotLightElement::lightSource):
23362         * svg/SVGFESpotLightElement.h:
23363         * svg/graphics/filters/SVGDistantLightSource.h:
23364         (WebCore::DistantLightSource::create):
23365         (WebCore::DistantLightSource::DistantLightSource):
23366         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
23367         (WebCore::FEDiffuseLighting::FEDiffuseLighting):
23368         (WebCore::FEDiffuseLighting::create):
23369         (WebCore::FEDiffuseLighting::setLightSource):
23370         * svg/graphics/filters/SVGFEDiffuseLighting.h:
23371         * svg/graphics/filters/SVGFESpecularLighting.cpp:
23372         (WebCore::FESpecularLighting::FESpecularLighting):
23373         (WebCore::FESpecularLighting::create):
23374         (WebCore::FESpecularLighting::setLightSource):
23375         * svg/graphics/filters/SVGFESpecularLighting.h:
23376         * svg/graphics/filters/SVGLightSource.h:
23377         * svg/graphics/filters/SVGPointLightSource.h:
23378         (WebCore::PointLightSource::create):
23379         (WebCore::PointLightSource::PointLightSource):
23380         * svg/graphics/filters/SVGSpotLightSource.h:
23381         (WebCore::SpotLightSource::create):
23382         (WebCore::SpotLightSource::SpotLightSource):
23383
23384 2009-12-10  Kenneth Russell  <kbr@google.com>
23385
23386         Reviewed by Oliver Hunt.
23387
23388         [Chromium] SporeViewer demo doesn't work in Chromium
23389         https://bugs.webkit.org/show_bug.cgi?id=32364
23390
23391         Test: fast/canvas/webgl/bug-32364.html
23392
23393         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
23394         (WebCore::CALLBACK_FUNC_DECL):
23395         (WebCore::vertexAttribAndUniformHelperf):
23396         (WebCore::uniformHelperi):
23397
23398 2009-12-09  Beth Dakin  <bdakin@apple.com>
23399
23400         Reviewed by Oliver Hunt.
23401
23402         Fix for https://bugs.webkit.org/show_bug.cgi?id=32346 SVG property 
23403         -webkit-shadow should apply shadow on the result after compositing
23404         -and corresponding-
23405         <rdar://problem/7389404>
23406
23407         Set a transparency layer when setting a shadow to apply the shadow 
23408         to the composite.
23409         * rendering/SVGRenderSupport.cpp:
23410         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
23411         (WebCore::SVGRenderBase::finishRenderSVGContent):
23412
23413 2009-12-09  Alexey Proskuryakov  <ap@apple.com>
23414
23415         Reviewed by Darin Adler.
23416
23417         https://bugs.webkit.org/show_bug.cgi?id=32332
23418         WebSocket events should be dispatched synchronously
23419
23420         Updated websocket/tests/simple to test for the new behavior.
23421
23422         When Web Sockets API says that events should be queued for async dispatch, it means something
23423         different. We should keep this in mind when dealing with other HTML5-related specs.
23424
23425         The model for HTML5 is that code running in response to network events (e.g. WebSocket or
23426         XMLHttpRequest algorithms) runs in a separate thread of execution, and thus needs to post
23427         async events as its only way to communicate with client code. As long as network events are
23428         queued themselves (as they are in WebKit), there is no need to queue JS events for async
23429         dispatch.
23430
23431         * websockets/WebSocket.cpp:
23432         (WebCore::WebSocket::didConnect):
23433         (WebCore::WebSocket::didReceiveMessage):
23434         (WebCore::WebSocket::didClose):
23435
23436 2009-12-09  Alexey Proskuryakov  <ap@apple.com>
23437
23438         Reviewed by Oliver Hunt.
23439
23440         https://bugs.webkit.org/show_bug.cgi?id=32355
23441         Assertion failure when opening a WebSocket connection
23442
23443         I couldn't make a reliable test for this. Once the test from bug 32299 is landed, it
23444         will provide partial coverage, as I was frequently seeing the assertion failure with it.
23445
23446         * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::send):
23447         It's not an error if zero is returned from platformSend() - it just means that nothing could
23448         be pushed down to the network layer, and all data was queued for later.
23449         * platform/network/cf/SocketStreamHandleCFNet.cpp:
23450         (WebCore::SocketStreamHandle::readStreamCallback): This will no longer happen with SocketStream,
23451         but a client can potentially destroy the handle from any callback, so we need to check that
23452         this didn't happen.
23453         (WebCore::SocketStreamHandle::writeStreamCallback): Ditto.
23454
23455 2009-12-09  Sam Weinig  <sam@webkit.org>
23456
23457         Roll out 51919 and 51920. They were incorrect and unnecessary right now.
23458
23459         * platform/mac/WebCoreObjCExtras.mm:
23460         (WebCoreObjCScheduleDeallocateOnMainThread):
23461         * platform/network/mac/NetworkStateNotifierMac.cpp:
23462         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
23463
23464 2009-12-09  Steve Block  <steveblock@google.com>
23465
23466         Reviewed by Darin Fisher.
23467
23468         Adds wtf/StdLibExtras.h include for DEFINE_STATIC_LOCAL in V8 ScriptState.
23469         https://bugs.webkit.org/show_bug.cgi?id=32330
23470
23471         Build fix only, no new tests.
23472
23473         * bindings/v8/ScriptState.cpp: Modified. Adds wtf/StdLibExtras.h include.
23474
23475 2009-12-09  Steve Block  <steveblock@google.com>
23476
23477         Reviewed by Darin Adler.
23478
23479         Adds ENABLE(INSPECTOR) guards around script binding methods that use types
23480         defined only when INSPECTOR is enabled.
23481         https://bugs.webkit.org/show_bug.cgi?id=32328
23482
23483         Build fix only, no new tests.
23484
23485         * bindings/js/ScriptValue.cpp: Modified. Added ENABLE(INSPECTOR) guard to ScriptValue::quarantineValue.
23486         * bindings/v8/ScriptObject.cpp: Modified. Added ENABLE(INSPECTOR) guard to some overloads of ScriptGlobalObject::set.
23487
23488 2009-12-09  Steve Block  <steveblock@google.com>
23489
23490         Reviewed by Adam Barth.
23491
23492         Adds Android Makefiles for building with V8.
23493         Also updates existing Android Makefiles with latest additions.
23494         https://bugs.webkit.org/show_bug.cgi?id=32278
23495
23496         Build fix only, no new tests.
23497
23498         * Android.derived.jscbindings.mk: Modified.
23499         * Android.derived.mk: Modified.
23500         * Android.derived.v8bindings.mk: Added.
23501         * Android.jscbindings.mk: Modified.
23502         * Android.mk: Modified.
23503         * Android.v8bindings.mk: Added.
23504
23505 2009-12-09  Jonathan Dixon  <joth@chromium.org>
23506
23507         Reviewed by Dimitri Glazkov.
23508
23509         Bug 32338 - [Chromium] Fix Chromium builder by including missing GeolocationServiceChromium
23510         https://bugs.webkit.org/show_bug.cgi?id=32338
23511
23512         Fix build break: re-include file dropped out by merge in http://trac.webkit.org/changeset/51681/trunk/WebCore/WebCore.gypi
23513
23514         * WebCore.gypi: Add missing GeolocationServiceChromium.cpp
23515
23516 2009-12-09  Andreas Kling  <andreas.kling@nokia.com>
23517
23518         Reviewed by Brady Eidson.
23519
23520         Fixed a typo in http://trac.webkit.org/changeset/51644 that broke
23521         the QWebPage autotest.
23522
23523         No new test required.
23524
23525         * loader/FrameLoader.cpp:
23526         (WebCore::FrameLoader::navigateToDifferentDocument):
23527
23528 2009-12-09  Robert Hogan  <robert@roberthogan.net>
23529
23530         Reviewed by Eric Seidel.
23531
23532         Exclude JSSVG*.cpp generated files from --minimal and --no-svg builds.
23533         
23534         https://bugs.webkit.org/show_bug.cgi?id=32286
23535
23536         * WebCore.pro:
23537
23538 2009-12-09  Philippe Normand  <pnormand@igalia.com>
23539
23540         Reviewed by Eric Carlson.
23541
23542         Ogg mimetypes are incorrect
23543         https://bugs.webkit.org/show_bug.cgi?id=27113
23544
23545         The ogg extension is handled by audio/ogg instead of
23546         application/ogg. See
23547         http://wiki.xiph.org/MIME_Types_and_File_Extensions
23548
23549         * platform/MIMETypeRegistry.cpp:
23550         (WebCore::TypeExtensionPair::):
23551
23552 2009-12-09  Sam Weinig  <sam@webkit.org>
23553
23554         Reviewed by Anders Carlsson.
23555
23556         Use the current run loop instead of the main runloop for the NetworkStateNotifier.
23557
23558         * platform/network/mac/NetworkStateNotifierMac.cpp:
23559         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
23560
23561 2009-12-09  Sam Weinig  <sam@webkit.org>
23562
23563         Reviewed by Anders Carlsson.
23564
23565         Use isMainThread() helper instead of pthread_main_np() != 0.
23566
23567         * platform/mac/WebCoreObjCExtras.mm:
23568         (WebCoreObjCScheduleDeallocateOnMainThread):
23569
23570 2009-12-09  Sam Weinig  <sam@webkit.org>
23571
23572         Reviewed by Anders Carlsson.
23573
23574         Add some #ifdefs to allow us to experiment with a single NSView mac WebKit.
23575
23576         * page/Chrome.h:
23577         * page/EventHandler.h:
23578         * page/mac/ChromeMac.mm:
23579         * page/mac/DragControllerMac.mm:
23580         (WebCore::DragController::dragOperation):
23581         * page/mac/EventHandlerMac.mm:
23582         (WebCore::EventHandler::eventLoopHandleMouseDragged):
23583         (WebCore::EventHandler::eventActivatedView):
23584         (WebCore::EventHandler::passMousePressEventToSubframe):
23585         (WebCore::EventHandler::passMouseMoveEventToSubframe):
23586         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
23587         (WebCore::EventHandler::passWheelEventToWidget):
23588         (WebCore::EventHandler::focusDocumentView):
23589         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
23590         (WebCore::EventHandler::createDraggingClipboard):
23591         (WebCore::isKeyboardOptionTab):
23592         (WebCore::EventHandler::invertSenseOfTabsToLinks):
23593         (WebCore::EventHandler::tabsToAllControls):
23594         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
23595         (WebCore::EventHandler::accessKeyModifiers):
23596         * platform/ScrollView.cpp:
23597         (WebCore::ScrollView::wheelEvent):
23598         * platform/Widget.cpp:
23599         * platform/Widget.h:
23600         * platform/mac/ScrollViewMac.mm:
23601         * platform/mac/WidgetMac.mm:
23602         (WebCore::Widget::Widget):
23603         (WebCore::Widget::~Widget):
23604         (WebCore::Widget::show):
23605         (WebCore::Widget::hide):
23606         (WebCore::Widget::setCursor):
23607         (WebCore::Widget::paint):
23608         (WebCore::Widget::setFocus):
23609         (WebCore::Widget::setIsSelected):
23610         (WebCore::Widget::frameRect):
23611         (WebCore::Widget::setFrameRect):
23612
23613 2009-12-09  Michael Nordman  <michaeln@google.com>
23614
23615         Reviewed by Dimitri Glazkov.
23616
23617         Chromium build fix.
23618
23619         No new tests.
23620
23621         * bindings/v8/DOMData.cpp
23622         * bindings/v8/V8DOMWrapper.cpp
23623         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
23624         (WebCore::vertexAttribAndUniformHelperf):
23625         (WebCore::uniformHelperi):
23626         (WebCore::uniformMatrixHelper):
23627
23628 2009-12-09  Søren Gjesse  <sgjesse@chromium.org>
23629
23630         Reviewed by Pavel Feldman.
23631
23632         [V8] Isolated world reuse failure
23633         https://bugs.webkit.org/show_bug.cgi?id=32306
23634
23635         Fixed bug introduced in r51407: (http://trac.webkit.org/changeset/51407) which caused layout test
23636         LayoutTests/http/tests/security/isolatedWorld/world-reuse.html to fail.
23637
23638         * bindings/v8/V8Proxy.cpp:
23639         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
23640         (WebCore::V8Proxy::contextDebugId):
23641
23642 2009-12-09  Patrick Scott  <phanna@email.unc.edu>
23643
23644         Fix the build with ENABLE_ORIENTATION_EVENTS
23645         https://bugs.webkit.org/show_bug.cgi?id=32321
23646
23647         * page/Frame.cpp:
23648         (WebCore::Frame::sendOrientationChangeEvent):
23649
23650 2009-12-09  Avi Drissman  <avi@chromium.org>
23651
23652         Reviewed by Darin Fisher.
23653
23654         Chromium tickmarks in scrollbar now UX approved.
23655         https://bugs.webkit.org/show_bug.cgi?id=32069
23656
23657         * platform/chromium/ScrollbarThemeChromiumMac.mm:
23658         (WebCore::ScrollbarThemeChromiumMac::paint):
23659
23660 2009-12-09  Chris Marrin  <cmarrin@apple.com>
23661
23662         Reviewed by Adam Roben.
23663
23664         Delay load DLLs for accelerated compositing
23665         https://bugs.webkit.org/show_bug.cgi?id=31856
23666         
23667         Add logic to turn off accelerated compositing if d3d9 or QuartzCore
23668         DLLs are not present.
23669         
23670         This patch also changes the WKCACFLayerRenderer to be a pointer.
23671         This allows me to have a create() method which will not create it when
23672         accelerated compositing is disabled because of missing DLLs. It 
23673         avoids having to do so many checks. I also made WebViewWndProc 
23674         a member function to allow several methods to be made protected, which
23675         allows me to avoid doing availability checks there as well.
23676
23677         * platform/graphics/win/WKCACFLayer.cpp:
23678         * platform/graphics/win/WKCACFLayer.h:
23679         * platform/graphics/win/WKCACFLayerRenderer.cpp:
23680         * platform/graphics/win/WKCACFLayerRenderer.h:
23681         * rendering/RenderLayerBacking.cpp:
23682
23683 2009-12-09  Nate Chapin  <japhet@chromium.org>
23684
23685         Reviewed by Darin Adler.
23686
23687         Rename dom/ClassNames to SpaceSplitString and update build files.
23688
23689         https://bugs.webkit.org/show_bug.cgi?id=32250
23690
23691         * GNUmakefile.am:
23692         * WebCore.gypi:
23693         * WebCore.pro:
23694         * WebCore.vcproj/WebCore.vcproj:
23695         * WebCore.xcodeproj/project.pbxproj:
23696         * WebCoreSources.bkl:
23697         * css/CSSStyleSelector.cpp:
23698         (WebCore::CSSStyleSelector::matchRules):
23699         * dom/ClassNames.cpp: Removed.
23700         * dom/ClassNames.h: Removed.
23701         * dom/ClassNodeList.h:
23702         * dom/NamedMappedAttrMap.h:
23703         (WebCore::NamedMappedAttrMap::classNames):
23704         * dom/SpaceSplitString.cpp: Copied from WebCore/dom/ClassNames.cpp.
23705         (WebCore::SpaceSplitStringData::createVector):
23706         (WebCore::SpaceSplitStringData::containsAll):
23707         * dom/SpaceSplitString.h: Copied from WebCore/dom/ClassNames.h.
23708         (WebCore::SpaceSplitStringData::SpaceSplitStringData):
23709         (WebCore::SpaceSplitString::SpaceSplitString):
23710         (WebCore::SpaceSplitString::set):
23711         (WebCore::SpaceSplitString::containsAll):
23712         * dom/StyledElement.h:
23713         (WebCore::StyledElement::classNames):
23714         * html/HTMLAnchorElement.cpp:
23715         (WebCore::HTMLAnchorElement::setRel):
23716
23717 2009-12-09  Stephen White  <senorblanco@chromium.org>
23718
23719         Reviewed by Darin Fisher.
23720
23721         Enable SVG filters in Chromium build.
23722         https://bugs.webkit.org/show_bug.cgi?id=32323
23723
23724         Covered by SVG filter layout tests.
23725
23726         * WebCore.gyp/WebCore.gyp:
23727         * WebCore.gypi:
23728         * bindings/scripts/CodeGeneratorV8.pm:
23729         * bindings/v8/DerivedSourcesAllInOne.cpp:
23730         * bindings/v8/V8DOMWrapper.cpp:
23731         * bindings/v8/V8Index.cpp:
23732         * bindings/v8/V8Index.h:
23733
23734 2009-12-09  Oliver Hunt  <oliver@apple.com>
23735
23736         Build fix
23737
23738         * bindings/js/JSWebGLRenderingContextCustom.cpp:
23739         (WebCore::functionForUniform):
23740
23741 2009-12-08  Fumitoshi Ukai  <ukai@chromium.org>
23742
23743         Reviewed by Darin Adler.
23744
23745         WebSocket allow space (U+0020) in sub protocol name.
23746         https://bugs.webkit.org/show_bug.cgi?id=32266
23747
23748         Test: websocket/tests/sub-protocol-with-space.html
23749
23750         * websockets/WebSocket.cpp:
23751         (WebCore::isValidProtocolString):
23752
23753 2009-12-08  Peterson Trethewey  <petersont@google.com>
23754
23755         Reviewed by Oliver Hunt.
23756
23757         Implement WebGLUniformLocation and change API to use it.
23758         https://bugs.webkit.org/show_bug.cgi?id=31173
23759
23760         Test: fast/canvas/webgl/uniform-location.html
23761
23762         * DerivedSources.make:
23763         * WebCore.gypi:
23764         * WebCore.xcodeproj/project.pbxproj:
23765         * bindings/js/JSWebGLRenderingContextCustom.cpp:
23766         (WebCore::JSWebGLRenderingContext::getProgramParameter):
23767         (WebCore::JSWebGLRenderingContext::getUniform):
23768         (WebCore::functionForUniform):
23769         (WebCore::dataFunctionf):
23770         (WebCore::dataFunctioni):
23771         (WebCore::dataFunctionMatrix):
23772         * bindings/scripts/CodeGeneratorV8.pm:
23773         * bindings/v8/DerivedSourcesAllInOne.cpp:
23774         * bindings/v8/V8Index.cpp:
23775         * bindings/v8/V8Index.h:
23776         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
23777         (WebCore::toWebGLUniformLocation):
23778         (WebCore::):
23779         (WebCore::CALLBACK_FUNC_DECL):
23780         (WebCore::isFunctionToCallForAttribute):
23781         (WebCore::vertexAttribAndUniformHelperf):
23782         (WebCore::uniformHelperi):
23783         (WebCore::uniformMatrixHelper):
23784         * html/canvas/WebGLRenderingContext.cpp:
23785         (WebCore::WebGLRenderingContext::getUniform):
23786         (WebCore::WebGLRenderingContext::getUniformLocation):
23787         (WebCore::WebGLRenderingContext::uniform1f):
23788         (WebCore::WebGLRenderingContext::uniform1fv):
23789         (WebCore::WebGLRenderingContext::uniform1i):
23790         (WebCore::WebGLRenderingContext::uniform1iv):
23791         (WebCore::WebGLRenderingContext::uniform2f):
23792         (WebCore::WebGLRenderingContext::uniform2fv):
23793         (WebCore::WebGLRenderingContext::uniform2i):
23794         (WebCore::WebGLRenderingContext::uniform2iv):
23795         (WebCore::WebGLRenderingContext::uniform3f):
23796         (WebCore::WebGLRenderingContext::uniform3fv):
23797         (WebCore::WebGLRenderingContext::uniform3i):
23798         (WebCore::WebGLRenderingContext::uniform3iv):
23799         (WebCore::WebGLRenderingContext::uniform4f):
23800         (WebCore::WebGLRenderingContext::uniform4fv):
23801         (WebCore::WebGLRenderingContext::uniform4i):
23802         (WebCore::WebGLRenderingContext::uniform4iv):
23803         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
23804         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
23805         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
23806         * html/canvas/WebGLRenderingContext.h:
23807         * html/canvas/WebGLRenderingContext.idl:
23808         * html/canvas/WebGLUniformLocation.cpp: Added.
23809         (WebCore::WebGLUniformLocation::create):
23810         (WebCore::WebGLUniformLocation::WebGLUniformLocation):
23811         * html/canvas/WebGLUniformLocation.h: Added.
23812         (WebCore::WebGLUniformLocation::~WebGLUniformLocation):
23813         (WebCore::WebGLUniformLocation::program):
23814         (WebCore::WebGLUniformLocation::location):
23815         * html/canvas/WebGLUniformLocation.idl: Added.
23816
23817 2009-12-08  Adam Langley  <agl@google.com>
23818
23819         Reviewed by Darin Adler.
23820
23821         Fix assertion failure in WebCore::RenderBlock::startDelayUpdateScrollInfo
23822
23823         startDelayUpdateScrollInfo calls a function that can end up calling
23824         startDelayUpdateScrollInfo again. However, it's static state is
23825         inconsistent when this happens leading to an assertion failure (or
23826         probably a memory leak if assertions are off).
23827
23828         Thanks to Robert Swiecki for the test case.
23829
23830         https://bugs.webkit.org/show_bug.cgi?id=32172
23831         http://code.google.com/p/chromium/issues/detail?id=28880
23832
23833         Test: fast/css/recursive-delay-update-scroll.html
23834
23835         * rendering/RenderBlock.cpp:
23836         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
23837
23838 2009-12-08  Steve Falkenburg  <sfalken@apple.com>
23839
23840         Reviewed by Adam Roben.
23841
23842         WebCore source level debugging on Windows not reliable in some cases
23843         https://bugs.webkit.org/show_bug.cgi?id=32297
23844
23845         Customized pdb file name/location for WebCore static library.
23846
23847         * WebCore.vcproj/WebCoreCommon.vsprops: Add ProgramDataBaseFileName.
23848
23849 2009-12-08  Kevin Watters  <kevinwatters@gmail.com>
23850
23851         Reviewed by Kevin Ollivier.
23852
23853         [wx] Mac plugins support.
23854         
23855         https://bugs.webkit.org/show_bug.cgi?id=32236
23856
23857         * platform/FileSystem.h:
23858         * platform/cf/BinaryPropertyList.h:
23859         * platform/network/curl/ResourceHandleManager.cpp:
23860         * platform/wx/FileSystemWx.cpp:
23861         (WebCore::fileExists):
23862         (WebCore::unloadModule):
23863         (WebCore::wxDirTraverserNonRecursive::wxDirTraverserNonRecursive):
23864         (WebCore::wxDirTraverserNonRecursive::OnFile):
23865         (WebCore::wxDirTraverserNonRecursive::OnDir):
23866         (WebCore::listDirectory):
23867         * plugins/mac/PluginViewMac.cpp:
23868         (WebCore::nativeWindowFor):
23869         (WebCore::cgHandleFor):
23870         (WebCore::topLevelOffsetFor):
23871         (WebCore::PluginView::platformStart):
23872         (WebCore::PluginView::setFocus):
23873         (WebCore::PluginView::invalidateRect):
23874         (WebCore::PluginView::handleKeyboardEvent):
23875         (WebCore::PluginView::globalMousePosForPlugin):
23876         * plugins/wx/PluginDataWx.cpp: Added.
23877         (WebCore::PluginData::initPlugins):
23878         (WebCore::PluginData::refresh):
23879         * wscript:
23880
23881 2009-12-08  Brady Eidson  <beidson@apple.com>
23882
23883         Reviewed by Darin Adler.
23884
23885         Navigating to a cached page can result in accessing a destroyed HTMLInputElement.
23886         <rdar://problem/6856662> and https://webkit.org/b/32293
23887
23888         Test: fast/loader/input-element-page-cache-crash.html
23889
23890         * html/HTMLInputElement.cpp:
23891         (WebCore::HTMLInputElement::parseMappedAttribute): Make sure to unregister for the activation
23892           callback after the new m_autocomplete setting has been stored so the unregistration actually
23893           takes place.
23894
23895 2009-12-08  Dmitry Titov  <dimich@chromium.org>
23896
23897         Rubber-stamped by David Levin.
23898
23899         Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
23900         It may have caused massive increase of reported leaks on the bots.
23901         https://bugs.webkit.org/show_bug.cgi?id=31639
23902
23903         * ForwardingHeaders/wtf/ThreadVerifier.h: Removed.
23904         * loader/icon/IconRecord.cpp:
23905         (WebCore::IconRecord::IconRecord):
23906         * platform/SharedBuffer.cpp:
23907         (WebCore::SharedBuffer::SharedBuffer):
23908         * platform/text/StringImpl.cpp:
23909         (WebCore::StringImpl::StringImpl):
23910
23911 2009-12-08  Pavel Feldman  <pfeldman@chromium.org>
23912
23913         Reviewed by Darin Fisher.
23914
23915         Chromium: support custom WebCore context menu items in Chromium port.
23916
23917         https://bugs.webkit.org/show_bug.cgi?id=32277
23918
23919         * platform/ContextMenu.h:
23920         * platform/ContextMenuItem.h:
23921         (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
23922         * platform/chromium/ContextMenuChromium.cpp:
23923         (WebCore::ContextMenu::ContextMenu):
23924         (WebCore::ContextMenu::itemCount):
23925         (WebCore::ContextMenu::insertItem):
23926         (WebCore::ContextMenu::appendItem):
23927         (WebCore::ContextMenu::itemWithAction):
23928         (WebCore::ContextMenu::itemAtIndex):
23929         (WebCore::ContextMenu::platformDescription):
23930         * platform/chromium/ContextMenuItemChromium.cpp:
23931         (WebCore::ContextMenuItem::ContextMenuItem):
23932         (WebCore::ContextMenuItem::releasePlatformDescription):
23933         (WebCore::ContextMenuItem::type):
23934         (WebCore::ContextMenuItem::action):
23935         (WebCore::ContextMenuItem::title):
23936         (WebCore::ContextMenuItem::checked):
23937         (WebCore::ContextMenuItem::enabled):
23938         (WebCore::ContextMenuItem::setType):
23939         (WebCore::ContextMenuItem::setAction):
23940         (WebCore::ContextMenuItem::setTitle):
23941         (WebCore::ContextMenuItem::setChecked):
23942         (WebCore::ContextMenuItem::setEnabled):
23943
23944 2009-12-08  Adam Langley  <agl@google.com>
23945
23946         Reviewed by Dimitri Glazkov.
23947
23948         Chromium Linux: set default scrollbar colours.
23949
23950         This is so that layout tests have sane defaults for the scrollbar
23951         colours, even if the API user doesn't set any.
23952
23953         This is a fix due to r51827.
23954
23955         https://bugs.webkit.org/show_bug.cgi?id=32287
23956
23957         This is very well covered by existing layout tests.
23958
23959         * rendering/RenderThemeChromiumLinux.cpp:
23960
23961 2009-12-08  Beth Dakin  <bdakin@apple.com>
23962
23963         Reviewed by Sam Weinig.
23964
23965         Fix for <rdar://problem/7397808> Crash occurs at 
23966         RenderObject::containingBlock() as I type in the Google Search 
23967         field (during page load)
23968
23969         * editing/Editor.cpp:
23970         (WebCore::Editor::insideVisibleArea): ownerRenderer() needs to be 
23971         null checked.
23972
23973 2009-12-08  Dmitry Titov  <dimich@chromium.org>
23974
23975         Reviewed by Darin Adler.
23976
23977         Add asserts to RefCounted to make sure ref/deref happens on the right thread.
23978         https://bugs.webkit.org/show_bug.cgi?id=31639
23979
23980         * loader/icon/IconRecord.cpp:
23981         (WebCore::IconRecord::IconRecord): Disable thread verification for this class because of its cross-thread use in IconDatabase.
23982         * platform/SharedBuffer.cpp:
23983         (WebCore::SharedBuffer::SharedBuffer): Ditto.
23984         * platform/text/StringImpl.cpp:
23985         (WebCore::StringImpl::StringImpl): Disable thread verification for this class, add FIXME to enforce proper usage via crossThreadString.
23986         * ForwardingHeaders/wtf/ThreadVerifier.h: Added.
23987
23988 2009-12-08  John Gregg  <johnnyg@google.com>
23989
23990         Reviewed by Adam Barth.
23991
23992         Inform the NotificationCenter when its window goes away in the same
23993         manner as other DOMWindow fields, and prevent invalid operations on
23994         it after that happens.
23995
23996         As part of this, change the V8 bindings for notifications to call
23997         through the NotificationCenter rather than doing those operations
23998         itself.
23999
24000         https://bugs.webkit.org/show_bug.cgi?id=31886
24001
24002         Test: fast/notifications/notification-after-close.html
24003
24004         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
24005         (WebCore::CALLBACK_FUNC_DECL):
24006         * notifications/Notification.cpp:
24007         (WebCore::Notification::Notification):
24008         * notifications/NotificationCenter.cpp:
24009         (WebCore::NotificationCenter::checkPermission):
24010         (WebCore::NotificationCenter::requestPermission):
24011         * notifications/NotificationCenter.h:
24012         (WebCore::NotificationCenter::createHTMLNotification):
24013         (WebCore::NotificationCenter::createNotification):
24014         (WebCore::NotificationCenter::disconnectFrame):
24015         * page/DOMWindow.cpp:
24016         (WebCore::DOMWindow::clear):
24017
24018 2009-12-08  Dan Bernstein  <mitz@apple.com>
24019
24020         Reviewed by John Sullivan.
24021
24022         Fixed block selection gap repainting in table cells
24023
24024         Test: fast/repaint/block-selection-gap-in-table-cell.html
24025
24026         This recently-introduced regression exposed the fact that
24027         RenderTableCell did not override offsetFromContainer() to adjust for
24028         the fact that table cells’ coordinates are relative to the table
24029         section, not the table row. With this fixed, RenderTableCell no longer
24030         needs to override mapLocalToContainer() and mapAbsoluteToLocalPoint(),
24031         since the base class implementations of those use offsetFromContainer().
24032
24033         * rendering/RenderTableCell.cpp:
24034         (WebCore::RenderTableCell::offsetFromContainer):
24035         * rendering/RenderTableCell.h:
24036
24037 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
24038
24039         Not reviewed. Sane way to force a rebuild on all win slaves, according to Adam Roben.
24040
24041         * WebCorePrefix.h:
24042
24043 2009-12-08  Dan Bernstein  <mitz@apple.com>
24044
24045         Build fix
24046
24047         * loader/loader.cpp:
24048         (WebCore::cachedResourceTypeToTargetType):
24049
24050 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
24051
24052         Not reviewed. Touch svgtags.in to eventually fix the win debug build.
24053
24054         * svg/svgtags.in:
24055
24056 2009-12-08  Mike Belshe  <mike@belshe.com>
24057
24058         Reviewed by Darin Fisher.
24059
24060         https://bugs.webkit.org/show_bug.cgi?id=32167
24061         Update the ResourceRequest::RequestType.  This previously
24062         was specific to Chromium.  Moved into ResourceRequestBase, enabling
24063         more specificity about the type (which is otherwise only known to the
24064         loader), and also making this information available to all platforms.
24065         Any platform with a network layer which can utilize this information
24066         may want to use it for prioritization.
24067
24068         Note to Chromium glue: TargetIsSubResource renamed to TargetIsSubresource.
24069
24070         * loader/loader.cpp:
24071         (WebCore::Loader::Loader):
24072         (WebCore::CachedResourceTypeToTargetType):
24073         (WebCore::Loader::Host::servePendingRequests):
24074         * platform/network/ResourceRequestBase.h:
24075         (WebCore::ResourceRequestBase::):
24076         (WebCore::ResourceRequestBase::targetType):
24077         (WebCore::ResourceRequestBase::setTargetType):
24078         (WebCore::ResourceRequestBase::ResourceRequestBase):
24079         * platform/network/chromium/ResourceRequest.h:
24080         (WebCore::ResourceRequest::ResourceRequest):
24081
24082 2009-12-08  Steve Block  <steveblock@google.com>
24083
24084         Reviewed by Adam Barth.
24085
24086         [Android] Adds Makefiles for Android port.
24087         https://bugs.webkit.org/show_bug.cgi?id=31325
24088
24089         Build system change only. No tests possible.
24090
24091         * Android.derived.jscbindings.mk: Added.
24092         * Android.derived.mk: Added.
24093         * Android.jscbindings.mk: Added.
24094         * Android.mk: Added.
24095         * WebCorePrefix.h: Modified. Sets up some flags and adds a header required for building on Android.
24096
24097 2009-12-08  Christian Dywan  <christian@twotoasts.de>
24098
24099         Reviewed by Xan Lopez.
24100
24101         * platform/network/soup/DNSSoup.cpp:
24102         (WebCore::prefetchDNS): Conditionalize prefetching on
24103         the libSoup version.
24104
24105 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
24106
24107         Rubber-stamped by Maciej Stachowiak.
24108
24109         Turn on (SVG) Filters for Win.
24110         https://bugs.webkit.org/show_bug.cgi?id=32224
24111
24112         * WebCore.vcproj/WebCoreCommon.vsprops:
24113         * WebCore.vcproj/build-generated-files.sh:
24114         * bindings/scripts/CodeGeneratorCOM.pm: Touch file to assure a world rebuild. Hopefully.
24115
24116 2009-12-08  Carol Szabo  <carol.szabo@nokia.com>
24117
24118         Reviewed by Darin Adler.
24119
24120         CSS Counter Nesting still does not work according to the spec.
24121         https://bugs.webkit.org/show_bug.cgi?id=31723
24122
24123         Test: fast/css/counters/nesting.html
24124
24125         * rendering/RenderCounter.cpp:
24126         (WebCore::findPlaceForCounter):
24127         Replaced the faulty counter insertion algorithm with one that works.
24128
24129 2009-12-08  John Sullivan  <sullivan@apple.com>
24130
24131         Add isAutofilled getter to match existing setter.
24132
24133         Reviewed by Ada Chan.
24134
24135         * bindings/objc/DOMHTML.mm:
24136         (-[DOMHTMLInputElement _isAutofilled]):
24137         Implemented new cover function.
24138         
24139         * bindings/objc/DOMPrivate.h:
24140         Declared new cover function.
24141
24142 2009-12-08  Dominik Röttsches  <dominik.roettsches@access-company.com>
24143
24144         Reviewed by Gustavo Noronha Silva.
24145
24146         [Gtk] Create a TextBreakIterator implementation based on GLib (without ICU)
24147         https://bugs.webkit.org/show_bug.cgi?id=31469
24148
24149         Added a TextBreakIterator implementation based on GLib and pango,
24150         which allows compiling WebCore without ICU.
24151
24152         * GNUmakefile.am:
24153         * platform/text/gtk/TextBreakIteratorGtk.cpp: Added.
24154         (WebCore::):
24155         (WebCore::setUpIterator):
24156         (WebCore::characterBreakIterator):
24157         (WebCore::cursorMovementIterator):
24158         (WebCore::wordBreakIterator):
24159         (WebCore::lineBreakIterator):
24160         (WebCore::sentenceBreakIterator):
24161         (WebCore::textBreakFirst):
24162         (WebCore::textBreakLast):
24163         (WebCore::textBreakNext):
24164         (WebCore::textBreakPrevious):
24165         (WebCore::textBreakPreceding):
24166         (WebCore::textBreakFollowing):
24167         (WebCore::textBreakCurrent):
24168         (WebCore::isTextBreak):
24169
24170 2009-12-08  Alexander Pavlov  <apavlov@chromium.org>
24171
24172         Reviewed by Pavel Feldman.
24173
24174         Change the way cookies are retrieved in the WebInspector frontend.
24175
24176         Moved the cookie filtering from the native code into the frontend so that
24177         all cookies can be retrieved regardless of the associated domain
24178         (required for certain audits to run.)
24179         https://bugs.webkit.org/show_bug.cgi?id=32160
24180
24181         Test: inspector/cookie-resource-match.html
24182
24183         * inspector/InspectorBackend.cpp:
24184         (WebCore::InspectorBackend::getCookies):
24185         * inspector/InspectorBackend.h:
24186         * inspector/InspectorBackend.idl:
24187         * inspector/InspectorController.cpp:
24188         (WebCore::InspectorController::getCookies):
24189         * inspector/InspectorController.h:
24190         * inspector/front-end/CookieItemsView.js:
24191         (WebInspector.CookieItemsView.prototype.update.callback):
24192         (WebInspector.CookieItemsView.prototype.update):
24193         (WebInspector.CookieItemsView.prototype._cookiesForDomain):
24194         * inspector/front-end/DOMAgent.js:
24195         (WebInspector.Cookies.getCookiesAsync):
24196         (WebInspector.Cookies.cookieMatchesResourceURL):
24197         (WebInspector.Cookies.cookieDomainMatchesResourceDomain):
24198         * inspector/front-end/Resource.js:
24199         (WebInspector.Resource):
24200         (WebInspector.Resource.prototype.get documentURL):
24201         (WebInspector.Resource.prototype.set documentURL):
24202         * inspector/front-end/inspector.js:
24203         (WebInspector.addResource):
24204
24205 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
24206
24207         Not reviewed. Touch svgtags.in, in order to force SVGNames.* regeneration. Praying for gtk bot to be fixed :-)
24208
24209         * svg/svgtags.in:
24210
24211 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
24212
24213         Not reviewed. Trying to force a rebuild on the Gtk slave. If that doesn't work, someone must force a rebuild from scratch.
24214
24215         * bindings/scripts/CodeGeneratorJS.pm:
24216
24217 2009-12-06  Pavel Feldman  <pfeldman@chromium.org>
24218
24219         Reviewed by Timothy Hatcher.
24220
24221         Web Inspector: provide custom context menu in the front-end window.
24222
24223         https://bugs.webkit.org/show_bug.cgi?id=32200
24224
24225         * English.lproj/localizedStrings.js:
24226         * GNUmakefile.am:
24227         * WebCore.gypi:
24228         * WebCore.pro:
24229         * WebCore.vcproj/WebCore.vcproj:
24230         * WebCore.xcodeproj/project.pbxproj:
24231         * bindings/js/JSInspectorFrontendHostCustom.cpp:
24232         (WebCore::JSInspectorFrontendHost::showContextMenu):
24233         * inspector/InspectorFrontend.cpp:
24234         (WebCore::InspectorFrontend::contextMenuItemSelected):
24235         (WebCore::InspectorFrontend::contextMenuCleared):
24236         * inspector/InspectorFrontend.h:
24237         * inspector/InspectorFrontendHost.cpp:
24238         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
24239         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
24240         (WebCore::InspectorFrontendHost::showContextMenu):
24241         (WebCore::InspectorFrontendHost::contextMenuItemSelected):
24242         (WebCore::InspectorFrontendHost::contextMenuCleared):
24243         * inspector/InspectorFrontendHost.h:
24244         (WebCore::InspectorFrontendHost::MenuSelectionHandler::create):
24245         (WebCore::InspectorFrontendHost::MenuSelectionHandler::~MenuSelectionHandler):
24246         (WebCore::InspectorFrontendHost::MenuSelectionHandler::disconnect):
24247         (WebCore::InspectorFrontendHost::MenuSelectionHandler::contextMenuItemSelected):
24248         (WebCore::InspectorFrontendHost::MenuSelectionHandler::contextMenuCleared):
24249         (WebCore::InspectorFrontendHost::MenuSelectionHandler::MenuSelectionHandler):
24250         * inspector/InspectorFrontendHost.idl:
24251         * inspector/front-end/ContextMenu.js: Added.
24252         * inspector/front-end/WebKit.qrc:
24253         * inspector/front-end/inspector.html:
24254         * inspector/front-end/inspector.js:
24255         (WebInspector.loaded):
24256         (WebInspector.documentContextMenu):
24257         * page/ContextMenuController.cpp:
24258         (WebCore::ContextMenuController::ContextMenuController):
24259         (WebCore::ContextMenuController::clearContextMenu):
24260         (WebCore::ContextMenuController::handleContextMenuEvent):
24261         (WebCore::ContextMenuController::showContextMenu):
24262         (WebCore::ContextMenuController::createContextMenu):
24263         (WebCore::ContextMenuController::contextMenuItemSelected):
24264         * page/ContextMenuController.h:
24265         * page/ContextMenuSelectionHandler.h: Added.
24266         (WebCore::ContextMenuSelectionHandler::ContextMenuSelectionHandler):
24267         (WebCore::ContextMenuSelectionHandler::~ContextMenuSelectionHandler):
24268         * platform/ContextMenu.cpp:
24269         (WebCore::ContextMenu::checkOrEnableIfNeeded):
24270         * platform/ContextMenuItem.h:
24271
24272 2009-12-08  Andras Becsi  <abecsi@inf.u-szeged.hu>
24273
24274         Rubber-stamped by Kenneth Rohde Christiansen.
24275
24276         [Qt] Build fix of duplicated platform/graphics/filters/FEGaussianBlur.cpp in WebCore.pro after enabled svg filters.
24277
24278         No new tests needed.
24279         * WebCore.pro:
24280
24281 2009-12-07  Shinichiro Hamaji  <hamaji@chromium.org>
24282
24283         Reviewed by Darin Adler.
24284
24285         Add a function to show render tree for debugging
24286         https://bugs.webkit.org/show_bug.cgi?id=31288
24287
24288         No new tests because this just adds a function for debugging.
24289
24290         * rendering/RenderObject.cpp:
24291         (WebCore::RenderObject::showRenderObject):
24292         (WebCore::RenderObject::showRenderTreeAndMark):
24293         (showRenderTree):
24294         * rendering/RenderObject.h:
24295
24296 2009-12-07  Victor Wang  <victorw@chromium.org>
24297
24298         Reviewed by Dimitri Glazkov.
24299
24300         Implement NamedPropertyEnumerator and IndexedPropertyEnumerator for
24301         V8 NPObject. This should make the object enumerable and fix the
24302         enumeration issue in layout test plugins/netscape-enumerate.html.
24303
24304         Also fix some existing style issues per webkit style guidelines.
24305
24306         https://bugs.webkit.org/show_bug.cgi?id=32254
24307
24308         Test: plugins/netscape-enumerate.html
24309
24310         * bindings/v8/V8NPObject.cpp:
24311         (npObjectInvokeImpl):
24312         (npObjectInvokeDefaultHandler):
24313         (npObjectGetProperty):
24314         (npObjectPropertyEnumerator):
24315         (npObjectNamedPropertyEnumerator):
24316         (npObjectIndexedPropertyEnumerator):
24317         (createV8ObjectForNPObject):
24318
24319 2009-12-07  Fumitoshi Ukai  <ukai@chromium.org>
24320
24321         Reviewed by Alexey Proskuryakov.
24322
24323         Fragments now make WebSocket URL parsing fail.
24324         https://bugs.webkit.org/show_bug.cgi?id=32144
24325
24326         * websockets/WebSocket.cpp:
24327         (WebCore::WebSocket::connect):
24328
24329 2009-12-07  Fumitoshi Ukai  <ukai@chromium.org>
24330
24331         Reviewed by Darin Adler.
24332
24333         Fix wrong length parsing in WebSocket.
24334         https://bugs.webkit.org/show_bug.cgi?id=32203
24335
24336         * websockets/WebSocketChannel.cpp:
24337         (WebCore::WebSocketChannel::didReceiveData):
24338
24339 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
24340
24341         Rubber-stamped by Maciej Stachowiak.
24342
24343         Turn on (SVG) Filters for Qt.
24344         https://bugs.webkit.org/show_bug.cgi?id=32224
24345
24346         * WebCore.pro:
24347
24348 2009-12-07  Evan Martin  <evan@chromium.org>
24349
24350         Reviewed by Eric Seidel.
24351
24352         Chromium: theme scrollbars to match GTK theme.
24353         Add functions to RenderThemeChromiumLinux to change the scrollbar
24354         color.
24355
24356         Since the change is to the Chromium WebKit API layer, testing will
24357         be in Chromium's test shell.
24358         http://bugs.webkit.org/show_bug.cgi?id=32048
24359
24360         Patch from Markus Gutschke <markus@chromium.org>.
24361
24362         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
24363         (WebCore::saturateAndBrighten):
24364         (WebCore::outlineColor):
24365         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
24366         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
24367         * rendering/RenderThemeChromiumLinux.cpp:
24368         (WebCore::RenderThemeChromiumLinux::setScrollbarColors):
24369         * rendering/RenderThemeChromiumLinux.h:
24370         (WebCore::RenderThemeChromiumLinux::thumbInactiveColor):
24371         (WebCore::RenderThemeChromiumLinux::thumbActiveColor):
24372         (WebCore::RenderThemeChromiumLinux::trackColor):
24373
24374 2009-12-08  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
24375
24376         Reviewed by Xan Lopez.
24377
24378         [GTK] Doesn't respect Content-Disposition for downloads, and provides no way for apps to do that
24379         https://bugs.webkit.org/show_bug.cgi?id=32247
24380
24381         Allow creating a ResourceResponse from a SoupMessage.
24382
24383         Covered by API test.
24384
24385         * platform/network/soup/ResourceResponse.h:
24386         (WebCore::ResourceResponse::ResourceResponse):
24387         * platform/network/soup/ResourceResponseSoup.cpp:
24388         (WebCore::ResourceResponse::updateFromSoupMessage):
24389
24390 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
24391
24392         Not reviewed. Reverting problematic patch, causing errors.
24393
24394         Revert r51789 (Avoid zero division during SVGPaintServerPattern::setup()). Crashes on all Windows slaves.
24395         Reopen bug https://bugs.webkit.org/show_bug.cgi?id=29912.
24396
24397         * svg/graphics/SVGPaintServerPattern.cpp:
24398         (WebCore::SVGPaintServerPattern::setup):
24399
24400 2009-12-07  Kent Tamura  <tkent@chromium.org>
24401
24402         Reviewed by Darin Adler.
24403
24404         Add support for HTMLInputElement::stepUp() and stepDown() for
24405         type=number and type=range.
24406         https://bugs.webkit.org/show_bug.cgi?id=27451
24407
24408         Our implementation of stepUp() and stepDown() rounds the resultant
24409         value to conform to the step value.
24410         Change the number-string conversion method for RenderSlider to be
24411         consistent with type=number.
24412
24413         Tests: fast/forms/input-step-number.html
24414                fast/forms/input-step-range.html
24415                fast/forms/input-step-unsupported.html
24416
24417         * html/HTMLInputElement.cpp:
24418         (WebCore::HTMLInputElement::rangeUnderflow): Unify the code for NUMBER and RANGE.
24419         (WebCore::HTMLInputElement::rangeOverflow): Unify the code for NUMBER and RANGE.
24420         (WebCore::HTMLInputElement::minimum): Renamed from rangeMinimum(), and support for NUMBER.
24421         (WebCore::HTMLInputElement::maximum): Renamed from rangeMaximum(), and support for NUMBER.
24422         (WebCore::HTMLInputElement::stepBase):
24423         (WebCore::HTMLInputElement::stepMismatch): Use stepBase().
24424         (WebCore::HTMLInputElement::applyStepForNumberOrRange):
24425         (WebCore::HTMLInputElement::stepUp):
24426         (WebCore::HTMLInputElement::stepDown):
24427         (WebCore::HTMLInputElement::formStringFromDouble):
24428         * html/HTMLInputElement.h:
24429         (WebCore::HTMLInputElement::stepUp):
24430         (WebCore::HTMLInputElement::stepDown):
24431         * html/HTMLInputElement.idl: Add stepUp() and stepDown().
24432         * rendering/RenderSlider.cpp:
24433         (WebCore::SliderRange::SliderRange): Sync with rangeMinimum()/rangeMaximum() renaming.
24434         (WebCore::RenderSlider::updateFromElement): Use formStringFromDouble().
24435         (WebCore::RenderSlider::setValueForPosition): Use formStringFromDouble().
24436
24437 2009-12-07  Albert J. Wong  <ajwong@chromium.org>
24438
24439         Not reviewed: Chromium build fix try 2 (dumb error).
24440
24441         * bindings/v8/ScriptValue.h:
24442         (WebCore::ScriptValue::getString):
24443
24444 2009-12-07  Albert J. Wong  <ajwong@chromium.org>
24445
24446         Not reviewed: Chromium build fix.
24447
24448         Fix Chromium build break caused by an added dependency from
24449         ScriptControllerBase to JSDOMWindowShell, and an API change in
24450         ScriptValue.
24451
24452         * bindings/ScriptControllerBase.cpp:
24453         (WebCore::ScriptController::executeIfJavaScriptURL):
24454         * bindings/v8/ScriptValue.h:
24455         (WebCore::ScriptValue::getString):
24456
24457 2009-12-07  Enrica Casucci  <enrica@apple.com>
24458
24459         Reviewed by Darin Adler.
24460
24461         REGRESSION(4.0.4-42a12): Indent does not work for twice modified with background text in gmail.
24462         <rdar://problem/7442387>
24463         https://bugs.webkit.org/show_bug.cgi?id=32233
24464         
24465         Fixes problem in re-creating the correct hierarchy under the new block.
24466         Added extensive testing to cover all the cases.
24467
24468         Test: editing/execCommand/indent-with-style2.html
24469
24470         * editing/CompositeEditCommand.cpp:
24471         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
24472
24473 2009-12-07  Dmitry Titov  <dimich@chromium.org>
24474
24475         Rubber-stamped by Darin Adler.
24476
24477         Remove ENABLE_SHARED_SCRIPT flags
24478         https://bugs.webkit.org/show_bug.cgi?id=32245
24479         This patch was obtained by "git revert" command and then un-reverting of ChangeLog files.
24480
24481         * Configurations/FeatureDefines.xcconfig:
24482         * GNUmakefile.am:
24483         * WebCore.pro:
24484
24485 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
24486
24487         Not reviewed. Force JS binding regeneration, eventually fixing the broken tests on the bots.
24488
24489         * bindings/scripts/CodeGeneratorJS.pm:
24490
24491 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
24492
24493         Not reviewed. Try to fix mac builds by touching svgtags.in - I only tried from-scratch builds.
24494
24495         * svg/svgtags.in:
24496
24497 2009-12-07  Gavin Barraclough  <barraclough@apple.com>
24498
24499         Reviewed by Oliver Hunt.
24500
24501         https://bugs.webkit.org/show_bug.cgi?id=32184
24502         Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing.
24503         Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on.
24504
24505         * bindings/ScriptControllerBase.cpp:
24506         (WebCore::ScriptController::executeIfJavaScriptURL):
24507         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
24508         (WebCore::toHTMLCanvasStyle):
24509         (WebCore::JSCanvasRenderingContext2D::setFillColor):
24510         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
24511         (WebCore::JSCanvasRenderingContext2D::setShadow):
24512         * bindings/js/ScriptCallStack.cpp:
24513         (WebCore::ScriptCallStack::ScriptCallStack):
24514         (WebCore::ScriptCallStack::initialize):
24515         * bindings/js/ScriptValue.cpp:
24516         (WebCore::ScriptValue::getString):
24517         * bindings/js/ScriptValue.h:
24518         * bindings/js/SerializedScriptValue.cpp:
24519         (WebCore::SerializingTreeWalker::convertIfTerminal):
24520         * bindings/objc/WebScriptObject.mm:
24521         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
24522         * page/Console.cpp:
24523         (WebCore::Console::addMessage):
24524
24525 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
24526
24527         Reviewed by Holger Hans Peter Freyther.
24528
24529         Turn on (SVG) Filters support, by default.
24530         https://bugs.webkit.org/show_bug.cgi?id=32224
24531
24532         Only enable filters on mac for now, skipped all affected tests on the other platforms.
24533         Will enable them one after another, to minimize breakage.
24534
24535         * Configurations/FeatureDefines.xcconfig: Enable FILTERS build flag.
24536
24537 2009-12-07  Kent Tamura  <tkent@chromium.org>
24538
24539         Reviewed by Darin Adler.
24540
24541         Fix a bug that KURL rejects a host name which has an IPv4 address
24542         inside an IPv6 form like [::127.0.0.1].
24543         https://bugs.webkit.org/show_bug.cgi?id=29913
24544
24545         * platform/KURL.cpp:
24546         (WebCore::characterClassTable): Add IPv6Char to '.'.
24547
24548 2009-12-07  Brady Eidson  <beidson@apple.com>
24549
24550         Reviewed by Sam Weinig.
24551
24552         <rdar://problem/7443417> - Closing a window opened with "New windows open with: Same Page" results in crash in ::~HistoryItem
24553
24554         The HistoryItem copy constructor has one very specific use case - to support the feature of a WebView copying another WebView's
24555         BackForwardList.  That constructor wasn't initializing its m_document pointer, leading to this crash in the destructor.
24556
24557         * history/HistoryItem.cpp:
24558         (WebCore::HistoryItem::~HistoryItem): Change the setDocument(0) to an ASSERT that the document is already 0. A HistoryItem cannot
24559           outlive its Document and Documents will always clear the back-pointer in their ::detach() method.
24560         (WebCore::HistoryItem::HistoryItem): Missed the m_document initializer in the copy constructor. Also remove an invalid assertion
24561           about the original items m_cachedPage object (which is irrelevant to the copy).
24562
24563 2009-12-07  Dmitry Titov  <dimich@chromium.org>
24564
24565         Reviewed by Darin Adler.
24566
24567         Remove partial SharedScript implementation.
24568         https://bugs.webkit.org/show_bug.cgi?id=32237
24569         The patch was obtained by running "git revert" command and then un-reverting WebCore/ChangeLog.
24570
24571         * DerivedSources.make:
24572         * SharedScript/SharedScriptContext.cpp: Removed.
24573         * SharedScript/SharedScriptContext.h: Removed.
24574         * SharedScript/SharedScriptContext.idl: Removed.
24575         * SharedScript/SharedScriptController.h: Removed.
24576         * SharedScript/WebKitSharedScript.cpp: Removed.
24577         * SharedScript/WebKitSharedScript.h: Removed.
24578         * SharedScript/WebKitSharedScript.idl: Removed.
24579         * SharedScript/WebKitSharedScriptRepository.cpp: Removed.
24580         * SharedScript/WebKitSharedScriptRepository.h: Removed.
24581         * WebCore.vcproj/WebCore.vcproj:
24582         * WebCore.xcodeproj/project.pbxproj:
24583         * dom/Document.cpp:
24584         (WebCore::Document::detach):
24585         * dom/EventTarget.cpp:
24586         * dom/EventTarget.h:
24587         * dom/ScriptExecutionContext.h:
24588
24589 2009-12-07  Alexey Proskuryakov  <ap@apple.com>
24590
24591         Reviewed by Nikolas Zimmermann.
24592
24593         https://bugs.webkit.org/show_bug.cgi?id=32226
24594         Random crashes in WebSocket tests on Leopard Debug builbot
24595
24596         * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::close):
24597         Make sure the object still exists when setting m_state.
24598
24599 2009-12-07  Shiki Okasaka  <shiki@google.com>
24600
24601         Reviewed by Dirk Schulze.
24602
24603         Avoid zero division during SVGPaintServerPattern::setup()
24604         https://bugs.webkit.org/show_bug.cgi?id=29912
24605
24606         Fix zero division bugs in SVGPaintServerPattern::setup() that occurred
24607         if the tile of a pattern was bigger than the pattern and the pattern
24608         size was < 0.5, and if the attribute overflow was set to visible.
24609
24610         Test: svg/custom/small-pattern.html
24611
24612         * svg/graphics/SVGPaintServerPattern.cpp:
24613         (WebCore::SVGPaintServerPattern::setup):
24614
24615 2009-12-07  Kenneth Russell  <kbr@google.com>
24616
24617         Reviewed by Dimitri Glazkov.
24618
24619         [v8] WebCore::WebGLArrayBufferInternal::byteLengthAttrGetter NULL pointer
24620         https://bugs.webkit.org/show_bug.cgi?id=31889
24621
24622         Fixed bug in handling of zero-argument constructor call.
24623
24624         Test: fast/canvas/webgl/bug-31889.html
24625
24626         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
24627         (WebCore::CALLBACK_FUNC_DECL):
24628
24629 2009-12-07  Gyuyoung Kim  <gyuyoung@gmail.com>
24630
24631         Reviewed by Eric Seidel.
24632
24633         https://bugs.webkit.org/show_bug.cgi?id=32024
24634         [GTK] WebKit does not compile without JAVASCRIPT_DEBUGGER
24635
24636         Fix build errors when javascript-debugger is disabled on GTK
24637
24638         * GNUmakefile.am:
24639
24640 2009-12-07  Dan Bernstein  <mitz@apple.com>
24641
24642         Reviewed by Darin Adler.
24643
24644         Fixed <rdar://problem/7437820> Weird selection artifacts
24645
24646         Tests: fast/repaint/block-selection-gap-stale-cache-2.html
24647                fast/repaint/block-selection-gap-stale-cache.html
24648
24649         Instead of caching the block selection gaps’ bounds in the RenderView at setSelection()
24650         time, cache them in each RenderLayer at paint time. This prevents the cache from getting
24651         stale due to layout changes and overflow scrolling.
24652
24653         * rendering/RenderBlock.cpp:
24654         (WebCore::RenderBlock::selectionGapRectsForRepaint): Account for overflow scroll.
24655         (WebCore::RenderBlock::paintSelection): Update the enclosing layer’s selection gaps bounds.
24656         * rendering/RenderLayer.cpp:
24657         (WebCore::RenderLayer::addBlockSelectionGapsBounds): Added. Updates the selection gaps
24658         bounds to include the given rect.
24659         (WebCore::RenderLayer::clearBlockSelectionGapsBounds): Added. Recursively clears the cached
24660         selection gaps bounds.
24661         (WebCore::RenderLayer::repaintBlockSelectionGaps): Added. Recursively invalidates the
24662         selection gaps bounds.
24663         * rendering/RenderLayer.h:
24664         * rendering/RenderView.cpp:
24665         (WebCore::RenderView::setSelection): Clear the layer-level selection gaps bounds instead
24666         of the view-level cache.
24667         (WebCore::RenderView::clearSelection): Changed to call repaintBlockSelectionGaps().
24668         * rendering/RenderView.h:
24669
24670 2009-12-07  Philippe Normand  <pnormand@igalia.com>
24671
24672         Reviewed by Gustavo Noronha.
24673
24674         Fixed whitelist comment and removed useless (tags, sdp) mimetypes
24675         from it. Also, GStreamer doesn't handle directly SMIL.
24676
24677         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
24678         (WebCore::mimeTypeCache):
24679
24680 2009-12-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
24681
24682         Reviewed by Xan Lopez.
24683
24684         https://bugs.webkit.org/show_bug.cgi?id=25415
24685         [GTK][ATK] Please implement support for get_text_at_offset
24686
24687         Eliminate the segfaults which occur when accessing the text interface now
24688         implemented by text controls.
24689
24690         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
24691         (getPangoLayoutForAtk):
24692
24693 2009-12-07  Gustavo Noronha Silva  <gns@gnome.org>
24694
24695         Reviewed by Xan Lopez.
24696
24697         Turn the MediaPlayer supported types blacklist into a whitelist
24698
24699         [GTK] REGRESSION: webkit thinks it can render PDFs
24700         https://bugs.webkit.org/show_bug.cgi?id=32183
24701
24702         Covered by API test.
24703
24704         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
24705         (WebCore::mimeTypeCache):
24706
24707 2009-12-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
24708
24709         Reviewed by Xan Lopez.
24710
24711         https://bugs.webkit.org/show_bug.cgi?id=25524
24712         [Gtk] Expose the title attribute to assistive technologies
24713
24714         Expose 'alt' attribute from images as accessible name.
24715         Expose the 'title' core HTML attribute as accessible description.
24716         This is a modified version of the original fix submitted by Mario Sanchez Prada,
24717         adjusted so that it doesn't impact other platforms.
24718
24719         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
24720         (webkit_accessible_get_name):
24721         (webkit_accessible_get_description):
24722
24723 2009-12-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
24724
24725         Reviewed by Simon Hausmann.
24726
24727         [Qt] Fix support for generic font families
24728
24729         By not propagating the resolved font family in FontCacheQt and
24730         only concidering the font description we ended up passing the
24731         generic font families to Qt directly. Since most systems don't
24732         have a mapping for these font families we ended up using the
24733         default font in most cases.
24734
24735         * platform/graphics/qt/FontCacheQt.cpp:
24736         * platform/graphics/qt/FontPlatformData.h:
24737         * platform/graphics/qt/FontPlatformDataQt.cpp:
24738
24739 2009-12-06  Oliver Hunt  <oliver@apple.com>
24740
24741         Reviewed by Maciej Stachowiak.
24742
24743         Object.getOwnPropertyDescriptor() allows cross-frame access
24744         https://bugs.webkit.org/show_bug.cgi?id=32119
24745
24746         Make all implementations of getOwnPropertyDescriptor that have
24747         cross domain restrictions simply fail immediately on cross domain
24748         access, rather than trying to mimic the behaviour of normal
24749         property access.
24750
24751         Test: http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html
24752
24753         * bindings/js/JSDOMWindowCustom.cpp:
24754         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
24755         * bindings/js/JSHistoryCustom.cpp:
24756         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
24757         * bindings/js/JSLocationCustom.cpp:
24758         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
24759         * bindings/scripts/CodeGeneratorJS.pm:
24760
24761 2009-12-07  Steve Block  <steveblock@google.com>
24762
24763         Reviewed by Adam Barth.
24764
24765         Moves JSC-specific functions from jni_utility and moves them to new jsc/jni_utility_private files.
24766         https://bugs.webkit.org/show_bug.cgi?id=32157
24767
24768         Build fix only, no new tests.
24769
24770         * WebCore.xcodeproj/project.pbxproj: Modified. Add jni_utility_private.[cpp|h].
24771         * bridge/jni/jni_instance.cpp: Modified. Include jni_utility_private.h for JSC.
24772         * bridge/jni/jni_jsobject.mm: Modified. Include jni_utility_private.h for JSC.
24773         * bridge/jni/jni_objc.mm: Modified. Include jni_utility_private.h for JSC.
24774         * bridge/jni/jni_runtime.cpp: Modified. Include jni_utility_private.h for JSC.
24775         * bridge/jni/jni_utility.cpp: Modified. Removed convertValueToJValue and convertArrayInstanceToJavaArray.
24776         * bridge/jni/jni_utility.h: Modified. Removed convertValueToJValue and dispatchJNICall.
24777         * bridge/jni/jsc: Added.
24778         * bridge/jni/jsc/jni_utility_private.cpp: Added.
24779         (JSC::Bindings::convertArrayInstanceToJavaArray):
24780         (JSC::Bindings::convertValueToJValue):
24781         * bridge/jni/jsc/jni_utility_private.h: Added. Header for convertValueToJValue and dispatchJNICall.
24782         * platform/android/TemporaryLinkStubs.cpp: Modified. Include jni_utility_private.h for JSC.
24783
24784 2009-12-06  Oliver Hunt  <oliver@apple.com>
24785
24786         Reviewed by Maciej Stachowiak.
24787
24788         texImage2D pixel junk for transparency
24789         https://bugs.webkit.org/show_bug.cgi?id=32188
24790
24791         Use kCGBlendModeCopy when drawing an image to the intermediate context
24792         used to create a GL texture.
24793
24794         No test as we don't currently have any mechanism to retrieve pixel data
24795         from the webgl context.
24796
24797         * platform/graphics/mac/GraphicsContext3DMac.cpp:
24798         (WebCore::imageToTexture):
24799
24800 2009-12-03  Philippe Normand  <pnormand@igalia.com>
24801
24802         Reviewed by Gustavo Noronha.
24803
24804         Advertize audio/ogg correctly and refactored mime-type cache
24805         building.
24806
24807         [GTK] Recognize oga as audio/ogg
24808         https://bugs.webkit.org/show_bug.cgi?id=31990
24809
24810         Test: media/media-can-play-ogg.html
24811
24812         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
24813         (WebCore::mimeTypeCache):
24814
24815 2009-12-05  Alexey Proskuryakov  <ap@apple.com>
24816
24817         Reviewed by Eric Seidel.
24818
24819         https://bugs.webkit.org/show_bug.cgi?id=32175
24820         REGRESSION: websocket/tests/url-parsing.html is crashing on Leopard Bot
24821
24822         * platform/network/cf/SocketStreamHandleCFNet.cpp:
24823         (WebCore::SocketStreamHandle::readStreamCallback): Call platformClose() to unschedule both
24824         streams, guaranteeing that there will be no callbacks after SocketStreamHandle is destroyed.
24825         (WebCore::SocketStreamHandle::writeStreamCallback): Edited a comment a bit.
24826
24827 2009-12-05  Adam Langley  <agl@google.com>
24828
24829         Reviewed by Adam Barth.
24830
24831         Check that a CSS format() argument is of a valid type.
24832
24833         https://bugs.webkit.org/show_bug.cgi?id=31815
24834         http://code.google.com/p/chromium/issues/detail?id=28582
24835
24836         Test: fast/css/url-format-non-string.html
24837
24838         * css/CSSParser.cpp:
24839         (WebCore::CSSParser::parseFontFaceSrc):
24840
24841 2009-12-04  Adam Langley  <agl@google.com>
24842
24843         Reviewed by Eric Seidel.
24844
24845         Chromium: make rounded borders heavier.
24846
24847         Skia draws its rounded corners differently from the other ports.
24848         Whereas they have anti-aliased clipping regions, Skia only has 1-bit
24849         regions. (Which is technically more correct, but somewhat unhelpful
24850         for us.) Instead, with Skia we use a layer and collect all the
24851         clipping paths in effect. When the state is popped, we paint
24852         transparency outside the clipping paths and merge the layer down.
24853
24854         This appears to cause rounded borders to look a little thin, which is
24855         addressed in this patch.
24856
24857         This is well covered by existing tests but will require new baselines
24858         in the Chromium tree.
24859
24860         https://bugs.webkit.org/show_bug.cgi?id=31778
24861
24862         * platform/graphics/skia/GraphicsContextSkia.cpp:
24863         (WebCore::GraphicsContext::addInnerRoundedRectClip):
24864
24865 2009-12-04  Simon Fraser  <simon.fraser@apple.com>
24866
24867         Reviewed by Dan Bernstein.
24868
24869         <rdar://problem/7441571> Hardware-backed layers are skipped when printing
24870         
24871         When printing, set the PaintBehaviorFlattenCompositingLayers flag so that compositing layers
24872         paint. This also causes 3D transforms to be flattened to 2D.
24873
24874         Test: printing/compositing-layer-printing.html
24875
24876         * page/FrameView.cpp:
24877         (WebCore::FrameView::paintContents):
24878
24879 2009-12-04  Oliver Hunt  <oliver@apple.com>
24880
24881         Reviewed by Beth Dakin.
24882
24883         Fix up some issues in my SVGListTraits change from yesterday.
24884
24885         * svg/SVGListTraits.h:
24886         (WebCore::):
24887
24888 2009-12-04  Albert J. Wong  <ajwong@chromium.org>
24889
24890         Not reviewed: chromium build fix.
24891
24892         Fix Chromium build break caused by moving of isDefaultPortForProtocol() and
24893         portAllowed() into KURL.h/KURL.cpp.  Cloning code.
24894
24895         * platform/KURLGoogle.cpp:
24896         (WebCore::isDefaultPortForProtocol):
24897         (WebCore::portAllowed):
24898
24899 2009-12-04  Pavel Feldman  <pfeldman@chromium.org>
24900
24901         Reviewed by Timothy Hatcher.
24902
24903         Web Inspector: Remove suppress highlight when restoring selected node.
24904
24905         https://bugs.webkit.org/show_bug.cgi?id=32152
24906
24907         * inspector/front-end/ElementsPanel.js:
24908         (WebInspector.ElementsPanel.prototype.setDocument.selectNode):
24909         (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
24910         (WebInspector.ElementsPanel.prototype.setDocument):
24911
24912 2009-12-04  Dirk Schulze  <krit@webkit.org>
24913
24914         Reviewed by Nikolas Zimmermann.
24915
24916         Gradient SVG animation demonstrates tearing at animation extremes
24917         https://bugs.webkit.org/show_bug.cgi?id=11929
24918
24919         The focalPoint of a radial gradient is temporarly substracted by
24920         the centralPoint, if the focalPoint is not in the radius of the
24921         gradient. This is needed to calculate a new postion of the focalPoint
24922         according to the specification. But the new focalPoint needs to be
24923         moved by the centralPoint after this calculation, which is not the case
24924         at the moment. This patch fixes this issue. It was also introduced a
24925         deviation of maximal 0.2% for Cairo to get around the fixed point numbers
24926         in Cairo.
24927
24928         W3C-SVG-1.1/pservers-grad-13-b needed an update. The missing adjustment
24929         of the new focalPoint caused wrong results for the last three tests.
24930
24931         Test: svg/custom/radial-gradient-with-outstanding-focalPoint.svg
24932
24933         * svg/SVGRadialGradientElement.cpp:
24934         (WebCore::SVGRadialGradientElement::buildGradient):
24935
24936 2009-12-04  Anton Muhin  <antonm@chromium.org>
24937
24938         Reviewed by Dmitry Titov.
24939
24940         Do not use WebCore::String::String(const UChar*, int length) to convert
24941         short v8 strings.
24942
24943         Plus added string traits.
24944         https://bugs.webkit.org/show_bug.cgi?id=31415
24945
24946         * bindings/v8/V8Binding.cpp:
24947         (WebCore::):
24948         (WebCore::v8StringToWebCoreString):
24949
24950 2009-12-04  Chris Fleizach  <cfleizach@apple.com>
24951
24952         Reviewed by Darin Adler.
24953
24954         REGRESSION: AX: buttons now extremely repetitive
24955         https://bugs.webkit.org/show_bug.cgi?id=32164
24956
24957         Test: platform/mac/accessibility/button-shouldnot-have-axvalue.html
24958
24959         * accessibility/AccessibilityObject.h:
24960         (WebCore::AccessibilityObject::isButton):
24961         * accessibility/mac/AccessibilityObjectWrapper.mm:
24962         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
24963
24964 2009-12-04  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
24965
24966         Reviewed by Darin Adler.
24967
24968         Check whether the right side of a string append is non-empty
24969         https://bugs.webkit.org/show_bug.cgi?id=32151
24970
24971         Especially beneficial for CachedScript::script() method
24972         which usually appends an empty string returned by flush()
24973         to its m_script member. m_script is often hundreds of kbytes
24974         which is duplated without reason.
24975
24976         * platform/text/String.cpp:
24977         (WebCore::String::append):
24978
24979 2009-12-04  Enrica Casucci  <enrica@apple.com>
24980
24981         Reviewed by John Sullivan.
24982
24983         Mail.app crashes when indenting table pasted from Numbers.app.
24984         <rdar://problem/7209507>
24985         https://bugs.webkit.org/show_bug.cgi?id=32166
24986
24987         Test: LayoutTests/editing/execCommand/indent-partial-table.html
24988         
24989         * editing/IndentOutdentCommand.cpp:
24990         (WebCore::IndentOutdentCommand::indentRegion): Added test to verify that the end of the paragraph
24991         after the selection has not been moved.
24992
24993 2009-12-04  Alexey Proskuryakov  <ap@apple.com>
24994
24995         Reviewed by Darin Adler.
24996
24997         https://bugs.webkit.org/show_bug.cgi?id=32085
24998         WebSocket should block the same ports that are blocked for resource loading
24999
25000         Test: websocket/tests/url-parsing.html
25001
25002         * page/SecurityOrigin.cpp:
25003         (WebCore::SecurityOrigin::SecurityOrigin):
25004         (WebCore::SecurityOrigin::localURLSchemes):
25005         * page/SecurityOrigin.h:
25006         Move isDefaultPortForProtocol() to KURL, because that's a better place for it (SecurityOrigin
25007         is not even in WebCore/platform directory).
25008
25009         * html/HTMLAnchorElement.cpp:
25010         (WebCore::HTMLAnchorElement::host):
25011         (WebCore::HTMLAnchorElement::setHost):
25012         (WebCore::HTMLAnchorElement::setPort):
25013         Updated for the new location of isDefaultPortForProtocol().
25014
25015         * platform/KURL.cpp:
25016         (WebCore::KURL::protocolIs): In an assertion, compare to "javascript" case-insensitively,
25017         since the function doesn't require lower case input.
25018         (WebCore::isDefaultPortForProtocol): Moved from SecurityOrigin.
25019         (WebCore::portAllowed): Moved from ResourceHandle.
25020         * platform/KURL.h:
25021
25022         * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): Updated for the
25023         new location of portAllowed().
25024
25025         * websockets/WebSocket.cpp: (WebCore::WebSocket::connect): Per the spec, raise a SECURITY_ERR
25026         if trying to connect to a blocked port.
25027
25028 2009-12-04  Benjamin Poulain  <benjamin.poulain@nokia.com>
25029
25030         Reviewed by Kenneth Rohde Christiansen.
25031
25032         [Qt] WebKit crashes when loading certain SVG images
25033         https://bugs.webkit.org/show_bug.cgi?id=29443
25034
25035         Remove FontFallbackListQt and rely on the common FontFallbackList
25036         to handle the fonts. FontCache and FontPlatformData have been
25037         updated to work with the common FontFallbackList.
25038
25039         In the previous implementation, FontPlatformDataCacheKey
25040         was a clone of FontPlatformData with the hashing
25041         capabilities added in order to use it as a key in the cache's
25042         hashmap. FontPlatformData has been modified to handle the hashing
25043         function directly so the data are not copied twice in memory.
25044
25045         FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of
25046         code from FontCache::getFontData() and FontFallbackList::fontDataAt().
25047         The behavior is similar except currFamily->family().length() was
25048         not tested and the fallback fonts selector were not used.
25049
25050         Existing tests cover the change.
25051
25052         * WebCore.pro:
25053         * platform/graphics/qt/FontCacheQt.cpp:
25054         (WebCore::FontCache::platformInit):
25055         (WebCore::FontCache::getFontDataForCharacters):
25056         (WebCore::FontCache::getSimilarFontPlatformData):
25057         (WebCore::FontCache::getLastResortFallbackFont):
25058         (WebCore::FontCache::getTraitsInFamily):
25059         (WebCore::FontCache::createFontPlatformData):
25060         * platform/graphics/qt/FontCustomPlatformData.cpp:
25061         (WebCore::FontCustomPlatformData::fontPlatformData):
25062         * platform/graphics/qt/FontFallbackListQt.cpp:
25063         Removed. We now use the implementation from FontFallbackList.cpp
25064         * platform/graphics/qt/FontPlatformData.h:
25065         Add hashing capabilities to be able to use the data with the FontCache.
25066         This was previously done in FontCacheQt.cpp
25067         (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
25068         (WebCore::FontPlatformData::FontPlatformData):
25069         (WebCore::FontPlatformData::isHashTableDeletedValue):
25070         (WebCore::FontPlatformData::font):
25071         (WebCore::FontPlatformData::size):
25072         (WebCore::FontPlatformData::family):
25073         (WebCore::FontPlatformData::bold):
25074         (WebCore::FontPlatformData::italic):
25075         (WebCore::FontPlatformData::smallCaps):
25076         (WebCore::FontPlatformData::pixelSize):
25077         * platform/graphics/qt/FontPlatformDataQt.cpp:
25078         (WebCore::FontPlatformData::FontPlatformData):
25079         (WebCore::FontPlatformData::~FontPlatformData):
25080         (WebCore::FontPlatformData::operator=):
25081         (WebCore::FontPlatformData::operator==):
25082         (WebCore::FontPlatformData::hash):
25083
25084 2009-12-04  Adam Treat  <atreat@rim.com>
25085
25086         Reviewed by Dan Bernstein.
25087
25088         Fix wrong assert that was only working through sheer luck.
25089         https://bugs.webkit.org/show_bug.cgi?id=32162
25090
25091         * platform/text/BidiContext.cpp:
25092         (WebCore::BidiContext::create):
25093
25094 2009-12-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
25095
25096         Reviewed by Simon Hausmann.
25097
25098         [Qt] Allow removing 'qrc' as a local security origin scheme
25099
25100         * page/SecurityOrigin.cpp:
25101
25102 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
25103
25104         Reviewed by Eric Seidel.
25105
25106         Allow custom memory allocation control for WebCore's CollectionCache
25107         https://bugs.webkit.org/show_bug.cgi?id=32109
25108
25109         Inherits the following class from FastAllocBase because it is
25110         instantiated by 'new':
25111
25112         struct name            - instantiated at: WebCore/'location'
25113
25114         struct CollectionCache - dom/Document.cpp:4029
25115
25116         * html/CollectionCache.h:
25117
25118 2009-12-04  Steve Block  <steveblock@google.com>
25119
25120         Reviewed by Darin Adler.
25121
25122         Fixes a crashing bug in Geolocation when a watch is cleared from some callbacks. 
25123         https://bugs.webkit.org/show_bug.cgi?id=32111
25124
25125         In Geolocation::GeoNotifier::timerFired, a JS callback may be invoked if a
25126         fatal error was registered on this GeoNotifier or if this request has timed
25127         out. If the request is a watch, and is cleared by a call to clearWatch in the
25128         callback, the GeoNotifier object will be destroyed. We must therefore cache the
25129         m_geolocation member to allow us to call Geolocation::fatalErrorOccurred or
25130         Geolocation::requestTimedOut.
25131
25132         Tests: fast/dom/Geolocation/permission-denied-already-clear-watch.html
25133                fast/dom/Geolocation/timeout-clear-watch.html
25134
25135         * page/Geolocation.cpp: Modified.
25136         (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Cache the m_geolocation member before invoking the JS callback.
25137
25138 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
25139
25140         Reviewed by Eric Seidel.
25141
25142         Allow custom memory allocation control for 2 classes of the platform directory in WebCore
25143         https://bugs.webkit.org/show_bug.cgi?id=
25144
25145         Inherits the following class from Noncopyable because it is instantiated
25146         by 'new' and no need to be copyable:
25147
25148         class/struct name         - instantiated at: WebCore/'location'
25149
25150         class SharedTimer         - (its child class) workers/WorkerRunLoop.cpp:91
25151
25152         Inherits the following class from FastAllocBase because it is
25153         instantiated by 'new':
25154
25155         class TransformOperations - rendering/style/RenderStyle.h:1175
25156
25157         Noncopyable.h's include added to SharedTimer.h.
25158
25159         * platform/SharedTimer.h:
25160         * platform/graphics/transforms/TransformOperations.h:
25161
25162 2009-12-04  Xan Lopez  <xlopez@igalia.com>
25163
25164         Reviewed by Gustavo Noronha.
25165
25166         [GTK]Enable DNS prefetching
25167         https://bugs.webkit.org/show_bug.cgi?id=23846
25168
25169         Enable DNS prefetching.
25170
25171         Based on a patch by José Millán.
25172
25173         * platform/network/soup/DNSSoup.cpp:
25174         (WebCore::prefetchDNS):
25175
25176 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
25177
25178         Reviewed by Eric Seidel.
25179
25180         Allow custom memory allocation control for the svg directory in WebCore
25181         https://bugs.webkit.org/show_bug.cgi?id=
25182
25183         Inherits the following classes from Noncopyable because these are instantiated
25184         by 'new' and no need to be copyable:
25185
25186         class/struct name           - instantiated at: WebCore/'location'
25187
25188         struct ResourceSet          - svg/graphics/SVGResource.cpp:148
25189         class SVGFontData           - css/CSSFontFaceSource.cpp:156
25190         class SVGDocumentExtensions - dom/Document.cpp:3962
25191         class SVGViewSpec           - svg/SVGSVGElement.cpp:191
25192
25193         * svg/SVGDocumentExtensions.h:
25194         * svg/SVGFontData.h:
25195         * svg/SVGViewSpec.h:
25196         * svg/graphics/SVGResource.cpp:
25197
25198 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
25199
25200         Reviewed by Beth Dakin.
25201
25202         WAI-ARIA: aria-activedescendant doesn't work as intended
25203         https://bugs.webkit.org/show_bug.cgi?id=32100
25204
25205         Fixes a number of issues regarding the "tree" role and aria-activedescendant.
25206         1. The indexes were being reported incorrectly by treeitems.
25207         2. aria-activedescendant changes were not being sent to the containing item.
25208         3. The tree's selected rows need to consult aria-activedescendant.
25209         4. Since a tree changes what it returns as its children (it returns its rows)
25210            the mac-specific array indexing methods need to correctly handle the tree case.
25211
25212         Tests: platform/mac/accessibility/aria-tree-activedescendant.html
25213                platform/mac/accessibility/aria-tree-index-of-items.html
25214
25215         * accessibility/AXObjectCache.h:
25216         (WebCore::AXObjectCache::):
25217         * accessibility/AccessibilityRenderObject.cpp:
25218         (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant):
25219         (WebCore::AccessibilityRenderObject::activeDescendant):
25220         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
25221         (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
25222         * accessibility/mac/AXObjectCacheMac.mm:
25223         (WebCore::AXObjectCache::postPlatformNotification):
25224         * accessibility/mac/AccessibilityObjectWrapper.mm:
25225         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
25226         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
25227         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
25228         * accessibility/win/AXObjectCacheWin.cpp:
25229         (WebCore::AXObjectCache::postPlatformNotification):
25230
25231 2009-12-03  Zoltan Horvath  <zoltan@webkit.org>
25232
25233         Reviewed by Eric Seidel.
25234
25235         Allow custom memory allocation control for the xml directory in WebCore
25236         https://bugs.webkit.org/show_bug.cgi?id=
25237
25238         Inherits the following class from Noncopyable because it is instantiated 
25239         by 'new' and no need to be copyable:
25240
25241         class/struct name               - instantiated at: WebCore/'location'
25242
25243         struct XMLHttpRequestStaticData - xml/XMLHttpRequest.cpp:134
25244
25245         Inherits the following classes from FastAllocBase because these are instantiated by 'new':
25246
25247         class NodeTest                  - xml/XPathGrammar.y:258
25248         class NodeSet                   - xml/XPathValue.cpp:52
25249         struct EvaluationContext        - xml/XPathExpressionNode.cpp:40
25250
25251         * xml/XMLHttpRequest.cpp:
25252         * xml/XPathExpressionNode.h:
25253         * xml/XPathNodeSet.h:
25254         * xml/XPathStep.h:
25255
25256 2009-12-03  Drew Wilson  <atwilson@chromium.org>
25257
25258         Reviewed by Adam Barth.
25259
25260         New History changes do not compile for Chromium/V8
25261         https://bugs.webkit.org/show_bug.cgi?id=32148
25262
25263         Existing tests suffice (just trying to get code to compile).
25264
25265         * WebCore.gypi:
25266         Added V8HistoryCustom.cpp and other missing files.
25267         * bindings/v8/custom/V8CustomBinding.h:
25268         Added custom handlers for History.pushState()/replaceState().
25269         * bindings/v8/custom/V8HistoryCustom.cpp: Added.
25270         Added custom handlers for History.pushState()/replaceState().
25271         * history/BackForwardListChromium.cpp:
25272         (WebCore::BackForwardList::pushStateItem):
25273         Stubbed out this routine for now - will implement in the future.
25274
25275 2009-12-03  Adam Barth  <abarth@webkit.org>
25276
25277         Reviewed by Eric Seidel.
25278
25279         OwnPtr<XBLBindingManager> Document::m_bindingManager;
25280         https://bugs.webkit.org/show_bug.cgi?id=32147
25281
25282         The document actually owns the bindingManager.  That's what the code
25283         should say.
25284
25285         * dom/Document.cpp:
25286         (WebCore::Document::~Document):
25287         * dom/Document.h:
25288         (WebCore::Document::bindingManager):
25289
25290 2009-12-03  Adam Barth  <abarth@webkit.org>
25291
25292         Reviewed by Eric Seidel.
25293
25294         OwnPtr<Tokenizer> Document::m_tokenizer;
25295         https://bugs.webkit.org/show_bug.cgi?id=32145
25296
25297         The document actually owns the tokenizer.  That's what the code should say.
25298
25299         * dom/Document.cpp:
25300         (WebCore::Document::removedLastRef):
25301         (WebCore::Document::~Document):
25302         (WebCore::Document::cancelParsing):
25303         (WebCore::Document::implicitOpen):
25304         (WebCore::Document::implicitClose):
25305         * dom/Document.h:
25306         (WebCore::Document::tokenizer):
25307
25308 2009-12-03  Adam Barth  <abarth@webkit.org>
25309
25310         Reviewed by Eric Seidel.
25311
25312         OwnPtr<RenderArena> Document::m_renderArena;
25313         https://bugs.webkit.org/show_bug.cgi?id=32146
25314
25315         The document owns the renderArena.  That's what the code should say.
25316
25317         * dom/Document.cpp:
25318         (WebCore::Document::Document): Also, removed a redundant initialization
25319         of the tokenizer that I missed in my previous patch.
25320         (WebCore::Document::~Document):
25321         (WebCore::Document::attach):
25322         (WebCore::Document::detach):
25323         * dom/Document.h:
25324         (WebCore::Document::renderArena):
25325
25326 2009-12-03  Drew Wilson  <atwilson@chromium.org>
25327
25328         Rolling back r51633 because it causes a chromium perf regression.
25329
25330         * platform/graphics/SimpleFontData.h:
25331         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
25332
25333 2009-12-03  Adam Barth  <abarth@webkit.org>
25334
25335         Reviewed by Eric Seidel.
25336
25337         The code should say that Document owns DocLoader
25338         https://bugs.webkit.org/show_bug.cgi?id=32143
25339
25340         It's the truth.
25341
25342         * dom/Document.cpp:
25343         (WebCore::Document::~Document):
25344         * dom/Document.h:
25345         (WebCore::Document::docLoader):
25346
25347 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
25348
25349         Reviewed by Eric Seidel.
25350
25351         AX: VO just says "term" on many web sites
25352         https://bugs.webkit.org/show_bug.cgi?id=32139
25353
25354         Test: platform/mac/accessibility/definition-list-term.html
25355
25356         * accessibility/AccessibilityRenderObject.cpp:
25357         (WebCore::AccessibilityRenderObject::accessibilityDescription):
25358         * accessibility/mac/AccessibilityObjectWrapper.mm:
25359         (-[AccessibilityObjectWrapper subrole]):
25360         (-[AccessibilityObjectWrapper roleDescription]):
25361
25362 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
25363
25364         Reviewed by Beth Dakin.
25365
25366         Implement WAI-ARIA scrollbar role and related property aria-orientation
25367         https://bugs.webkit.org/show_bug.cgi?id=32126
25368
25369         Test: accessibility/aria-scrollbar-role.html
25370
25371         * accessibility/AccessibilityObject.cpp:
25372         (WebCore::createARIARoleMap):
25373         * accessibility/AccessibilityObject.h:
25374         (WebCore::AccessibilityObject::isScrollbar):
25375         * accessibility/AccessibilityRenderObject.cpp:
25376         (WebCore::AccessibilityRenderObject::valueForRange):
25377         (WebCore::AccessibilityRenderObject::orientation):
25378         (WebCore::AccessibilityRenderObject::canHaveChildren):
25379         * accessibility/AccessibilityRenderObject.h:
25380         * accessibility/mac/AccessibilityObjectWrapper.mm:
25381         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
25382         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
25383         * html/HTMLAttributeNames.in:
25384
25385 2009-12-03  Dan Bernstein  <mitz@apple.com>
25386
25387         Reviewed by Darin Adler.
25388
25389         Fixed <rdar://problem/7401617> Selection painting issue in hardware-
25390         accelerated layers
25391         which is another part of https://bugs.webkit.org/show_bug.cgi?id=23628
25392         Fix selection painting to do container-relative repaints
25393
25394         Test: fast/repaint/block-selection-gap-in-composited-layer.html
25395
25396         * rendering/RenderBlock.cpp:
25397         (WebCore::RenderBlock::selectionGapRectsForRepaint): Compute and paint
25398         gap rects in the coordinate space of the repaint container.
25399         * rendering/RenderLayerCompositor.cpp:
25400         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): Added a
25401         FIXME.
25402         * rendering/RenderView.cpp:
25403         (WebCore::RenderView::setSelection): Map block selection gap rects from
25404         the repaint container’s coordinate space to the view’s coordinate space
25405         before adding them to the cached selection bounds.
25406         (WebCore::RenderView::clearSelection): Changed to use
25407         repaintRectangleInViewAndCompositedLayers() so that the selection rect
25408         is invalidated in composited layers as well.
25409
25410 2009-12-03  Jonathan Dixon  <joth@chromium.org>
25411
25412         Reviewed by Dimitri Glazkov.
25413
25414         Bug 32066 - Add enable geolocation flag to WebCore::Settings for Chromium
25415         https://bugs.webkit.org/show_bug.cgi?id=32066
25416
25417         Adds geolocationEnabled in Settings for runtime control of geolocaiton features. This defaults to ON
25418         as it is intended as a development and testing aid, not a user control. To completely remove geolocation
25419         from a given port, the compile time ENABLE_GEOLOCATION should still be used.
25420         Adding placeholder GeolocationServiceChromium implementation, as this is required to allows
25421         ENABLE_GEOLOCATION to be defined (in turn required for testing), even though this patch does not
25422         make that the default just yet.
25423
25424         * WebCore.gypi:
25425         * page/Settings.cpp:
25426         (WebCore::Settings::Settings): Add new m_geolocationEnabled flag default value
25427         (WebCore::Settings::setGeolocationEnabled): Setter for  m_geolocationEnabled flag
25428         * page/Settings.h:
25429         (WebCore::Settings::geolocationEnabled):  Add m_geolocationEnabled flag
25430         * platform/chromium/GeolocationServiceChromium.cpp: Added.
25431         (WebCore::GeolocationServiceChromium::GeolocationServiceChromium): Place holder GeolocationServiceChromium)
25432         (WebCore::createGeolocationService): factory function, only required when ENABLED(GEOLOCATION) is true
25433
25434 2009-12-03  Enrica Casucci  <enrica@apple.com>
25435
25436         Reviewed by John Sullivan.
25437
25438         SpinTracer: 349 spins in Mail at WebCore::Editor::advanceToNextMisspelling(bool)
25439         <rdar://problem/7198592>
25440         https://bugs.webkit.org/show_bug.cgi?id=32129
25441
25442         Fixed the way the next paragraph is calculated.
25443         I've added a repro case in Safari and attached it to the Bugzilla bug.
25444
25445         * editing/Editor.cpp:
25446         (WebCore::findFirstMisspellingOrBadGrammarInRange): Changed the way we move to the
25447         next paragraph in the loop.
25448
25449 2009-12-03  Oliver Hunt  <oliver@apple.com>
25450
25451         Build fix
25452
25453         * svg/SVGListTraits.h:
25454         (WebCore::):
25455
25456 2009-12-03  Oliver Hunt  <oliver@apple.com>
25457
25458         Build fix
25459
25460         * svg/SVGListTraits.h:
25461         (WebCore::):
25462
25463 2009-12-03  Brady Eidson  <beidson@apple.com>
25464
25465         No wonder editing WebCore.exp repeatedly while I worked on this patch never seemed to stick.
25466
25467         Long live our auto-generated overlords that I didn't know about...  
25468
25469         * WebCore.base.exp:
25470
25471 2009-12-03  Oliver Hunt  <oliver@apple.com>
25472
25473         Reviewed by Dan Bernstein.
25474
25475         REGRESSION (r51627): 3 SVG tests are failing
25476         https://bugs.webkit.org/show_bug.cgi?id=32117
25477
25478         Null checking Items in the SVGList is insufficient as items may
25479         be floats, etc so add SVGListTraits::isNull and add appropriate
25480         specializations.
25481
25482         Test: svg/dom/svglist-exception-on-out-bounds-error.html
25483
25484         * svg/SVGList.h:
25485         (WebCore::SVGListTypeOperations::isNull):
25486         (WebCore::SVGList::initialize):
25487         (WebCore::SVGList::insertItemBefore):
25488         (WebCore::SVGList::replaceItem):
25489         (WebCore::SVGList::appendItem):
25490         * svg/SVGListTraits.h:
25491         (WebCore::):
25492
25493 2009-12-03  Brady Eidson  <beidson@apple.com>
25494
25495         No review - release build fix.
25496
25497         * history/HistoryItem.cpp:
25498         (WebCore::HistoryItem::documentDetached):
25499
25500 2009-12-03  Brady Eidson  <beidson@apple.com>
25501
25502         No review - release build fix.
25503
25504         * loader/HistoryController.cpp:
25505         (WebCore::HistoryController::pushState):
25506
25507 2009-12-03  Enrica Casucci  <enrica@apple.com>
25508
25509         Reviewed by Adele Peterson.
25510
25511         Multiple Undos removes the last posted comment and/or the ones before it.
25512         <rdar://problem/6557066>
25513         https://bugs.webkit.org/show_bug.cgi?id=32079
25514         
25515         The fix consists in preventing Undos and Redos to be applied to elements that
25516         are no longer editable. We do not attempt to remove the commands from the queue.
25517         It is a relatively simple fix that comes with a little extra overhead for the apply
25518         and unapply methods where we are now performing the editability check.
25519
25520         Test: editing/undo/undo-indent-noneditable.html
25521
25522         * editing/AppendNodeCommand.cpp:
25523         (WebCore::AppendNodeCommand::doApply):
25524         (WebCore::AppendNodeCommand::doUnapply):
25525         * editing/DeleteFromTextNodeCommand.cpp:
25526         (WebCore::DeleteFromTextNodeCommand::doApply):
25527         (WebCore::DeleteFromTextNodeCommand::doUnapply):
25528         * editing/InsertIntoTextNodeCommand.cpp:
25529         (WebCore::InsertIntoTextNodeCommand::doApply):
25530         (WebCore::InsertIntoTextNodeCommand::doUnapply):
25531         * editing/InsertNodeBeforeCommand.cpp:
25532         (WebCore::InsertNodeBeforeCommand::doApply):
25533         (WebCore::InsertNodeBeforeCommand::doUnapply):
25534         * editing/JoinTextNodesCommand.cpp:
25535         (WebCore::JoinTextNodesCommand::doApply):
25536         (WebCore::JoinTextNodesCommand::doUnapply):
25537         * editing/MergeIdenticalElementsCommand.cpp:
25538         (WebCore::MergeIdenticalElementsCommand::doApply):
25539         (WebCore::MergeIdenticalElementsCommand::doUnapply):
25540         * editing/RemoveNodeCommand.cpp:
25541         (WebCore::RemoveNodeCommand::doApply):
25542         (WebCore::RemoveNodeCommand::doUnapply):
25543         * editing/SplitElementCommand.cpp:
25544         (WebCore::SplitElementCommand::executeApply):
25545         (WebCore::SplitElementCommand::doUnapply):
25546         * editing/SplitTextNodeCommand.cpp:
25547         (WebCore::SplitTextNodeCommand::doApply):
25548         (WebCore::SplitTextNodeCommand::doUnapply):
25549         * editing/WrapContentsInDummySpanCommand.cpp:
25550         (WebCore::WrapContentsInDummySpanCommand::doUnapply):
25551         (WebCore::WrapContentsInDummySpanCommand::doReapply):
25552
25553 2009-12-03  Brady Eidson  <beidson@apple.com>
25554
25555         Reviewed by Sam Weinig.
25556
25557         <rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API
25558
25559         Tests: fast/loader/stateobjects/document-destroyed-navigate-back.html
25560                fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html
25561                fast/loader/stateobjects/popstate-after-load-complete-addeventlistener.html
25562                fast/loader/stateobjects/popstate-after-load-complete-body-attribute.html
25563                fast/loader/stateobjects/popstate-after-load-complete-window-attribute.html
25564                fast/loader/stateobjects/pushstate-object-types.html
25565                fast/loader/stateobjects/pushstate-then-replacestate.html
25566                fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange.html
25567                fast/loader/stateobjects/replacestate-then-pushstate.html
25568                http/tests/loading/state-object-security-exception.html
25569
25570         Derived sources and project file changes:
25571         * DerivedSources.cpp:
25572         * DerivedSources.make:
25573         * GNUmakefile.am
25574         * WebCore.pro
25575         * WebCore.vcproj/WebCore.vcproj:
25576         * WebCore.xcodeproj/project.pbxproj:
25577
25578         Add the new PopStateEvent:
25579         * dom/PopStateEvent.cpp: Added.
25580         (WebCore::PopStateEvent::PopStateEvent):
25581         (WebCore::PopStateEvent::initPopStateEvent):
25582         * dom/PopStateEvent.h: Added.
25583         (WebCore::PopStateEvent::create):
25584         (WebCore::PopStateEvent::isPopStateEvent):
25585         (WebCore::PopStateEvent::state):
25586         * dom/PopStateEvent.idl: Added.
25587         * bindings/js/JSPopStateEventCustom.cpp: Added.
25588         (WebCore::JSPopStateEvent::initPopStateEvent):
25589         (WebCore::JSPopStateEvent::state):
25590         * bindings/js/JSEventCustom.cpp:
25591         (WebCore::toJS):
25592         * dom/Event.cpp:
25593         (WebCore::Event::isPopStateEvent):
25594         * dom/Event.h:
25595         * dom/EventNames.h:
25596
25597         Add the "onpopstate" attribute:
25598         * html/HTMLAttributeNames.in:
25599         * html/HTMLBodyElement.cpp:
25600         (WebCore::HTMLBodyElement::parseMappedAttribute):
25601         * html/HTMLBodyElement.idl:
25602         * html/HTMLFrameSetElement.cpp:
25603         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
25604         * html/HTMLFrameSetElement.h:
25605         * html/HTMLFrameSetElement.idl:
25606         * page/DOMWindow.h:
25607         * page/DOMWindow.idl:
25608
25609         Add pushState and replaceState management to the loader and history machinery:
25610         * bindings/js/JSHistoryCustom.cpp:
25611         (WebCore::JSHistory::pushState):
25612         (WebCore::JSHistory::replaceState):
25613         * loader/HistoryController.cpp:
25614         (WebCore::HistoryController::updateForSameDocumentNavigation): Augmented from "scrollToAnchor()", combining
25615           both the same-document fragment scroll case with the new same-document state object activation case.
25616         (WebCore::HistoryController::pushState):
25617         (WebCore::HistoryController::replaceState):
25618         * loader/HistoryController.h:
25619         * history/BackForwardList.cpp:
25620         (WebCore::BackForwardList::addItem): Use insertItemAfterCurrent.
25621         (WebCore::BackForwardList::insertItemAfterCurrent): Optionally insert the item without clearing the forward
25622           list, as pushStateItem might've selectively cleared only certain items, with the bulk of the forward list
25623           meant to remain.
25624         (WebCore::BackForwardList::pushStateItem): Clear the forward list *only* for the state item's document, then 
25625           insert the new item.
25626         (WebCore::BackForwardList::removeItem):
25627         * history/BackForwardList.h:
25628         * page/History.cpp:
25629         (WebCore::History::urlForState):
25630         (WebCore::History::stateObjectAdded):
25631         * page/History.h:
25632         * page/History.idl:
25633
25634         Let HistoryItems and Documents associate with each other, as well as letting HistoryItems contain state objects:
25635         * history/HistoryItem.cpp:
25636         (WebCore::HistoryItem::HistoryItem):
25637         (WebCore::HistoryItem::~HistoryItem):
25638         (WebCore::HistoryItem::setStateObject):
25639         (WebCore::HistoryItem::setDocument):
25640         (WebCore::HistoryItem::documentDetached):
25641         * history/HistoryItem.h:
25642         (WebCore::HistoryItem::stateObject):
25643         (WebCore::HistoryItem::document):
25644         * dom/Document.cpp:
25645         (WebCore::Document::detach): Notify all back/forward history items owned by this Document that it
25646           is going away.
25647         (WebCore::Document::registerHistoryItem): Manage the list of back/forward history items this document owns.
25648         (WebCore::Document::unregisterHistoryItem): Ditto.
25649         * dom/Document.h:
25650
25651         Add the ability for Documents, DocumentLoaders, and FrameLoaderClients to be notified when a Documents
25652         URL changes as the result of pushState(), replaceState(), or a popstate navigation:
25653         * dom/Document.cpp:
25654         (WebCore::Document::implicitClose): If there's a pending state object, dispatch the popstate event.
25655         (WebCore::Document::updateURLForPushOrReplaceState):
25656         (WebCore::Document::statePopped): If loading is complete, dispatch the popstate event. Otherwise, set 
25657           the pending state object.
25658         * loader/DocumentLoader.cpp:
25659         (WebCore::DocumentLoader::replaceRequestURLForSameDocumentNavigation):
25660         * loader/DocumentLoader.h:
25661         * loader/FrameLoaderClient.h:
25662         * loader/EmptyClients.h:
25663         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeStateObjectForPageForFrame):
25664
25665         Change handling of "loading a HistoryItem" to distinguish between new-Document navigations and same-Document
25666         navigations, combining the old concept of anchor scrolls with the new concept of state object navigations:
25667         * loader/FrameLoader.cpp:
25668         (WebCore::FrameLoader::loadInSameDocument):
25669         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
25670         (WebCore::FrameLoader::navigateWithinDocument):
25671         (WebCore::FrameLoader::navigateToDifferentDocument):
25672         (WebCore::FrameLoader::loadItem):
25673         * loader/FrameLoader.h:
25674         * page/Page.cpp:
25675         (WebCore::Page::goToItem): Changed to allow state object activations to pass through without the load stopping.
25676
25677 2009-12-03  Pavel Feldman  <pfeldman@chromium.org>
25678
25679         Not reviewed: chromium build fix.
25680         r51621 changed JS bindings only, broke v8's.
25681
25682         * bindings/v8/ScriptFunctionCall.cpp:
25683         (WebCore::ScriptFunctionCall::appendArgument):
25684         * bindings/v8/ScriptFunctionCall.h:
25685
25686 2009-12-03  Dimitri Glazkov  <dglazkov@chromium.org>
25687
25688         Reviewed by Adam Barth.
25689
25690         [V8] Attributes and NamedNodeMaps aren't tracked correctly and may be prematurely garbage-collected.
25691         https://bugs.webkit.org/show_bug.cgi?id=32094
25692
25693         Covered by existing test: LayoutTests/fast/dom/Attr/access-after-element-destruction.html
25694
25695         * bindings/v8/DOMObjectsInclude.h:
25696         * bindings/v8/V8DOMWrapper.cpp:
25697         (WebCore::V8DOMWrapper::getTemplate):
25698         (WebCore::V8DOMWrapper::convertToV8Object):
25699         (WebCore::V8DOMWrapper::convertNamedNodeMapToV8Object):
25700         * bindings/v8/V8DOMWrapper.h:
25701         * bindings/v8/V8GCController.cpp:
25702         (WebCore::ObjectGrouperVisitor::visitDOMWrapper):
25703         * bindings/v8/custom/V8CustomBinding.h:
25704
25705 2009-12-03  Pavel Feldman  <pfeldman@chromium.org>
25706
25707         Reviewed by Timothy Hatcher.
25708
25709         Chromium: Add support for settings containing ":"
25710
25711         https://bugs.webkit.org/show_bug.cgi?id=32118
25712
25713         * inspector/front-end/WatchExpressionsSidebarPane.js:
25714         (WebInspector.WatchExpressionsSection):
25715
25716 2009-12-03  Rafael Antognolli  <antognolli@profusion.mobi>, Kenneth Christiansen <kenneth@webkit.org>
25717
25718         Reviewed by Simon Fraser.
25719
25720         repaint events from outside the viewport aren't received
25721         https://bugs.webkit.org/show_bug.cgi?id=32081
25722
25723         When using a tiled backing store for painting, you need to receive
25724         event from outside the viewport. Setting the viewport to the size
25725         of the contents is not an option if you want to make use of WebCore's
25726         infrastructure for drawing scrollbars etc.
25727
25728         A new property, paintsEntireContents, has been introduced for the
25729         above use-case. It is settable, as tiling will be optional for Qt,
25730         and for the not yet upstreamed EFL port, there will be two different
25731         views, where only one of them are tiled.
25732
25733         No change in behavior, so no new tests added.
25734
25735         * page/FrameView.cpp:
25736         (WebCore::FrameView::repaintContentRectangle):
25737         * platform/ScrollView.cpp:
25738         (WebCore::ScrollView::ScrollView):
25739         (WebCore::ScrollView::setPaintsEntireContents):
25740         (WebCore::ScrollView::wheelEvent):
25741         * platform/ScrollView.h:
25742         (WebCore::ScrollView::paintsEntireContents):
25743
25744 2009-11-23  Jeremy Moskovich  <jeremy@chromium.org>
25745
25746         Reviewed by Eric Seidel.
25747
25748         Switch Chrome/Mac to use Core Text APIs rather than ATSUI APIs.
25749         https://bugs.webkit.org/show_bug.cgi?id=31802
25750
25751         No test since this is already covered by existing pixel tests.
25752
25753         * platform/graphics/SimpleFontData.h: Change #ifdef to define getNSFont() on Chrome/Mac .
25754         * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Provide forward declarations
25755         of Core Text functions that are public on 10.6 but SPI on 10.5.
25756
25757 2009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
25758
25759         Reviewed by Timothy Hatcher.
25760
25761         Web Inspector: Simplify the settings support in inspector controller.
25762
25763         https://bugs.webkit.org/show_bug.cgi?id=32076
25764
25765         Test: inspector/settings-set-get.html
25766
25767         * WebCore.Inspector.exp:
25768         * bindings/js/JSInspectorFrontendHostCustom.cpp:
25769         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
25770         * inspector/InspectorClient.h:
25771         * inspector/InspectorController.cpp:
25772         (WebCore::InspectorController::~InspectorController):
25773         (WebCore::InspectorController::setting):
25774         (WebCore::InspectorController::setSetting):
25775         (WebCore::InspectorController::setWindowVisible):
25776         (WebCore::InspectorController::attachWindow):
25777         (WebCore::InspectorController::setAttachedWindowHeight):
25778         (WebCore::InspectorController::storeLastActivePanel):
25779         (WebCore::InspectorController::scriptObjectReady):
25780         (WebCore::InspectorController::showWindow):
25781         (WebCore::InspectorController::enableResourceTracking):
25782         (WebCore::InspectorController::disableResourceTracking):
25783         (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded):
25784         (WebCore::InspectorController::enableProfiler):
25785         (WebCore::InspectorController::disableProfiler):
25786         (WebCore::InspectorController::enableDebuggerFromFrontend):
25787         (WebCore::InspectorController::disableDebugger):
25788         * inspector/InspectorController.h:
25789         * inspector/InspectorFrontendHost.cpp:
25790         (WebCore::InspectorFrontendHost::setting):
25791         (WebCore::InspectorFrontendHost::setSetting):
25792         * inspector/InspectorFrontendHost.h:
25793         * inspector/InspectorFrontendHost.idl:
25794         * loader/EmptyClients.h:
25795         (WebCore::EmptyInspectorClient::populateSetting):
25796         (WebCore::EmptyInspectorClient::storeSetting):
25797
25798 2009-12-03  Ben Murdoch  <benm@google.com>
25799
25800         Reviewed by Brady Eidson.
25801
25802         [Android] notifyHistoryItemChanged() should pass a pointer to the HistoryItem that changed.
25803         https://bugs.webkit.org/show_bug.cgi?id=31915
25804
25805         No change in functionality so no new tests required.
25806
25807         * history/HistoryItem.cpp:
25808         (WebCore::defaultNotifyHistoryItemChanged): Update this function to pass the HistoryItem that is being changed.
25809         (WebCore::HistoryItem::setAlternateTitle): Update call to notifyHistoryItemChanged to include the new parameter.
25810         (WebCore::HistoryItem::setURLString): ditto.
25811         (WebCore::HistoryItem::setOriginalURLString): ditto.
25812         (WebCore::HistoryItem::setReferrer): ditto.
25813         (WebCore::HistoryItem::setTitle): ditto.
25814         (WebCore::HistoryItem::setTarget): ditto.
25815         (WebCore::HistoryItem::setDocumentState): On Android, add a call to notifyHistoryItemChanged. See bug for a discussion of why this is needed.
25816         (WebCore::HistoryItem::clearDocumentState): ditto.
25817         (WebCore::HistoryItem::setIsTargetItem): ditto.
25818         (WebCore::HistoryItem::addChildItem): ditto.
25819         (WebCore::HistoryItem::setFormInfoFromRequest): ditto.
25820         * history/HistoryItem.h: Update signature of notifyHistoryItemChanged.
25821
25822 2009-12-03  Ben Murdoch  <benm@google.com>
25823
25824         Reviewed by Brady Eidson.
25825
25826         [Android] The FrameLoaderClient is unaware of BackForwardList changes.
25827         https://bugs.webkit.org/show_bug.cgi?id=31914
25828
25829         This change adds three new methods on the FrameLoaderClient interface to receive notifications when the BackForwardList changes.
25830
25831         No new tests required. Functionality on all platforms upstream remains the same. Android is the first platform to make use of these callbacks.
25832
25833         * history/BackForwardList.cpp:
25834         (WebCore::BackForwardList::addItem): Execute the callback.
25835         (WebCore::BackForwardList::goBack): ditto.
25836         (WebCore::BackForwardList::goForward): ditto.
25837         (WebCore::BackForwardList::goToItem): ditto.
25838         (WebCore::BackForwardList::setCapacity): dito.
25839         * loader/EmptyClients.h:
25840         (WebCore::EmptyFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation for the callback that does nothing.
25841         (WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
25842         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
25843         * loader/FrameLoaderClient.h:
25844
25845 2009-12-03  Ben Murdoch  <benm@google.com>
25846
25847         Reviewed by Brady Eidson.
25848
25849         [Android] Upstream WebCore/history/android: Require some platform specific state attached to HistoryItem.
25850         https://bugs.webkit.org/show_bug.cgi?id=31913
25851
25852         Android stores information such as the zoom scale factor and bridge back to the Java counterpart with HistoryItem.
25853
25854         No new tests required as this is Android specific code.
25855
25856         * history/HistoryItem.h: Add Android specific member data to HistoryItem.
25857         * history/android: Added.
25858         * history/android/AndroidWebHistoryBridge.h: Added.
25859         * history/android/HistoryItemAndroid.cpp: Added, provides implementation for Android specific member functions in HistoryItem.
25860         (WebCore::HistoryItem::bridge): Added.
25861         (WebCore::HistoryItem::setBridge): Added.
25862
25863 2009-12-03  Oliver Hunt  <oliver@apple.com>
25864
25865         Reviewed by Maciej Stachowiak.
25866
25867         NULL ptr in SVGPathSegList::getPathSegAtLength()
25868         https://bugs.webkit.org/show_bug.cgi?id=30313
25869
25870         Add exception checks to SVGPathSegList's implementation to catch (and propagate) exceptions.
25871         Add null checks to SVGList's content manipulation functions to prevent
25872         null values from entering the list in the first place.
25873
25874         Test: svg/dom/svgpath-out-of-bounds-getPathSeg.html
25875
25876         * svg/SVGList.h:
25877         (WebCore::SVGList::initialize):
25878         (WebCore::SVGList::insertItemBefore):
25879         (WebCore::SVGList::replaceItem):
25880         (WebCore::SVGList::appendItem):
25881         * svg/SVGPathElement.cpp:
25882         (WebCore::SVGPathElement::getPathSegAtLength):
25883         * svg/SVGPathElement.h:
25884         * svg/SVGPathElement.idl:
25885         * svg/SVGPathSegList.cpp:
25886         (WebCore::SVGPathSegList::getPathSegAtLength):
25887         (WebCore::SVGPathSegList::toPathData):
25888         (WebCore::SVGPathSegList::createAnimated):
25889         * svg/SVGPathSegList.h:
25890
25891 2009-12-02  Yusuke Sato  <yusukes@chromium.org>
25892
25893         Reviewed by Eric Seidel.
25894
25895         Sanitize web fonts using the OTS library 
25896         https://bugs.webkit.org/show_bug.cgi?id=31106
25897
25898         Add support for OpenType sanitizer (OTS). It parses OpenType files (from @font-face)
25899         and attempts to validate and sanitize them. We hope this reduces the attack surface
25900         of the system font libraries.
25901
25902         * WebCore.gyp/WebCore.gyp: Added dependency to (chromium_src_dir)/third_party/ots/ library.
25903         * WebCore.gypi: Added new files below.
25904         * WebCore.xcodeproj/project.pbxproj: Ditto.
25905         * platform/graphics/chromium/FontCustomPlatformData.cpp: Validate and transcode a web font.
25906         (WebCore::createFontCustomPlatformData):
25907         * platform/graphics/mac/FontCustomPlatformData.cpp: Ditto.
25908         (WebCore::createFontCustomPlatformData):
25909         * platform/graphics/opentype/OpenTypeSanitizer.cpp: Added.
25910         (WebCore::OpenTypeSanitizer::sanitize):
25911         * platform/graphics/opentype/OpenTypeSanitizer.h: Added.
25912         (WebCore::OpenTypeSanitizer::OpenTypeSanitizer):
25913
25914 2009-12-02  Oliver Hunt  <oliver@apple.com>
25915
25916         Reviewed by Sam Weinig.
25917
25918         Web Inspector frontend heap allocates ScriptFunctionCall which is unsafe
25919         https://bugs.webkit.org/show_bug.cgi?id=32098
25920
25921         Fix is simply to make the ScriptFunctionCall stack allocated as nature intended.
25922         Doing this required adding an appendArgument(char*) to ScriptFunctionCall so
25923         that an explicit String cast would not be necessary.
25924
25925         To prevent something like this happening again in future i've added private
25926         operator new implementations to ScriptFunctionCall making this type of mistake
25927         produce errors when compiling.
25928
25929         Test case: Inspector tests now pass with GC on every alloc enabled.
25930
25931         * bindings/js/ScriptFunctionCall.cpp:
25932         (WebCore::ScriptFunctionCall::appendArgument):
25933         * bindings/js/ScriptFunctionCall.h:
25934         (WebCore::ScriptFunctionCall::operator new):
25935         (WebCore::ScriptFunctionCall::operator new[]):
25936         * inspector/InspectorFrontend.cpp:
25937         (WebCore::InspectorFrontend::addConsoleMessage):
25938         (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount):
25939         (WebCore::InspectorFrontend::addResource):
25940         (WebCore::InspectorFrontend::updateResource):
25941         (WebCore::InspectorFrontend::removeResource):
25942         (WebCore::InspectorFrontend::updateFocusedNode):
25943         (WebCore::InspectorFrontend::setAttachedWindow):
25944         (WebCore::InspectorFrontend::addRecordToTimeline):
25945         (WebCore::InspectorFrontend::parsedScriptSource):
25946         (WebCore::InspectorFrontend::failedToParseScriptSource):
25947         (WebCore::InspectorFrontend::addProfileHeader):
25948         (WebCore::InspectorFrontend::setRecordingProfile):
25949         (WebCore::InspectorFrontend::didGetProfileHeaders):
25950         (WebCore::InspectorFrontend::didGetProfile):
25951         (WebCore::InspectorFrontend::pausedScript):
25952         (WebCore::InspectorFrontend::setDocument):
25953         (WebCore::InspectorFrontend::setDetachedRoot):
25954         (WebCore::InspectorFrontend::setChildNodes):
25955         (WebCore::InspectorFrontend::childNodeCountUpdated):
25956         (WebCore::InspectorFrontend::childNodeInserted):
25957         (WebCore::InspectorFrontend::childNodeRemoved):
25958         (WebCore::InspectorFrontend::attributesUpdated):
25959         (WebCore::InspectorFrontend::didRemoveNode):
25960         (WebCore::InspectorFrontend::didGetChildNodes):
25961         (WebCore::InspectorFrontend::didApplyDomChange):
25962         (WebCore::InspectorFrontend::didGetEventListenersForNode):
25963         (WebCore::InspectorFrontend::didGetCookies):
25964         (WebCore::InspectorFrontend::didDispatchOnInjectedScript):
25965         (WebCore::InspectorFrontend::addDatabase):
25966         (WebCore::InspectorFrontend::selectDatabase):
25967         (WebCore::InspectorFrontend::didGetDatabaseTableNames):
25968         (WebCore::InspectorFrontend::addDOMStorage):
25969         (WebCore::InspectorFrontend::selectDOMStorage):
25970         (WebCore::InspectorFrontend::didGetDOMStorageEntries):
25971         (WebCore::InspectorFrontend::didSetDOMStorageItem):
25972         (WebCore::InspectorFrontend::didRemoveDOMStorageItem):
25973         (WebCore::InspectorFrontend::updateDOMStorage):
25974         (WebCore::InspectorFrontend::addNodesToSearchResult):
25975         (WebCore::InspectorFrontend::evaluateForTestInFrontend):
25976         * inspector/InspectorFrontend.h:
25977
25978 2009-12-02  Dave Hyatt  <hyatt@apple.com>
25979
25980         Reviewed by Darin Adler.
25981
25982         https://bugs.webkit.org/show_bug.cgi?id=32072, clean up invalid @-rule error handling so that we
25983         pass more CSS test suite stuff.  Make the grammar stop enforcing the ordering of @namespace vs.
25984         @variables vs. @import.  Just let the parser handle that instead.  This simplifies the grammar and
25985         makes error handling deal with more cases correctly.
25986
25987         Added fast/css/namespaces/namespaces-invalid-at-rules.xml
25988
25989         * css/CSSGrammar.y:
25990         * css/CSSParser.cpp:
25991         (WebCore::CSSParser::CSSParser):
25992         (WebCore::CSSParser::parseRule):
25993         (WebCore::CSSParser::createCharsetRule):
25994         (WebCore::CSSParser::createImportRule):
25995         (WebCore::CSSParser::createMediaRule):
25996         (WebCore::CSSParser::createKeyframesRule):
25997         (WebCore::CSSParser::createStyleRule):
25998         (WebCore::CSSParser::createFontFaceRule):
25999         (WebCore::CSSParser::addNamespace):
26000         (WebCore::CSSParser::createVariablesRule):
26001         * css/CSSParser.h:
26002
26003 2009-12-02  Yusuke Sato  <yusukes@chromium.org>
26004
26005         Reviewed by Dan Bernstein.
26006
26007         Safari/Chromium for Windows fails to load CJK WebFonts
26008         https://bugs.webkit.org/show_bug.cgi?id=31804
26009         
26010         * platform/graphics/opentype/OpenTypeUtilities.cpp:
26011         (WebCore::renameAndActivateFont): Load a remote font even if the font has 2 or more faces.
26012
26013 2009-12-02  Avi Drissman  <avi@chromium.org>
26014
26015         Reviewed by Darin Fisher.
26016
26017         Chromium: Need tickmarks in scrollbar
26018         https://bugs.webkit.org/show_bug.cgi?id=32069
26019
26020         * WebCore.gyp/WebCore.gyp:
26021         * WebCore.gypi:
26022         * platform/chromium/ScrollbarThemeChromiumMac.h: Added.
26023         * platform/chromium/ScrollbarThemeChromiumMac.mm: Added.
26024
26025 2009-11-13  Timothy Hatcher  <timothy@apple.com>
26026
26027         Expose a function to set the value of an input element on behalf of the user.
26028         This function will dispatch the change event so the page is notified when autofill
26029         happens. Also dispatch a change event when a select element is changed by autofill.
26030
26031         <rdar://problem/6760590> Would like a way to detect a login form AutoFill from JavaScript
26032
26033         Reviewed by Darin Adler.
26034
26035         * WebCore.xcodeproj/project.pbxproj: Added the DOMHTMLInputElementPrivate.h header.
26036         * bindings/objc/DOMHTML.mm:
26037         (-[DOMHTMLSelectElement _activateItemAtIndex:]): Call setSelectedIndexByUser instead so
26038         a change event is fired. This method is called by Safari autofill.
26039         * dom/Document.cpp:
26040         (WebCore::Document::setFocusedNode): Use dispatchFormControlChangeEvent instead
26041         of dispatching the change event directly to be consistent.
26042         * html/HTMLFormControlElement.cpp:
26043         (WebCore::HTMLInputElement::setValueForUser): Added. Calls setValue with the sendChangeEvent
26044         (WebCore::HTMLInputElement::setValue): Added the optional sendChangeEvent argument. Mimics setChecked.
26045         * html/HTMLInputElement.h:
26046         * html/HTMLInputElement.idl: Added setValueForUser for non-JS languages.
26047         * html/InputElement.h: Added setValueForUser.
26048
26049 2009-12-02  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
26050
26051         Reviewed by Timothy Hatcher.
26052
26053         Web Inspector: DOM tree selection disappears upon page refresh.
26054
26055         https://bugs.webkit.org/show_bug.cgi?id=31142
26056
26057         Test: inspector/elements-panel-selection-on-refresh.html
26058
26059         * inspector/InjectedScriptHost.cpp:
26060         (WebCore::InjectedScriptHost::pushNodeByPathToFrontend):
26061         * inspector/InjectedScriptHost.h:
26062         * inspector/InjectedScriptHost.idl:
26063         * inspector/InspectorBackend.h:
26064         * inspector/InspectorController.cpp:
26065         (WebCore::InspectorController::close):
26066         (WebCore::InspectorController::releaseDOMAgent):
26067         (WebCore::InspectorController::resetScriptObjects):
26068         * inspector/InspectorDOMAgent.cpp:
26069         (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
26070         (WebCore::InspectorDOMAgent::reset):
26071         (WebCore::InspectorDOMAgent::setDocument):
26072         (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
26073         (WebCore::InspectorDOMAgent::nodeForPath):
26074         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
26075         * inspector/InspectorDOMAgent.h:
26076         * inspector/front-end/DOMAgent.js:
26077         (WebInspector.DOMNode.prototype._renumber):
26078         (WebInspector.DOMAgent.prototype._setDocument):
26079         * inspector/front-end/ElementsPanel.js:
26080         (WebInspector.ElementsPanel.prototype.reset):
26081         (WebInspector.ElementsPanel.prototype.setDocument.selectDefaultNode):
26082         (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
26083         (WebInspector.ElementsPanel.prototype.setDocument):
26084         * inspector/front-end/InjectedScript.js:
26085         (InjectedScript.pushNodeByPathToFrontend):
26086         * inspector/front-end/InjectedScriptAccess.js:
26087
26088 2009-12-01  Dave Hyatt  <hyatt@apple.com>
26089
26090         Reviewed by Dan Bernstein.
26091
26092         https://bugs.webkit.org/show_bug.cgi?id=32045, make sure escape sequences work with
26093         all the @-rules we support.  When escape sequences are present, the lexical scanner
26094         just returns a generic token name: ATKEYWORD.  We have to process the escape sequences
26095         and then recheck against the rules we support with the final processed name.  If we
26096         find a match, we mutate the token value to the appropriate rule name token, e.g.,
26097         NAMESPACE_SYM.
26098
26099         Added fast/css/namespaces/namespaces-escapes.xml
26100
26101         * css/CSSParser.cpp:
26102         (WebCore::CSSParser::lex):
26103         (WebCore::CSSParser::recheckAtKeyword):
26104         (WebCore::CSSParser::text):
26105         * css/CSSParser.h:
26106
26107 2009-12-02  Anton Muhin  <antonm@chromium.org>
26108
26109         Reviewed by Adam Barth.:w
26110
26111         Allow to skip thread checks when accessing DOMDataStore for processes
26112         which run V8 in single thread mode.
26113         https://bugs.webkit.org/show_bug.cgi?id=31877
26114
26115         Should be covered by buildbots.
26116
26117         * bindings/v8/V8DOMMap.cpp:
26118         (WebCore::getDOMDataStore):
26119         (WebCore::enableFasterDOMStoreAccess):
26120         (WebCore::getDOMNodeMap):
26121         (WebCore::getDOMObjectMap):
26122         (WebCore::getActiveDOMObjectMap):
26123         (WebCore::getDOMSVGElementInstanceMap):
26124         (WebCore::getDOMSVGObjectWithContextMap):
26125         * bindings/v8/V8DOMMap.h:
26126
26127 2009-12-02  Yury Semikhatsky  <yurys@chromium.org>
26128
26129         Reviewed by Pavel Feldman.
26130
26131         Code clean up: remove ScriptObjectQuarantine.* as a whole.
26132
26133         https://bugs.webkit.org/show_bug.cgi?id=32060
26134
26135         * GNUmakefile.am:
26136         * WebCore.gypi:
26137         * WebCore.pro:
26138         * WebCore.vcproj/WebCore.vcproj:
26139         * WebCore.xcodeproj/project.pbxproj:
26140         * WebCoreSources.bkl:
26141         * bindings/js/JSBindingsAllInOne.cpp:
26142         * bindings/js/ScriptObjectQuarantine.cpp: Removed.
26143         * bindings/js/ScriptObjectQuarantine.h: Removed.
26144         * bindings/js/ScriptValue.cpp:
26145         (WebCore::ScriptValue::quarantineValue):
26146         * bindings/js/ScriptValue.h:
26147         * bindings/v8/ScriptObjectQuarantine.cpp: Removed.
26148         * bindings/v8/ScriptObjectQuarantine.h: Removed.
26149         * bindings/v8/ScriptValue.h:
26150         (WebCore::ScriptValue::quarantineValue):
26151         * inspector/ConsoleMessage.cpp:
26152         (WebCore::ConsoleMessage::ConsoleMessage):
26153         * inspector/InspectorController.cpp:
26154         * inspector/InspectorDatabaseResource.cpp:
26155         (WebCore::InspectorDatabaseResource::bind):
26156         * inspector/InspectorFrontend.cpp:
26157
26158 2009-12-02  Fumitoshi Ukai  <ukai@chromium.org>
26159
26160         Reviewed by Alexey Proskuryakov.
26161
26162         WebSocket handshake check query component of URL
26163         https://bugs.webkit.org/show_bug.cgi?id=31617
26164
26165         Tests: websocket/tests/url-with-credential.html
26166                websocket/tests/url-with-empty-query.html
26167                websocket/tests/url-with-fragment.html
26168                websocket/tests/url-with-query-for-no-query.html
26169                websocket/tests/url-with-query.html
26170
26171         * platform/KURLGoogle.cpp:
26172         (WebCore::KURL::query): returns a null if query is not specified and returns an empty if query is specified but empty.
26173         * websockets/WebSocketHandshake.cpp:
26174         (WebCore::resourceName): added. add query component to path if specified.
26175         (WebCore::WebSocketHandshake::clientLocation):
26176         (WebCore::WebSocketHandshake::clientHandshakeMessage):
26177
26178 2009-12-01  David Levin  <levin@chromium.org>
26179
26180         Reviewed by Eric Seidel.
26181
26182         Incorrect code in WebGLRenderingContext.cpp
26183         https://bugs.webkit.org/show_bug.cgi?id=32046
26184
26185         Fix incorrect code that happened to work. != has higher precendence than &.
26186         The simplest fix is to remove the "!= 0" which violates WebKit style
26187         guidelines anyway.
26188
26189         Also added periods to few comments in the same function.
26190
26191         * html/canvas/WebGLRenderingContext.cpp:
26192         (WebCore::WebGLRenderingContext::validateIndexArray):
26193
26194 2009-12-01  Kent Tamura  <tkent@chromium.org>
26195
26196         Reviewed by Darin Adler.
26197
26198         Change [Reflect] to [ConvertNullToNullString, Reflect] for min, max,
26199         pattern and step attributes of HTMLInputElement.
26200         https://bugs.webkit.org/show_bug.cgi?id=31708
26201
26202         * html/HTMLInputElement.idl:
26203
26204 2009-12-01  Chris Fleizach  <cfleizach@apple.com>
26205
26206         Reviewed by Darin Adler.
26207
26208         WAI-ARIA: implement support for ARIA drag and drop
26209         https://bugs.webkit.org/show_bug.cgi?id=32007
26210
26211         Test: platform/mac/accessibility/aria-drag-drop.html
26212
26213         * accessibility/AccessibilityObject.h:
26214         (WebCore::AccessibilityObject::supportsARIADropping):
26215         (WebCore::AccessibilityObject::supportsARIADragging):
26216         (WebCore::AccessibilityObject::isARIAGrabbed):
26217         (WebCore::AccessibilityObject::setARIAGrabbed):
26218         (WebCore::AccessibilityObject::determineARIADropEffects):
26219         * accessibility/AccessibilityRenderObject.cpp:
26220         (WebCore::AccessibilityRenderObject::supportsARIADropping):
26221         (WebCore::AccessibilityRenderObject::supportsARIADragging):
26222         (WebCore::AccessibilityRenderObject::isARIAGrabbed):
26223         (WebCore::AccessibilityRenderObject::setARIAGrabbed):
26224         (WebCore::AccessibilityRenderObject::determineARIADropEffects):
26225         * accessibility/AccessibilityRenderObject.h:
26226         * accessibility/mac/AccessibilityObjectWrapper.mm:
26227         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
26228         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
26229         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
26230         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
26231         * html/HTMLAttributeNames.in:
26232
26233 2009-12-01  Adam Barth  <abarth@webkit.org>
26234
26235         https://bugs.webkit.org/show_bug.cgi?id=21288
26236
26237         Unreviewed port of @sandbox to V8.
26238
26239         * bindings/v8/ScriptController.cpp:
26240         (WebCore::ScriptController::isEnabled):
26241         * bindings/v8/custom/V8DOMWindowCustom.cpp:
26242         (WebCore::createWindow):
26243
26244 2009-12-01  Patrik Persson  <patrik.j.persson@ericsson.com>
26245
26246         Reviewed by Darin Adler.
26247
26248         Implement HTML5 sandbox attribute for iframes.
26249         http://www.w3.org/TR/html5/text-level-semantics.html#attr-iframe-sandbox
26250         https://bugs.webkit.org/show_bug.cgi?id=21288
26251
26252         Tests: fast/frames/sandboxed-iframe-attribute-parsing.html
26253                fast/frames/sandboxed-iframe-forms.html
26254                fast/frames/sandboxed-iframe-navigation-allowed.html
26255                fast/frames/sandboxed-iframe-navigation-parent.html
26256                fast/frames/sandboxed-iframe-navigation-targetlink.html
26257                fast/frames/sandboxed-iframe-navigation-windowopen.html
26258                fast/frames/sandboxed-iframe-plugins.html
26259                fast/frames/sandboxed-iframe-scripting.html
26260                fast/frames/sandboxed-iframe-storage.html
26261                http/tests/security/sandboxed-iframe-document-cookie.html
26262                http/tests/security/sandboxed-iframe-modify-self.html
26263                http/tests/security/xss-DENIED-sandboxed-iframe.html
26264                http/tests/xmlhttprequest/access-control-sandboxed-iframe-allow.html
26265                http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard.html
26266                http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied.html
26267
26268         * bindings/js/JSDOMWindowCustom.cpp: sandboxing navigation
26269         (WebCore::createWindow):
26270         * bindings/js/ScriptController.cpp: sandboxing scripts
26271         (WebCore::ScriptController::isEnabled):
26272         * dom/Document.cpp:
26273         (WebCore::Document::processHttpEquiv):
26274         (WebCore::Document::cookie): raise exception when accessed from sandbox
26275         (WebCore::Document::setCookie): raise exception when accessed from sandbox
26276         (WebCore::Document::initSecurityContext): updae sandbox status
26277         (WebCore::Document::updateSandboxFlags):
26278         * dom/Document.h:
26279         * dom/Document.idl:
26280         * html/HTMLAppletElement.cpp: sandboxing applets
26281         (WebCore::HTMLAppletElement::createRenderer):
26282         (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
26283         (WebCore::HTMLAppletElement::canEmbedJava):
26284         * html/HTMLAppletElement.h:
26285         * html/HTMLAttributeNames.in:
26286         * html/HTMLFrameOwnerElement.cpp: management of sandbox flags as stated in attribute
26287         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
26288         (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
26289         * html/HTMLFrameOwnerElement.h:
26290         (WebCore::HTMLFrameOwnerElement::sandboxFlags):
26291         * html/HTMLIFrameElement.cpp: sandbox attribute parsing
26292         (WebCore::parseSandboxAttribute):
26293         (WebCore::HTMLIFrameElement::parseMappedAttribute):
26294         * html/HTMLIFrameElement.idl:
26295         * inspector/InspectorController.cpp:
26296         (WebCore::InspectorController::getCookies):
26297         * loader/CrossOriginAccessControl.cpp:
26298         (WebCore::passesAccessControlCheck):
26299         * loader/FrameLoader.cpp:
26300         (WebCore::FrameLoader::FrameLoader):
26301         (WebCore::FrameLoader::init):
26302         (WebCore::FrameLoader::submitForm): sandboxing forms
26303         (WebCore::FrameLoader::requestObject): sandboxing plugins
26304         (WebCore::FrameLoader::shouldAllowNavigation): sandboxing navigation
26305         (WebCore::FrameLoader::updateSandboxFlags): propagation of sandbox flags
26306         * loader/FrameLoader.h:
26307         (WebCore::FrameLoader::ownerElementSandboxFlagsChanged):
26308         (WebCore::FrameLoader::isSandboxed):
26309         (WebCore::FrameLoader::sandboxFlags):
26310         * loader/FrameLoaderTypes.h:
26311         (WebCore::):
26312         * page/DOMWindow.cpp: disable storage and databases in sandboxed frames
26313         (WebCore::DOMWindow::sessionStorage):
26314         (WebCore::DOMWindow::localStorage):
26315         (WebCore::DOMWindow::openDatabase):
26316         * page/SecurityOrigin.cpp: added sandboxing status
26317         (WebCore::SecurityOrigin::SecurityOrigin):
26318         (WebCore::SecurityOrigin::canAccess):
26319         (WebCore::SecurityOrigin::canRequest):
26320         (WebCore::SecurityOrigin::toString):
26321         * page/SecurityOrigin.h:
26322         (WebCore::SecurityOrigin::setSandboxFlags):
26323         (WebCore::SecurityOrigin::isSandboxed):
26324         (WebCore::SecurityOrigin::canAccessDatabase):
26325         (WebCore::SecurityOrigin::canAccessStorage):
26326         * websockets/WebSocketChannel.cpp:
26327         (WebCore::WebSocketChannel::didReceiveData):
26328
26329 2009-12-01  Chris Fleizach  <cfleizach@apple.com>
26330
26331         Reviewed by David Kilzer.
26332
26333         ARIA: support a way to create a static text object
26334         https://bugs.webkit.org/show_bug.cgi?id=32030
26335
26336         Test: accessibility/aria-text-role.html
26337
26338         * accessibility/AccessibilityObject.cpp:
26339         (WebCore::createARIARoleMap):
26340         * accessibility/AccessibilityRenderObject.cpp:
26341         (WebCore::AccessibilityRenderObject::stringValue):
26342         (WebCore::AccessibilityRenderObject::isDescendantOfBarrenParent):
26343         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
26344         (WebCore::AccessibilityRenderObject::text):
26345         * accessibility/AccessibilityRenderObject.h:
26346
26347 2009-12-01  Oliver Hunt  <oliver@apple.com>
26348
26349         Reviewed by Maciej Stachowiak.
26350
26351         Inspector crashes when collecting on every allocation
26352         https://bugs.webkit.org/show_bug.cgi?id=32044
26353
26354         The crash is caused by the prototype wrapper object getting collected
26355         when allocating the object that is going to use it as a prototype.
26356         Because the only reference to the prototype wrapper is through the
26357         new object's Structure it does not get marked automatically.
26358
26359         * bindings/js/JSInspectedObjectWrapper.cpp:
26360         (WebCore::JSInspectedObjectWrapper::wrap):
26361         * bindings/js/JSInspectorCallbackWrapper.cpp:
26362         (WebCore::JSInspectorCallbackWrapper::wrap):
26363
26364 2009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
26365
26366         Reviewed by Simon Fraser.
26367
26368         Add SVG animation test framework with 'snapshot' functionality
26369         https://bugs.webkit.org/show_bug.cgi?id=31897
26370
26371         Add 'sampleSVGAnimationForElementAtTime' method to the LayoutTestController,
26372         for the use within the new SVG animation test framework (LayoutTests/svg/animations/)
26373
26374         layoutTestController.sampleAnimationAtTime(<svg animation id>, <absolute time>, <svg element id>);
26375         to sample a svg animateMotion/animateColor/animate/set element at certain times.
26376
26377         After the desired SVG animation starts and calling the method above, it's immediately forwarded to
26378         the desired sampling time. After JS returns from the 'sampleSVGAnimationForElementAtTime' method
26379         a callback is fired used to sample the animation value at the target time. It's modelled similar
26380         to the CSS animation/transition testing framework, inspired by
26381         LayoutTests/animations/animation-test-helpers.js.
26382
26383         Though it has been extended to integrate within the fast/js/js-test-* framework, that's used for
26384         the SVG dynamic-updates tests, to simplify test creation, by utilizing script-tests/* only.
26385
26386         Adding a simple testcase testing the DRT methods, it will soon be extended to test animVal/baseVal
26387         interaction, while animating.
26388
26389         Test: svg/animations/animVal-basics.html
26390
26391         * WebCore.base.exp:
26392         * WebCore.xcodeproj/project.pbxproj:
26393         * svg/SVGDocumentExtensions.cpp:
26394         (WebCore::SVGDocumentExtensions::sampleAnimationAtTime):
26395         * svg/SVGDocumentExtensions.h:
26396         * svg/animation/SMILTimeContainer.cpp:
26397         (WebCore::SMILTimeContainer::SMILTimeContainer):
26398         (WebCore::SMILTimeContainer::sampleAnimationAtTime):
26399         (WebCore::SMILTimeContainer::updateAnimations):
26400         * svg/animation/SMILTimeContainer.h:
26401
26402 2009-12-01  Jens Alfke  <snej@chromium.org>
26403
26404         Reviewed by Darin Adler.
26405
26406         Add convenience methods to Element and QualifiedName that take
26407         char* instead of AtomicString, in preparation for removing the
26408         implicit conversion between the two types (30187).
26409         https://bugs.webkit.org/show_bug.cgi?id=31749
26410
26411         * dom/Element.cpp:
26412         (WebCore::Element::setCStringAttribute):  Equivalent to setAttribute.
26413         * dom/Element.h:
26414         * dom/QualifiedName.cpp:
26415         (WebCore::QualifiedName::init):  Shared impl of both constructors
26416         (WebCore::QualifiedName::QualifiedName):  New c'tor taking char*.
26417         * dom/QualifiedName.h:
26418         * platform/network/HTTPHeaderMap.cpp:
26419         (WebCore::CaseFoldingCStringTranslator):  Enables lookup by C string
26420         (WebCore::HTTPHeaderMap::get):  New variant that takes C string
26421         (WebCore::HTTPHeaderMap::contains):  New variant that takes C string
26422         (WebCore::HTTPHeaderMap::add):  New variant that takes C string
26423         * platform/network/HTTPHeaderMap.h:
26424         (WebCore::HTTPHeaderMap::get):
26425         (WebCore::HTTPHeaderMap::add):
26426         * platform/network/ResourceRequestBase.cpp:
26427         (WebCore::ResourceRequestBase::httpHeaderField):  New variant that takes C string
26428         * platform/network/ResourceRequestBase.h:
26429         (WebCore::ResourceRequestBase::setHTTPHeaderField):  Use symbolic names for headers
26430         * platform/network/ResourceResponseBase.cpp:
26431         (WebCore::ResourceResponseBase::httpHeaderField):  New variant that takes C string
26432         * platform/network/ResourceResponseBase.h:
26433
26434 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
26435
26436         More Windows build fix.
26437
26438         * platform/network/cf/CredentialStorageCFNet.cpp:
26439         (WebCore::CredentialStorage::getFromPersistentStorage):
26440
26441 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
26442
26443         Windows build fix.
26444
26445         * platform/network/cf/CredentialStorageCFNet.cpp: Include RetainPtr.h.
26446
26447 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
26448
26449         Reviewed by Darin Adler.
26450
26451         https://bugs.webkit.org/show_bug.cgi?id=32036
26452         Implement CredentialStorage::getFromPersistentStorage for CFNetwork
26453
26454         * platform/network/cf/CredentialStorageCFNet.cpp:
26455         (WebCore::CredentialStorage::getFromPersistentStorage):
26456
26457 2009-12-01  Daniel Bates  <dbates@webkit.org>
26458
26459         Reviewed by Pavel Feldman.
26460
26461         https://bugs.webkit.org/show_bug.cgi?id=32001
26462
26463         Added missing localized strings (that I left out of the patch for bug #21554):
26464         %d Ã— %d pixels
26465         %d Ã— %d pixels (Natural: %d Ã— %d pixels)
26466
26467         Also, changed formatting of these stings to conform with existing ones (added
26468         a space on both sides of the multiply sign).
26469
26470         * English.lproj/localizedStrings.js: Added stings.
26471         * inspector/front-end/ElementsTreeOutline.js:
26472         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
26473
26474 2009-12-01  Dave Hyatt  <hyatt@apple.com>
26475
26476         Reviewed by Simon Fraser.
26477
26478         Fix for bug 32032, empty namespaces should be allowed in @namespace directives in CSS.
26479
26480         Added fast/css/namespaces/namespaces-empty.xml
26481
26482         * css/CSSStyleSheet.cpp:
26483         (WebCore::CSSStyleSheet::addNamespace):
26484         (WebCore::CSSStyleSheet::determineNamespace):
26485
26486 2009-12-01  Joseph Pecoraro  <joepeck@webkit.org>
26487
26488         Reviewed by Timothy Hatcher.
26489
26490         Web Inspector: Escape key in the Search Field should be more User Friendly
26491         https://bugs.webkit.org/show_bug.cgi?id=32005
26492
26493         * inspector/front-end/inspector.js:
26494         (WebInspector.loaded): add mousedown listener on the search field
26495         (WebInspector.searchFieldManualFocus): user clicked to focus on the search field
26496         (WebInspector.searchKeyDown): handle escape
26497
26498 2009-12-01  Dave Hyatt  <hyatt@apple.com>
26499
26500         Reviewed by David Kilzer.
26501
26502         @namespace directives need to use "maybe_space" in the "maybe_ns_prefix" portion of the grammar to match
26503         the spec.  Not doing so prevent comments from being used immmediately after the namespace prefix.
26504
26505         Added fast/css/namespaces-comments.xml
26506
26507         * css/CSSGrammar.y:
26508
26509 2009-12-01  Yael Aharon  <yael.aharon@nokia.com>
26510
26511         Reviewed by Timothy Hatcher.
26512
26513         Reloading WebInspector from context menu is closing it instead of reloading.
26514         https://bugs.webkit.org/show_bug.cgi?id=32004
26515
26516         When reloading WebInspector, don't delete its m_page.
26517
26518         * inspector/InspectorController.cpp:
26519         (WebCore::InspectorController::close):
26520
26521 2009-12-01  Steve Block  <steveblock@google.com>
26522
26523         Reviewed by Dimitri Glazkov.
26524
26525         Adds V8 bindings for Geolocation.
26526         https://bugs.webkit.org/show_bug.cgi?id=30206
26527
26528         Also adds Geolocation files to Chrome build files.
26529
26530         * WebCore.gyp/WebCore.gyp: Modified. Corrects list of Geolocation IDL files.
26531         * WebCore.gypi: Modified. Adds Geolocation files.
26532         * bindings/v8/DOMObjectsInclude.h: Modified. Adds Geolocation includes.
26533         * bindings/v8/DerivedSourcesAllInOne.cpp: Modified. Adds Geolocation files.
26534         * bindings/v8/V8Index.cpp: Modified. Includes Geolocation generated headers.
26535         * bindings/v8/V8Index.h: Modified. Adds Geolocation types to DOM_OBJECT_TYPES.
26536         * bindings/v8/custom/V8CoordinatesCustom.cpp: Added. Handles optional properties.
26537         * bindings/v8/custom/V8CustomBinding.h: Modified. Declares callbacks and getters.
26538         * bindings/v8/custom/V8CustomPositionCallback.cpp: Added.
26539         (WebCore::V8CustomPositionCallback::V8CustomPositionCallback): Added. Constructor.
26540         (WebCore::V8CustomPositionCallback::~V8CustomPositionCallback): Added. Destructor.
26541         (WebCore::V8CustomPositionCallback::handleEvent): Added. Invokes callback.
26542         * bindings/v8/custom/V8CustomPositionCallback.h: Added.
26543         (WebCore::V8CustomPositionCallback::create): Added. Factory method.
26544         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp: Added.
26545         (WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback): Added. Constructor.
26546         (WebCore::V8CustomPositionErrorCallback::~V8CustomPositionErrorCallback): Added. Destructor.
26547         (WebCore::V8CustomPositionErrorCallback::handleEvent): Added. Invokes callback.
26548         * bindings/v8/custom/V8CustomPositionErrorCallback.h: Added.
26549         (WebCore::V8CustomPositionErrorCallback::create): Added. Factory method.
26550         * bindings/v8/custom/V8GeolocationCustom.cpp: Added.
26551         (WebCore::throwTypeMismatchException): Added. Throws a type mismatch error.
26552         (WebCore::createPositionCallback): Added. Handles type checking for successCallback argument.
26553         (WebCore::createPositionErrorCallback): Added. Handles type checking for errorCallback argument.
26554         (WebCore::createPositionOptions): Added. Handles type checking for positionOptions argument.
26555
26556 2009-12-01  Yury Semikhatsky  <yurys@chromium.org>
26557
26558         Reviewed by Adam Barth.
26559
26560         Provide a way to get ScriptState for the inspected page.
26561
26562         https://bugs.webkit.org/show_bug.cgi?id=32020
26563
26564         * bindings/v8/ScriptController.cpp:
26565         (WebCore::ScriptController::mainWorldScriptState):
26566         * bindings/v8/ScriptController.h:
26567         * bindings/v8/ScriptState.cpp:
26568         (WebCore::scriptStateFromPage):
26569
26570 2009-12-01  Chris Marrin  <cmarrin@apple.com>
26571
26572         Reviewed by Adam Roben.
26573
26574         Changed mallocs to fastMallocs and frees to fastFrees in GraphicsContext3D. Also added error returns
26575         https://bugs.webkit.org/show_bug.cgi?id=30778
26576
26577         * platform/graphics/mac/GraphicsContext3DMac.cpp:
26578         (WebCore::GraphicsContext3D::getProgramInfoLog):
26579         (WebCore::GraphicsContext3D::getShaderInfoLog):
26580         (WebCore::GraphicsContext3D::getShaderSource):
26581         (WebCore::imageToTexture):
26582
26583 2009-12-01  Mads Ager  <ager@chromium.org>
26584
26585         Reviewed by Eric Seidel.
26586
26587         [V8] Don't crash in DOMWindow event getter in OOM situations
26588         https://bugs.webkit.org/show_bug.cgi?id=32017
26589
26590         Add missing null handle checks in DOMWindow event property
26591         accessors.  V8Proxy::context(frame) can return a null handle in
26592         OOM situations either if failing to initialize a context or if an
26593         OOM is handled gracefully and javascript is disabled.
26594
26595         No new tests because we don't have a good way to test
26596         out-of-memory bugs.
26597
26598         * bindings/v8/custom/V8DOMWindowCustom.cpp:
26599         (WebCore::ACCESSOR_GETTER):
26600         (WebCore::ACCESSOR_SETTER):
26601
26602 2009-12-01  Chris Marrin  <cmarrin@apple.com>
26603
26604         Reviewed by Oliver Hunt.
26605
26606         Updated HTMLCanvasElement to accept "experimental-webgl" as the context name.
26607         https://bugs.webkit.org/show_bug.cgi?id=31672
26608
26609         * html/HTMLCanvasElement.cpp:
26610         (WebCore::HTMLCanvasElement::getContext):
26611
26612 2009-12-01  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
26613
26614         Not reviewed: chromium build fix, added missing import.
26615
26616         * inspector/InspectorFrontendHost.cpp:
26617
26618 2009-12-01  Pavel Feldman  <pfeldman@chromium.org>
26619
26620         Not reviewed: fix windows build via unexcluding generated files from
26621         project.
26622
26623         * WebCore.vcproj/WebCore.vcproj:
26624
26625 2009-12-01  Mark Rowe  <mrowe@apple.com>
26626
26627         Stop copying IDL files in to the WebCore framework wrapper.
26628
26629         * WebCore.xcodeproj/project.pbxproj:
26630
26631 2009-12-01  Mark Rowe  <mrowe@apple.com>
26632
26633         Fix the Tiger build by making the Xcode project compatible with Xcode 2.4.
26634
26635         This was probably broken by hand-editing the project file as Xcode itself
26636         knows how to keep project files to a backwards-compatible subset of its format.
26637
26638         * WebCore.xcodeproj/project.pbxproj:
26639
26640 2009-12-01  Pavel Feldman  <pfeldman@chromium.org>
26641
26642         Not reviewed: windows build fix (bad vcproj in r51528).
26643
26644         * WebCore.vcproj/WebCore.vcproj:
26645
26646 2009-11-27  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
26647
26648         Reviewed by Timothy Hatcher.
26649
26650         Web Inspector: Split InspectorBackend into three parts: backend,
26651         injected script host and frontend host.
26652         
26653         https://bugs.webkit.org/show_bug.cgi?id=31888
26654
26655         * DerivedSources.make:
26656         * GNUmakefile.am:
26657         * WebCore.gypi:
26658         * WebCore.pro:
26659         * WebCore.vcproj/WebCore.vcproj:
26660         * WebCore.xcodeproj/project.pbxproj:
26661         * WebCoreSources.bkl:
26662         * bindings/js/JSBindingsAllInOne.cpp:
26663         * bindings/js/JSInspectorBackendCustom.cpp: Removed.
26664         * bindings/js/JSInspectorFrontendHostCustom.cpp: Added.
26665         (WebCore::JSInspectorFrontendHost::search):
26666         (WebCore::JSInspectorFrontendHost::setting):
26667         (WebCore::JSInspectorFrontendHost::setSetting):
26668         * bindings/js/ScriptObject.cpp:
26669         (WebCore::ScriptGlobalObject::set):
26670         * bindings/js/ScriptObject.h:
26671         * bindings/v8/DOMObjectsInclude.h:
26672         * bindings/v8/DerivedSourcesAllInOne.cpp:
26673         * bindings/v8/ScriptObject.cpp:
26674         (WebCore::ScriptGlobalObject::set):
26675         * bindings/v8/ScriptObject.h:
26676         * bindings/v8/V8Index.cpp:
26677         * bindings/v8/V8Index.h:
26678         * bindings/v8/custom/V8CustomBinding.h:
26679         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: Added.
26680         (WebCore::CALLBACK_FUNC_DECL):
26681         * bindings/v8/custom/V8InspectorBackendCustom.cpp: Removed.
26682         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: Added.
26683         (WebCore::CALLBACK_FUNC_DECL):
26684         * inspector/InjectedScriptHost.cpp: Added.
26685         (WebCore::InjectedScriptHost::InjectedScriptHost):
26686         (WebCore::InjectedScriptHost::~InjectedScriptHost):
26687         (WebCore::InjectedScriptHost::copyText):
26688         (WebCore::InjectedScriptHost::nodeForId):
26689         (WebCore::InjectedScriptHost::wrapObject):
26690         (WebCore::InjectedScriptHost::unwrapObject):
26691         (WebCore::InjectedScriptHost::pushNodePathToFrontend):
26692         (WebCore::InjectedScriptHost::addNodesToSearchResult):
26693         (WebCore::InjectedScriptHost::currentCallFrame):
26694         (WebCore::InjectedScriptHost::databaseForId):
26695         (WebCore::InjectedScriptHost::selectDatabase):
26696         (WebCore::InjectedScriptHost::selectDOMStorage):
26697         (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
26698         (WebCore::InjectedScriptHost::inspectorDOMAgent):
26699         (WebCore::InjectedScriptHost::inspectorFrontend):
26700         * inspector/InjectedScriptHost.h: Added.
26701         (WebCore::InjectedScriptHost::create):
26702         (WebCore::InjectedScriptHost::inspectorController):
26703         (WebCore::InjectedScriptHost::disconnectController):
26704         * inspector/InjectedScriptHost.idl: Added.
26705         * inspector/InspectorBackend.cpp:
26706         (WebCore::InspectorBackend::InspectorBackend):
26707         (WebCore::InspectorBackend::storeLastActivePanel):
26708         (WebCore::InspectorBackend::toggleNodeSearch):
26709         (WebCore::InspectorBackend::resourceTrackingEnabled):
26710         (WebCore::InspectorBackend::debuggerEnabled):
26711         (WebCore::InspectorBackend::enableDebugger):
26712         (WebCore::InspectorBackend::disableDebugger):
26713         (WebCore::InspectorBackend::addBreakpoint):
26714         (WebCore::InspectorBackend::updateBreakpoint):
26715         (WebCore::InspectorBackend::removeBreakpoint):
26716         (WebCore::InspectorBackend::pauseInDebugger):
26717         (WebCore::InspectorBackend::resumeDebugger):
26718         (WebCore::InspectorBackend::stepOverStatementInDebugger):
26719         (WebCore::InspectorBackend::stepIntoStatementInDebugger):
26720         (WebCore::InspectorBackend::stepOutOfFunctionInDebugger):
26721         (WebCore::InspectorBackend::pauseOnExceptions):
26722         (WebCore::InspectorBackend::setPauseOnExceptions):
26723         (WebCore::InspectorBackend::profilerEnabled):
26724         (WebCore::InspectorBackend::enableProfiler):
26725         (WebCore::InspectorBackend::disableProfiler):
26726         (WebCore::InspectorBackend::startProfiling):
26727         (WebCore::InspectorBackend::stopProfiling):
26728         (WebCore::InspectorBackend::getProfileHeaders):
26729         (WebCore::InspectorBackend::getProfile):
26730         (WebCore::InspectorBackend::currentCallFrame):
26731         (WebCore::InspectorBackend::highlightDOMNode):
26732         (WebCore::InspectorBackend::hideDOMNodeHighlight):
26733         (WebCore::InspectorBackend::getCookies):
26734         (WebCore::InspectorBackend::deleteCookie):
26735         (WebCore::InspectorBackend::didEvaluateForTestInFrontend):
26736         (WebCore::InspectorBackend::nodeForId):
26737         * inspector/InspectorBackend.h:
26738         (WebCore::InspectorBackend::create):
26739         * inspector/InspectorBackend.idl:
26740         * inspector/InspectorController.cpp:
26741         (WebCore::InspectorController::InspectorController):
26742         (WebCore::InspectorController::~InspectorController):
26743         (WebCore::InspectorController::inspectedPageDestroyed):
26744         (WebCore::InspectorController::windowScriptObjectAvailable):
26745         * inspector/InspectorController.h:
26746         (WebCore::InspectorController::inspectorFrontendHost):
26747         (WebCore::InspectorController::injectedScriptHost):
26748         * inspector/InspectorFrontendHost.cpp: Added.
26749         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
26750         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
26751         (WebCore::InspectorFrontendHost::loaded):
26752         (WebCore::InspectorFrontendHost::attach):
26753         (WebCore::InspectorFrontendHost::detach):
26754         (WebCore::InspectorFrontendHost::closeWindow):
26755         (WebCore::InspectorFrontendHost::windowUnloading):
26756         (WebCore::InspectorFrontendHost::setAttachedWindowHeight):
26757         (WebCore::InspectorFrontendHost::moveWindowBy):
26758         (WebCore::InspectorFrontendHost::localizedStringsURL):
26759         (WebCore::InspectorFrontendHost::hiddenPanels):
26760         (WebCore::InspectorFrontendHost::platform):
26761         (WebCore::InspectorFrontendHost::port):
26762         (WebCore::InspectorFrontendHost::addResourceSourceToFrame):
26763         (WebCore::InspectorFrontendHost::addSourceToFrame):
26764         * inspector/InspectorFrontendHost.h: Added.
26765         (WebCore::InspectorFrontendHost::create):
26766         (WebCore::InspectorFrontendHost::inspectorController):
26767         (WebCore::InspectorFrontendHost::disconnectController):
26768         * inspector/InspectorFrontendHost.idl: Added.
26769         * inspector/front-end/Breakpoint.js:
26770         (WebInspector.Breakpoint.prototype.set condition):
26771         * inspector/front-end/BreakpointsSidebarPane.js:
26772         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
26773         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
26774         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
26775         * inspector/front-end/ConsoleView.js:
26776         (WebInspector.ConsoleView.prototype.clearMessages):
26777         * inspector/front-end/CookieItemsView.js:
26778         (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
26779         * inspector/front-end/DOMAgent.js:
26780         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
26781         (WebInspector.DOMAgent.prototype.setAttributeAsync):
26782         (WebInspector.DOMAgent.prototype.removeAttributeAsync):
26783         (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
26784         (WebInspector.Cookies.getCookiesAsync):
26785         (WebInspector.EventListeners.getEventListenersForNodeAsync):
26786         * inspector/front-end/DOMStorage.js:
26787         (WebInspector.DOMStorage.prototype.getEntries):
26788         (WebInspector.DOMStorage.prototype.setItem):
26789         (WebInspector.DOMStorage.prototype.removeItem):
26790         * inspector/front-end/Database.js:
26791         (WebInspector.Database.prototype.getTableNames):
26792         * inspector/front-end/ElementsPanel.js:
26793         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
26794         (WebInspector.ElementsPanel.prototype.hide):
26795         (WebInspector.ElementsPanel.prototype.reset):
26796         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
26797         (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
26798         * inspector/front-end/ElementsTreeOutline.js:
26799         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode):
26800         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
26801         ():
26802         * inspector/front-end/EventListenersSidebarPane.js:
26803         (WebInspector.EventListenersSidebarPane.prototype):
26804         * inspector/front-end/InjectedScript.js:
26805         (InjectedScript._evaluateAndWrap):
26806         (InjectedScript.performSearch.addNodesToResults):
26807         (InjectedScript.getCallFrames):
26808         (InjectedScript._callFrameForId):
26809         (InjectedScript._clearConsoleMessages):
26810         (InjectedScript._inspectObject):
26811         (InjectedScript._copy):
26812         (InjectedScript._ensureCommandLineAPIInstalled):
26813         (InjectedScript._window):
26814         (InjectedScript._nodeForId):
26815         (InjectedScript._objectForId):
26816         (InjectedScript.pushNodeToFrontend):
26817         (InjectedScript.executeSql):
26818         (InjectedScript.executeSql.errorCallback):
26819         (InjectedScript.executeSql.queryTransaction):
26820         * inspector/front-end/InjectedScriptAccess.js:
26821         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
26822         (InjectedScriptAccess._installHandler):
26823         * inspector/front-end/InspectorBackendStub.js: Added.
26824         (.WebInspector.InspectorBackendStub):
26825         (.WebInspector.InspectorBackendStub.prototype.wrapCallback):
26826         (.WebInspector.InspectorBackendStub.prototype.platform):
26827         (.WebInspector.InspectorBackendStub.prototype.port):
26828         (.WebInspector.InspectorBackendStub.prototype.closeWindow):
26829         (.WebInspector.InspectorBackendStub.prototype.attach):
26830         (.WebInspector.InspectorBackendStub.prototype.detach):
26831         (.WebInspector.InspectorBackendStub.prototype.storeLastActivePanel):
26832         (.WebInspector.InspectorBackendStub.prototype.clearMessages):
26833         (.WebInspector.InspectorBackendStub.prototype.searchingForNode):
26834         (.WebInspector.InspectorBackendStub.prototype.search):
26835         (.WebInspector.InspectorBackendStub.prototype.toggleNodeSearch):
26836         (.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight):
26837         (.WebInspector.InspectorBackendStub.prototype.moveByUnrestricted):
26838         (.WebInspector.InspectorBackendStub.prototype.addResourceSourceToFrame):
26839         (.WebInspector.InspectorBackendStub.prototype.addSourceToFrame):
26840         (.WebInspector.InspectorBackendStub.prototype.getResourceDocumentNode):
26841         (.WebInspector.InspectorBackendStub.prototype.highlightDOMNode):
26842         (.WebInspector.InspectorBackendStub.prototype.hideDOMNodeHighlight):
26843         (.WebInspector.InspectorBackendStub.prototype.inspectedWindow):
26844         (.WebInspector.InspectorBackendStub.prototype.loaded):
26845         (.WebInspector.InspectorBackendStub.prototype.localizedStringsURL):
26846         (.WebInspector.InspectorBackendStub.prototype.windowUnloading):
26847         (.WebInspector.InspectorBackendStub.prototype.hiddenPanels):
26848         (.WebInspector.InspectorBackendStub.prototype.debuggerEnabled):
26849         (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking):
26850         (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking):
26851         (.WebInspector.InspectorBackendStub.prototype.resourceTrackingEnabled):
26852         (.WebInspector.InspectorBackendStub.prototype.enableDebugger):
26853         (.WebInspector.InspectorBackendStub.prototype.disableDebugger):
26854         (.WebInspector.InspectorBackendStub.prototype.addBreakpoint):
26855         (.WebInspector.InspectorBackendStub.prototype.removeBreakpoint):
26856         (.WebInspector.InspectorBackendStub.prototype.updateBreakpoint):
26857         (.WebInspector.InspectorBackendStub.prototype.pauseInDebugger):
26858         (.WebInspector.InspectorBackendStub.prototype.pauseOnExceptions):
26859         (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptions):
26860         (.WebInspector.InspectorBackendStub.prototype.resumeDebugger):
26861         (.WebInspector.InspectorBackendStub.prototype.profilerEnabled):
26862         (.WebInspector.InspectorBackendStub.prototype.enableProfiler):
26863         (.WebInspector.InspectorBackendStub.prototype.disableProfiler):
26864         (.WebInspector.InspectorBackendStub.prototype.startProfiling):
26865         (.WebInspector.InspectorBackendStub.prototype.stopProfiling):
26866         (.WebInspector.InspectorBackendStub.prototype.getProfileHeaders):
26867         (.WebInspector.InspectorBackendStub.prototype.getProfile):
26868         (.WebInspector.InspectorBackendStub.prototype.takeHeapSnapshot):
26869         (.WebInspector.InspectorBackendStub.prototype.databaseTableNames):
26870         (.WebInspector.InspectorBackendStub.prototype.stepIntoStatementInDebugger):
26871         (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunctionInDebugger):
26872         (.WebInspector.InspectorBackendStub.prototype.stepOverStatementInDebugger):
26873         (.WebInspector.InspectorBackendStub.prototype.setSetting):
26874         (.WebInspector.InspectorBackendStub.prototype.dispatchOnInjectedScript):
26875         (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup):
26876         (.WebInspector.InspectorBackendStub.prototype.setting):
26877         * inspector/front-end/InspectorControllerStub.js:
26878         * inspector/front-end/InspectorFrontendHostStub.js: Added.
26879         (.WebInspector.InspectorFrontendHostStub):
26880         (.WebInspector.InspectorFrontendHostStub.prototype.platform):
26881         (.WebInspector.InspectorFrontendHostStub.prototype.port):
26882         (.WebInspector.InspectorFrontendHostStub.prototype.closeWindow):
26883         (.WebInspector.InspectorFrontendHostStub.prototype.attach):
26884         (.WebInspector.InspectorFrontendHostStub.prototype.detach):
26885         (.WebInspector.InspectorFrontendHostStub.prototype.search):
26886         (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowHeight):
26887         (.WebInspector.InspectorFrontendHostStub.prototype.moveWindowBy):
26888         (.WebInspector.InspectorFrontendHostStub.prototype.addResourceSourceToFrame):
26889         (.WebInspector.InspectorFrontendHostStub.prototype.addSourceToFrame):
26890         (.WebInspector.InspectorFrontendHostStub.prototype.loaded):
26891         (.WebInspector.InspectorFrontendHostStub.prototype.localizedStringsURL):
26892         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
26893         (.WebInspector.InspectorFrontendHostStub.prototype.setSetting):
26894         (.WebInspector.InspectorFrontendHostStub.prototype.setting):
26895         * inspector/front-end/ProfileView.js:
26896         (WebInspector.CPUProfileView):
26897         (WebInspector.CPUProfileType.prototype.buttonClicked):
26898         * inspector/front-end/ProfilesPanel.js:
26899         (WebInspector.ProfilesPanel.prototype._updateInterface):
26900         (WebInspector.ProfilesPanel.prototype._enableProfiling):
26901         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
26902         * inspector/front-end/ResourcesPanel.js:
26903         (WebInspector.ResourcesPanel.prototype.reset):
26904         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
26905         (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
26906         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
26907         * inspector/front-end/ScriptView.js:
26908         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
26909         * inspector/front-end/ScriptsPanel.js:
26910         (WebInspector.ScriptsPanel.prototype.show):
26911         (WebInspector.ScriptsPanel.prototype.addScript):
26912         (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
26913         (WebInspector.ScriptsPanel.prototype.reset):
26914         (WebInspector.ScriptsPanel.prototype.canShowResource):
26915         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
26916         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
26917         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
26918         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
26919         (WebInspector.ScriptsPanel.prototype._enableDebugging):
26920         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
26921         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
26922         (WebInspector.ScriptsPanel.prototype._togglePause):
26923         (WebInspector.ScriptsPanel.prototype._stepOverClicked):
26924         (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
26925         (WebInspector.ScriptsPanel.prototype._stepOutClicked):
26926         * inspector/front-end/SourceView.js:
26927         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
26928         (WebInspector.SourceView.prototype.performSearch.findSearchMatches):
26929         (WebInspector.SourceView.prototype.performSearch):
26930         * inspector/front-end/StylesSidebarPane.js:
26931         (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
26932         * inspector/front-end/TestController.js:
26933         (WebInspector.TestController.prototype.notifyDone):
26934         * inspector/front-end/TimelinePanel.js:
26935         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
26936         * inspector/front-end/WatchExpressionsSidebarPane.js:
26937         (WebInspector.WatchExpressionsSection.prototype.update):
26938         (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions):
26939         (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
26940         * inspector/front-end/WebKit.qrc:
26941         * inspector/front-end/inspector.html:
26942         * inspector/front-end/inspector.js:
26943         (WebInspector.pendingDispatches.0.get platform):
26944         (WebInspector.get port):
26945         (WebInspector.set currentPanel):
26946         (WebInspector._createPanels):
26947         (WebInspector._loadPreferences):
26948         (WebInspector.set attached):
26949         (WebInspector._updateHoverHighlight):
26950         (WebInspector.loaded):
26951         (windowLoaded):
26952         (WebInspector.windowUnload):
26953         (WebInspector.close):
26954         (WebInspector.toolbarDrag):
26955         (WebInspector.UIString):
26956
26957 2009-11-30  Shinichiro Hamaji  <hamaji@chromium.org>
26958
26959         Reviewed by Dan Bernstein.
26960
26961         css2.1/t1205-c566-list-stl-00-e-ag.html is failing
26962         https://bugs.webkit.org/show_bug.cgi?id=23264
26963         css2.1/t1205-c565-list-pos-00-b.html is failing
26964         https://bugs.webkit.org/show_bug.cgi?id=23263
26965
26966         Ignore whitespaces after list markers.
26967         Rendering of this was already done for the case where inside=false.
26968         This fixes the rendering of inside=true case and calcInlinePrefWidths.
26969
26970         Test: fast/lists/calc-width-with-space.html
26971
26972         * rendering/RenderBlock.cpp:
26973         (WebCore::RenderBlock::calcInlinePrefWidths):
26974         * rendering/RenderBlockLineLayout.cpp:
26975         (WebCore::RenderBlock::findNextLineBreak):
26976
26977 2009-11-30  Fumitoshi Ukai  <ukai@chromium.org>
26978
26979         Unreviewed Chromium build fix introduced by r51212
26980
26981         Fix scriptStateFromNode and ScriptStateFromPage to take DOMWrapperWorld
26982         as the first argument.
26983         Move mainThreadNormalWorld() to ScriptState.{h,cpp}.
26984         Add debuggerWorld() and pluginWorld() in ScriptState.h.
26985
26986         * bindings/v8/ScriptController.cpp:
26987         * bindings/v8/ScriptController.h:
26988         * bindings/v8/ScriptState.cpp:
26989         (WebCore::scriptStateFromNode):
26990         (WebCore::scriptStateFromPage):
26991         (WebCore::mainThreadNormalWorld):
26992         * bindings/v8/ScriptState.h:
26993         (WebCore::debuggerWorld):
26994         (WebCore::pluginWorld):
26995
26996 2009-11-30  Enrica Casucci  <enrica@apple.com>
26997
26998         Reviewed by Darin Adler.
26999
27000         Can focus but not type into content editable block that contains only non-editable content.
27001         <rdar://problem/5982901>
27002         https://bugs.webkit.org/show_bug.cgi?id=31750
27003         
27004         The goal is to change the way we choose a visible position
27005         after hit detection, by preferring a visually equivalent editable
27006         position if available. By doing this, it is possible to add content
27007         to an editable block that initially contains only non editable elements.
27008
27009         Test: editing/selection/mixed-editability-10.html
27010
27011         * WebCore.base.exp: Changed to match the new signature of downstream
27012         and upstream in the Position class.
27013         * dom/Position.cpp:
27014         (WebCore::Position::atEditingBoundary): Added.
27015         (WebCore::Position::upstream): Modified to allow to cross the boundary
27016         between editable and non editable content if required.
27017         (WebCore::Position::downstream): Modified to allow to cross the boundary
27018         between editable and non editable content if required.
27019         (WebCore::Position::isCandidate): Modified to qualify as candidates positions
27020         that are at the editability boundary.
27021         (WebCore::Position::getInlineBoxAndOffset): Modified to retrieve the inline box
27022         to be used in calculating the caret rectangle.
27023         * dom/Position.h:
27024         (WebCore::Position::):
27025         * dom/PositionIterator.cpp:
27026         (WebCore::PositionIterator::atEditingBoundary): Added.
27027         (WebCore::PositionIterator::isCandidate): Modified to qualify as candidates positions
27028         that are at the editability boundary.
27029         * dom/PositionIterator.h:
27030         * editing/htmlediting.cpp:
27031         (WebCore::firstEditablePositionAfterPositionInRoot): Modified to accept not only
27032         descendants of the editable container, but the container itself.
27033         (WebCore::lastEditablePositionBeforePositionInRoot): Modified to accept not only
27034         descendants of the editable container, but the container itself.
27035         * rendering/RenderObject.cpp:
27036         (WebCore::RenderObject::createVisiblePosition): Added logic to prefer an editable position,
27037         if available.
27038         * rendering/RenderText.cpp:
27039         (WebCore::RenderText::isAllCollapsibleWhitespace): Added.
27040         * rendering/RenderText.h:
27041
27042 2009-11-30  Kevin Ollivier  <kevino@theolliviers.com>
27043
27044         wx build fix, add header needed for wx build.
27045
27046         * css/CSSFontFaceSrcValue.cpp:
27047
27048 2009-11-30  Mark Rowe  <mrowe@apple.com>
27049
27050         Reviewed by David Kilzer.
27051
27052         <rdar://problem/7424387> WebCore binary missing symbols when built for x86_64 from a machine that cannot run x86_64 binaries
27053
27054         The check for whether WTF_USE_PLUGIN_HOST_PROCESS is defined occurs under the native architecture of the build machine.
27055         If that is 32-bit then WTF_USE_PLUGIN_HOST_PROCESS will not be defined.  We work around this by forcing the check to
27056         be performed against the x86_64 architecture.
27057
27058         * DerivedSources.make:
27059
27060 2009-11-30  Beth Dakin  <bdakin@apple.com>
27061
27062         Reviewed by Oliver Hunt.
27063
27064         Fix for https://bugs.webkit.org/show_bug.cgi?id=32000 Crash in 
27065         Safari caused by extreme column-gap and column-width values 
27066         -and corresponding-
27067         <rdar://problem/7425433>
27068
27069         Prevent desiredColumnCount from being less than 1 since it is used 
27070         as a divisor.
27071         * rendering/RenderBlock.cpp:
27072         (WebCore::RenderBlock::calcColumnWidth):
27073
27074 2009-11-30  Alexey Proskuryakov  <ap@apple.com>
27075
27076         Reviewed by Oliver Hunt.
27077
27078         https://bugs.webkit.org/show_bug.cgi?id=31659
27079         Connection must be closed in case of Web Socket handshake error
27080
27081         The network connection was closed, but the close event wasn't dispatched.
27082
27083         Tested by websocket/tests/handshake-error.html, which is un-skipped now.
27084
27085         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::platformClose):
27086         Call client didHandle() method. This looks strange in CFNetwork implementation, because
27087         it's the client that asked to close the stream, so it shouldn't need the callback. It makes
27088         more sense in cross-process implementation, because closing is async there.
27089
27090 2009-11-30  Gavin Barraclough  <barraclough@apple.com>
27091
27092         Reviewed by Geoff Garen.
27093
27094         Bug 31859 - Make world selection for JSC IsolatedWorlds automagical.
27095
27096         WebCore presently has to explicitly specify the world before entering into JSC,
27097         which is a little fragile (particularly since property access via a
27098         getter/setter might invoke execution). Instead derive the current world from
27099         the lexical global object.
27100
27101         Remove the last uses of mainThreadCurrentWorld(), so the world is always obtained via
27102         currentWorld().  Switch this to obtain the world from the ExecsState's lexical global
27103         object instead.  Remove the call/construct/evaluate 'InWorld' methods, since these
27104         are no longer necessary.
27105
27106         * WebCore.base.exp:
27107         * bindings/js/JSCallbackData.cpp:
27108         (WebCore::JSCallbackData::invokeCallback):
27109         * bindings/js/JSCallbackData.h:
27110         (WebCore::JSCallbackData::JSCallbackData):
27111         * bindings/js/JSCustomXPathNSResolver.cpp:
27112         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
27113         * bindings/js/JSDOMBinding.cpp:
27114         (WebCore::currentWorld):
27115         (WebCore::mainThreadNormalWorld):
27116         * bindings/js/JSDOMBinding.h:
27117         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
27118         * bindings/js/JSDOMWindowBase.cpp:
27119         (WebCore::JSDOMWindowBase::updateDocument):
27120         * bindings/js/JSDOMWindowBase.h:
27121         * bindings/js/JSEventListener.cpp:
27122         (WebCore::JSEventListener::handleEvent):
27123         (WebCore::JSEventListener::reportError):
27124         * bindings/js/JSHTMLDocumentCustom.cpp:
27125         (WebCore::JSHTMLDocument::open):
27126         * bindings/js/JSNodeFilterCondition.cpp:
27127         (WebCore::JSNodeFilterCondition::acceptNode):
27128         * bindings/js/JSQuarantinedObjectWrapper.cpp:
27129         (WebCore::JSQuarantinedObjectWrapper::construct):
27130         (WebCore::JSQuarantinedObjectWrapper::call):
27131         * bindings/js/ScheduledAction.cpp:
27132         (WebCore::ScheduledAction::executeFunctionInContext):
27133         * bindings/js/ScriptController.cpp:
27134         (WebCore::ScriptController::evaluateInWorld):
27135         (WebCore::ScriptController::initScript):
27136         (WebCore::ScriptController::updateDocument):
27137         * bindings/js/ScriptFunctionCall.cpp:
27138         (WebCore::ScriptFunctionCall::call):
27139         (WebCore::ScriptFunctionCall::construct):
27140         * bindings/js/ScriptObjectQuarantine.cpp:
27141         (WebCore::getQuarantinedScriptObject):
27142         * bindings/js/ScriptState.cpp:
27143         (WebCore::scriptStateFromNode):
27144         (WebCore::scriptStateFromPage):
27145         * bindings/js/ScriptState.h:
27146         * bindings/js/WorkerScriptController.cpp:
27147         (WebCore::WorkerScriptController::evaluate):
27148         * bindings/objc/WebScriptObject.mm:
27149         (-[WebScriptObject callWebScriptMethod:withArguments:]):
27150         (-[WebScriptObject evaluateWebScript:]):
27151         * bridge/NP_jsobject.cpp:
27152         (_NPN_InvokeDefault):
27153         (_NPN_Invoke):
27154         (_NPN_Evaluate):
27155         (_NPN_Construct):
27156         * bridge/jni/jni_jsobject.mm:
27157         (JavaJSObject::call):
27158         (JavaJSObject::eval):
27159         * dom/NodeFilter.h:
27160         (WebCore::NodeFilter::acceptNode):
27161         * dom/NodeIterator.h:
27162         (WebCore::NodeIterator::nextNode):
27163         (WebCore::NodeIterator::previousNode):
27164         * dom/TreeWalker.h:
27165         (WebCore::TreeWalker::parentNode):
27166         (WebCore::TreeWalker::firstChild):
27167         (WebCore::TreeWalker::lastChild):
27168         (WebCore::TreeWalker::previousSibling):
27169         (WebCore::TreeWalker::nextSibling):
27170         (WebCore::TreeWalker::previousNode):
27171         (WebCore::TreeWalker::nextNode):
27172         * inspector/InspectorController.cpp:
27173         (WebCore::InspectorController::windowScriptObjectAvailable):
27174         (WebCore::InspectorController::didEvaluateForTestInFrontend):
27175         * inspector/JavaScriptCallFrame.cpp:
27176         (WebCore::JavaScriptCallFrame::evaluate):
27177
27178 2009-11-30  Eric Carlson  <eric.carlson@apple.com>
27179
27180         Reviewed by Simon Fraser.
27181
27182         All HTML5 media element events should be regular events
27183         https://bugs.webkit.org/show_bug.cgi?id=30513
27184
27185         * html/HTMLMediaElement.cpp:
27186         (WebCore::HTMLMediaElement::selectMediaResource):
27187         (WebCore::HTMLMediaElement::noneSupported):
27188         (WebCore::HTMLMediaElement::mediaEngineError):
27189         (WebCore::HTMLMediaElement::setNetworkState):
27190         (WebCore::HTMLMediaElement::userCancelledLoad):
27191             Call scheduleEvent instead of scheduleProgressEvent.
27192         (WebCore::HTMLMediaElement::progressEventTimerFired):
27193             Call scheduleEvent instead of scheduleProgressEvent. Call renderer->updateFromElement
27194             after scheduling a 'progress' event so the controller will update download
27195             progress indicator.
27196         * html/HTMLMediaElement.h:
27197             Remove scheduleProgressEvent prototype.
27198
27199 2009-11-30  Joseph Pecoraro  <joepeck@webkit.org>
27200
27201         Reviewed by Pavel Feldman.
27202
27203         Web Inspector: Wrong console output for Regexp escape sequence
27204         https://bugs.webkit.org/show_bug.cgi?id=31538
27205
27206         Updated inspector/console-format.html
27207
27208         * inspector/front-end/ConsoleView.js:
27209         (WebInspector.ConsoleView.createDividerElement): style issues.
27210         (WebInspector.ConsoleView.createFilterElement): style issues.
27211         (WebInspector.ConsoleView): added _customFormatters table.
27212         (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): style isses.
27213         (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): style issues.
27214         (WebInspector.ConsoleView.prototype._format): simplified delegation to formatter logic.
27215         (WebInspector.ConsoleView.prototype._formatobject):
27216         (WebInspector.ConsoleView.prototype._formatnode):
27217         (WebInspector.ConsoleView.prototype._printArray):
27218         (WebInspector.ConsoleMessage.prototype._format): commented and broke down the algorithm into parts.
27219         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.append): handle substitution string formatting.
27220         (WebInspector.ConsoleMessage.prototype._formatIndividualValue): handling individual value formatting.
27221         (WebInspector.ConsoleCommandResult):
27222         * inspector/front-end/InjectedScript.js: simplified regex formatting.
27223         * inspector/front-end/inspector.js:
27224         (WebInspector.linkifyStringAsFragment): converted new RegExp to literal for performance benefits.
27225         * inspector/front-end/utilities.js: 
27226         (Element.prototype.hasStyleClass): update inaccurate comment.
27227         (String.prototype.trimURL): converted new RegExp to literal for performance benefits.
27228
27229 2009-11-30  Erik Arvidsson  <arv@chromium.org>
27230
27231         Reviewed by Adam Barth.
27232
27233         Clean up V8 bindings for CSSStyleDeclaration and CSSVariableDeclaration
27234         https://bugs.webkit.org/show_bug.cgi?id=31895
27235
27236         No new tests. This is already covered by:
27237                 fast/dom/CSSStyleDeclaration/css-computed-style-item.html
27238                 fast/dom/CSSStyleDeclaration/css-style-item.html
27239
27240         * bindings/v8/V8Collection.h:
27241         (WebCore::collectionStringIndexedPropertyGetter):
27242         (WebCore::setCollectionStringIndexedGetter):
27243         * bindings/v8/V8DOMWrapper.cpp:
27244         (WebCore::V8DOMWrapper::getTemplate):
27245
27246 2009-11-30  Steve Block  <steveblock@google.com>
27247
27248         Reviewed by Eric Seidel.
27249
27250         Adds include of wtf/StdLibExtras.h for DEFINE_STATIC_LOCAL in V8 ScriptController.
27251         https://bugs.webkit.org/show_bug.cgi?id=31932
27252
27253         Build fix only, no new tests.
27254
27255         * bindings/v8/ScriptController.cpp: Modified. Adds include of wtf/StdLibExtras.h.
27256
27257 2009-11-30  Steve Block  <steveblock@google.com>
27258
27259         Reviewed by Eric Seidel.
27260
27261         Adds PassOwnPtr include to ScriptExecutionContext.h.
27262         https://bugs.webkit.org/show_bug.cgi?id=31929
27263
27264         Build fix only, no new tests.
27265
27266         * dom/ScriptExecutionContext.h: Modified. Adds PassOwnPtr include.
27267
27268 2009-11-30  Dirk Schulze  <krit@webkit.org>
27269
27270         Reviewed by Nikolas Zimmermann.
27271
27272         REGRESSION (r49757): masking-mask-01-b.svg rendered incorrectly
27273         [https://bugs.webkit.org/show_bug.cgi?id=31980]
27274
27275         It turns out, that we did not handle maskUnits="userSpaceOnUse"
27276         correctly. We just need to move the context of the maskImage
27277         if maskContentUnits="objectBoundingBox". The context gets scaled
27278         on this unit combination, so we have to substract the position of
27279         the targetRect. On userSpaceOnUse the position just depends on the
27280         position of the mask element.
27281         I added a test with some senseless and reasonable values for size
27282         and postion of the mask and it's contents. I also used every
27283         combination of maskUnits and maskContentUnits to be sure, that it
27284         is fixed this time.
27285
27286         Test: svg/custom/mask-with-all-units.svg
27287
27288         * svg/SVGMaskElement.cpp:
27289         (WebCore::SVGMaskElement::drawMaskerContent):
27290
27291 2009-11-30  Steve Block  <steveblock@google.com>
27292
27293         Reviewed by Eric Seidel.
27294
27295         Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
27296         https://bugs.webkit.org/show_bug.cgi?id=31928
27297
27298         Build fix only, no new tests.
27299
27300         * page/DOMWindow.cpp: Modified. Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
27301
27302 2009-11-30  Steve Block  <steveblock@google.com>
27303
27304         Reviewed by Eric Seidel.
27305
27306         Adds SHARED_WORKERS guards to V8 WorkerContextExecutionProxy.
27307         https://bugs.webkit.org/show_bug.cgi?id=31926
27308
27309         Build fix only, no new tests.
27310
27311         * bindings/v8/WorkerContextExecutionProxy.cpp:
27312         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
27313         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
27314         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
27315
27316 2009-11-30  Benjamin Poulain  <benjamin.poulain@nokia.com>
27317
27318         Reviewed by Kenneth Rohde Christiansen.
27319
27320         Chrome::contentsSizeChanged() is called when the content size has not changed
27321         https://bugs.webkit.org/show_bug.cgi?id=31978
27322
27323         Do not trigger contentsSizeChaned() is the new size is the same as the old one.
27324
27325         * page/FrameView.cpp:
27326         (WebCore::FrameView::setContentsSize):
27327
27328 2009-11-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
27329
27330         Reviewed by Kenneth Rohde Christiansen.
27331
27332         [Qt] Fix some compiler warnings seen on QtWebKit/Mac
27333         https://bugs.webkit.org/show_bug.cgi?id=31962
27334
27335         No new tests as there is no functional change.
27336
27337         * platform/network/ResourceHandle.h: Make destructor virtual as 
27338         after r50772 ResourceHandle has virtual functions.
27339
27340         * plugins/mac/PluginPackageMac.cpp: 
27341         (WebCore::PluginPackage::fetchInfo): Fix typo WTF is a namespace
27342         not a label
27343
27344         * plugins/mac/PluginViewMac.cpp:
27345         (WebCore::PluginView::setNPWindowIfNeeded): Add l to the format
27346         specifier
27347
27348 2009-11-30  Xan Lopez  <xlopez@igalia.com>
27349
27350         Reviewed by Gustavo Noronha.
27351
27352         Add new headers to sources list.
27353
27354         * GNUmakefile.am:
27355
27356 2009-11-30  Girish Ramakrishnan  <girish@forwardbias.in>
27357
27358         Reviewed by Holger Freyther.
27359
27360         [Qt] Mac Plugins : Get context menu to work in QGraphicsView
27361         
27362         Flash expects the value in record.where to be the global position for
27363         displaying the context menu.
27364         
27365         https://bugs.webkit.org/show_bug.cgi?id=31979
27366
27367         * plugins/mac/PluginViewMac.cpp:
27368         (WebCore::PluginView::handleMouseEvent):
27369
27370 2009-11-30  Steve Block  <steveblock@google.com>
27371
27372         Reviewed by Eric Seidel.
27373
27374         Adds PLATFORM(CHROMIUM) guards around memory usage code in V8GCController.
27375         https://bugs.webkit.org/show_bug.cgi?id=31925
27376
27377         This code uses ChromiumBridge and Chromium-specific constant values not
27378         appropriate for other platforms such as Android.
27379
27380         Build fix only, no new tests.
27381
27382         * bindings/v8/V8GCController.cpp: Modified. Adds PLATFORM(CHROMIUM) around Chromium-specific code.
27383
27384 2009-11-29  Brent Fulgham  <bfulgham@webkit.org>
27385
27386         Build fix.
27387
27388         Correct draw signature used in ImageCairoWin.cpp.
27389
27390         * platform/graphics/win/ImageCairoWin.cpp:
27391         (WebCore::BitmapImage::getHBITMAPOfSize):
27392         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
27393
27394 2009-11-28  Oliver Hunt  <oliver@apple.com>
27395
27396         Reviewed by Sam Weinig.
27397
27398         postMessage should serialize File objects
27399         https://bugs.webkit.org/show_bug.cgi?id=31955
27400
27401         Update SerializedScriptValue to include support for
27402         File objects in the serialized object graph.
27403
27404         * bindings/js/SerializedScriptValue.cpp:
27405         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
27406         (WebCore::SerializingTreeWalker::convertIfTerminal):
27407         (WebCore::DeserializingTreeWalker::convertIfTerminal):
27408         * bindings/js/SerializedScriptValue.h:
27409         (WebCore::SerializedScriptValueData::):
27410         (WebCore::SerializedScriptValueData::asString):
27411
27412 2009-11-29  Simon Fraser  <simon.fraser@apple.com>
27413
27414         Reviewed by Dan Bernstein.
27415
27416         Optimize the hierarchy rebuilding of compositing layers
27417         https://bugs.webkit.org/show_bug.cgi?id=31879
27418         
27419         When updating the compositing layer hierarchy, instead of removing all
27420         child layers and then re-adding them one by one, build a vector of child
27421         layers, and set them in one go.
27422         
27423         * platform/graphics/GraphicsLayer.h:
27424         * platform/graphics/GraphicsLayer.cpp:
27425         (WebCore::GraphicsLayer::setChildren): New method that takes a Vector of child
27426         GraphicsLayers.
27427         
27428         * platform/graphics/mac/GraphicsLayerCA.h: Override setChildren().
27429         * platform/graphics/win/GraphicsLayerCACF.h: Ditto.
27430         * platform/graphics/mac/GraphicsLayerCA.mm: 
27431         (WebCore::GraphicsLayerCA::setChildren): Implement setChildren() to 
27432         set the bit that notes that sublayers changed.
27433         * platform/graphics/win/GraphicsLayerCACF.cpp:
27434         (WebCore::GraphicsLayerCACF::setChildren): Implement setChildren() to 
27435         udpate sublayers, with a note that this is not efficient.
27436         
27437         * rendering/RenderLayerCompositor.h:
27438         * rendering/RenderLayerCompositor.cpp:
27439         (WebCore::RenderLayerCompositor::updateCompositingLayers):
27440         When updating compositing layers, use the faster updateLayerTreeGeometry() if
27441         we know that no layer hierarchy changes are needed, and, at the root, use
27442         the vector returned from rebuildCompositingLayerTree() to attach the root
27443         layer.
27444         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Changed to
27445         collect child layers into Vectors of GraphicsLayers, which can be set as
27446         layer children in one go.
27447         (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Split out from
27448         rebuildCompositingLayerTree() for simplicity, and called when we just need to
27449         update layer geometry, without doing any reparenting.
27450
27451 2009-11-29  Daniel Bates  <dbates@webkit.org>
27452
27453         Reviewed by Adam Barth.
27454
27455         https://bugs.webkit.org/show_bug.cgi?id=31971
27456
27457         Updated comment to reflect latest XSSAuditor bindings.
27458
27459         No functionality was changed. So, no new tests.
27460
27461         * page/XSSAuditor.h:
27462
27463 2009-11-29  Daniel Bates  <dbates@webkit.org>
27464
27465         Reviewed by Eric Seidel.
27466
27467         https://bugs.webkit.org/show_bug.cgi?id=31969
27468
27469         Removes unnecessary #include files.
27470
27471         No functionality was changed. So, no new tests.
27472
27473         * css/CSSComputedStyleDeclaration.cpp: Removed include CachedImage.h, and
27474         Pair.h
27475         * css/CSSCursorImageValue.cpp: Removed include RenderStyle.h
27476         * css/CSSFontFaceSrcValue.cpp: Removed include Node.h
27477         * css/CSSFontSelector.cpp: Removed include NodeList.h
27478         * css/CSSGradientValue.cpp: Removed include GraphicsContext.h, ImageBuffer.h
27479         * css/CSSImageValue.cpp: Removed include RenderStyle.h
27480         * css/CSSImportRule.cpp: Removed include MediaList.h
27481         * css/CSSMutableStyleDeclaration.cpp: Removed include CSSProperty.h
27482         * css/CSSRule.cpp: Removed include CSSStyleSheet.h
27483         * css/CSSStyleSelector.cpp: Removed include CSSFontFace.h,
27484         CSSFontFaceSource.h, and CSSProperty.h
27485         * page/EventSource.h: Removed include EventListener.h
27486
27487 2009-11-29  Daniel Bates  <dbates@webkit.org>
27488
27489         Reviewed by Eric Seidel.
27490
27491         https://bugs.webkit.org/show_bug.cgi?id=31965
27492
27493         Removed #include KeyframeList.h from CSSStyleSelector.h. Instead,
27494         forward declared it.
27495
27496         As a side effect, we need to #include KeyframeList.h in
27497         RenderLayerBacking.cpp.
27498
27499         No functionality was changed. So, no new tests.
27500
27501         * css/CSSStyleSelector.cpp:
27502         * css/CSSStyleSelector.h: Removed #include KeyframeList.h
27503         * rendering/RenderLayerBacking.cpp: Added #include KeyframeList.h
27504
27505 2009-11-29  Shu Chang  <Chang.Shu@nokia.com>
27506
27507         Reviewed by Eric Seidel.
27508
27509         Continue to search for matching node in the case where multiple nodes
27510         have the same id.
27511         https://bugs.webkit.org/show_bug.cgi?id=31428
27512
27513         Test: fast/dom/Element/id-in-node-list-index01.html
27514
27515         * dom/DynamicNodeList.cpp:
27516         (WebCore::DynamicNodeList::itemWithName):
27517
27518 2009-11-29  Daniel Bates  <dbates@webkit.org>
27519
27520         Reviewed by Eric Seidel.
27521
27522         https://bugs.webkit.org/show_bug.cgi?id=31966
27523
27524         Removed #include RenderStyle.h from file KeyframeAnimation.h. Instead,
27525         forward declared it.
27526
27527         No functionality was changed. So, no new tests.
27528
27529         * page/animation/KeyframeAnimation.cpp:
27530         * page/animation/KeyframeAnimation.h:
27531
27532 2009-11-29  Daniel Bates  <dbates@webkit.org>
27533
27534         Unreviewed, fix change log entry date.
27535
27536         For some reason, bugzilla-tool did not update the date in the change
27537         log entry for my last commit (r51468). So, this commit fixes the date
27538         of that entry.
27539
27540 2009-11-29  Daniel Bates  <dbates@webkit.org>
27541
27542         Reviewed by Dan Bernstein.
27543
27544         https://bugs.webkit.org/show_bug.cgi?id=31964
27545
27546         Removed #include StringImpl, StyleImage. Instead, forward declared them.
27547         Also, we can substitute #include <wtf/PassRefPtr.h> for #include PlatformString.h,
27548         since it seems we only really used it to include PassRefPtr.h.
27549
27550         No functionality was changed. So, no new tests.
27551
27552         * rendering/style/ContentData.h:
27553
27554 2009-11-29  Zoltan Horvath  <zoltan@webkit.org>
27555
27556         Reviewed by Eric Seidel.
27557
27558         Allow custom memory allocation control for classes of the rendering and storage directory in WebCore
27559         https://bugs.webkit.org/show_bug.cgi?id=31906
27560
27561         Inherits the following classes from Noncopyable because these are instantiated
27562         by 'new' and no need to be copyable:
27563
27564         class/struct name               - instantiated at: WebCore/'location'
27565
27566         class SQLTransactionClient      - storage/DatabaseThread.cpp:45
27567         class SQLTransactionCoordinator - storage/DatabaseThread.cpp:46
27568         class OriginUsageRecord         - storage/OriginQuotaManager.cpp:66
27569         class DatabaseTracker           - storage/DatabaseTracker.cpp:62
27570         class ScrollbarTheme            - (its child class) rendering/RenderScrollbarTheme.cpp:35
27571         class RenderSelectionInfoBase   - (its child class) rendering/RenderView.cpp:310
27572         class RenderOverflow            - rendering/RenderBox.cpp:2846
27573
27574         Inherits the following classes from FastAllocBase because these are instantiated by 'new':
27575
27576         struct FillLayer                - css/CSSStyleSelector.cpp:197
27577         struct ShadowData               - rendering/style/ShadowData.cpp:35
27578         class CounterContent            - css/CSSStyleSelector.cpp:4111
27579
27580         * platform/ScrollbarTheme.h:
27581         * rendering/RenderOverflow.h:
27582         * rendering/RenderSelectionInfo.h:
27583         * rendering/style/CounterContent.h:
27584         * rendering/style/FillLayer.h:
27585         * rendering/style/ShadowData.h:
27586         * storage/DatabaseTracker.h:
27587         * storage/OriginUsageRecord.h:
27588         * storage/SQLTransactionClient.h:
27589         * storage/SQLTransactionCoordinator.h:
27590
27591 2009-11-28  Adam Barth  <abarth@webkit.org>
27592
27593         Reviewed by Dimitri Glazkov.
27594
27595         [Chromium] Sify compose button alerts error
27596         https://bugs.webkit.org/show_bug.cgi?id=31394
27597
27598         Test: http/tests/security/calling-versus-current.html
27599
27600         We're supposed to use the calling context for security checks.  In JSC
27601         land, this is the lexicalGlobalObject.
27602
27603         * bindings/v8/V8Proxy.cpp:
27604         (WebCore::V8Proxy::canAccessPrivate):
27605
27606 2009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
27607
27608         Unreviewed Chromium build fix introduced by r51428.
27609
27610         [Chromium] Ignore line-height CSS property for PushButton
27611         https://bugs.webkit.org/show_bug.cgi?id=31712
27612
27613         * rendering/RenderThemeChromiumSkia.cpp:
27614         (WebCore::RenderThemeChromiumSkia::adjustButtonStyle):
27615
27616 2009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
27617
27618         Unreviewed Chromium test fix by reverting r51413.
27619
27620         [v8] Do not check the thread when accessing DOMDataStore
27621         https://bugs.webkit.org/show_bug.cgi?id=31877
27622
27623         * bindings/v8/V8DOMMap.cpp:
27624         (WebCore::getDOMNodeMap):
27625         (WebCore::getDOMObjectMap):
27626         (WebCore::getActiveDOMObjectMap):
27627         (WebCore::getDOMSVGElementInstanceMap):
27628         (WebCore::getDOMSVGObjectWithContextMap):
27629
27630 2009-11-27  Daniel Bates  <dbates@webkit.org>
27631
27632         Unreviewed, comment fix.
27633
27634         Corrected misspelling of the word "implemented".
27635
27636         * inspector/front-end/InjectedScriptAccess.js:
27637
27638 2009-11-27  Daniel Bates  <dbates@webkit.org>
27639
27640         Reviewed by Adam Barth.
27641
27642         https://bugs.webkit.org/show_bug.cgi?id=31940
27643
27644         Makes the error messages more descriptive when we refuse to load an object/embed or
27645         refuse to load from the document base URL.
27646
27647         * page/XSSAuditor.cpp:
27648         (WebCore::XSSAuditor::canLoadObject): Changed console message to be more descriptive.
27649         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto.
27650
27651 2009-11-27  Yury Semikhatsky  <yurys@chromium.org>
27652
27653         Reviewed by Pavel Feldman.
27654
27655         This is a WebCore part of the fix that allows to view plugin
27656         resources loaded by plugins.
27657
27658         https://bugs.webkit.org/show_bug.cgi?id=31832
27659
27660         * inspector/InspectorController.cpp:
27661         (WebCore::InspectorController::willSendRequest):
27662         (WebCore::InspectorController::didReceiveResponse):
27663         (WebCore::InspectorController::didReceiveContentLength):
27664         (WebCore::InspectorController::didFinishLoading):
27665         (WebCore::InspectorController::didFailLoading):
27666         * inspector/InspectorController.h:
27667         * inspector/InspectorResource.cpp:
27668         (WebCore::InspectorResource::addLength):
27669         * loader/ResourceLoadNotifier.cpp:
27670         (WebCore::ResourceLoadNotifier::didFailToLoad):
27671         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
27672         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
27673         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
27674         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
27675
27676 2009-11-27  Yury Semikhatsky  <yurys@chromium.org>
27677
27678         Reviewed by Pavel Feldman.
27679
27680         Instead of generating negative identifiers for cached resources in
27681         InspectorController and extending identifier type from 'unsigned long' to 'long
27682         long' reuse progress tracker from the inspected page to generate those
27683         identifiers. It guarantees that InspectorResources have unique ids since
27684         all of them are generated by that progress tracker.
27685
27686         Added a couple new overloaded methods to Script* objects that accept
27687         long and unsigned long arguments. These types of argumens have already
27688         been passed as long long.
27689
27690         https://bugs.webkit.org/show_bug.cgi?id=31921
27691
27692         * bindings/js/ScriptFunctionCall.cpp:
27693         (WebCore::ScriptFunctionCall::appendArgument):
27694         * bindings/js/ScriptFunctionCall.h:
27695         * bindings/js/ScriptObject.cpp:
27696         (WebCore::ScriptObject::set):
27697         * bindings/js/ScriptObject.h:
27698         * bindings/v8/ScriptFunctionCall.cpp:
27699         (WebCore::ScriptFunctionCall::appendArgument):
27700         * bindings/v8/ScriptFunctionCall.h:
27701         * bindings/v8/ScriptObject.cpp:
27702         (WebCore::ScriptObject::set):
27703         * bindings/v8/ScriptObject.h:
27704         * inspector/InspectorBackend.cpp:
27705         (WebCore::InspectorBackend::dispatchOnInjectedScript):
27706         * inspector/InspectorController.cpp:
27707         (WebCore::InspectorController::InspectorController):
27708         (WebCore::InspectorController::getTrackedResource):
27709         (WebCore::InspectorController::didLoadResourceFromMemoryCache): Use inspected page's ProgressTracker to generate unique identifiers for cached resources in InspectorController.
27710         * inspector/InspectorController.h:
27711         * inspector/InspectorDOMAgent.cpp:
27712         (WebCore::InspectorDOMAgent::buildObjectForNode):
27713         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
27714         * inspector/InspectorFrontend.cpp:
27715         (WebCore::InspectorFrontend::addResource):
27716         (WebCore::InspectorFrontend::updateResource):
27717         (WebCore::InspectorFrontend::removeResource):
27718         (WebCore::InspectorFrontend::updateFocusedNode):
27719         * inspector/InspectorFrontend.h:
27720         * inspector/InspectorResource.cpp:
27721         (WebCore::InspectorResource::InspectorResource):
27722         (WebCore::InspectorResource::createCached):
27723         * inspector/InspectorResource.h: Change InspectorResource identifier type from 'long long' to 'unsigned long'.
27724         (WebCore::InspectorResource::create):
27725         (WebCore::InspectorResource::identifier):
27726         * inspector/TimelineRecordFactory.cpp:
27727         (WebCore::TimelineRecordFactory::createResourceSendRequestRecord):
27728         (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord):
27729         (WebCore::TimelineRecordFactory::createResourceFinishRecord):
27730
27731 2009-11-26  Shinichiro Hamaji  <hamaji@chromium.org>
27732
27733         Reviewed by Dan Bernstein.
27734
27735         Assertion failure in RenderBlock::positionForPointWithInlineChildren when running fast/inline/relative-positioned-overflow.html
27736         https://bugs.webkit.org/show_bug.cgi?id=29966
27737
27738         When an empty inline element is clicked, the root inline box has
27739         no leaf children. Use the renderer of a normal child instead.
27740
27741         This change resolves Windows port's assertion failure in a layout test.
27742         Also, this fixes the behavior when a user drags the mouse from an
27743         empty inline element to above texts.
27744
27745         Test: editing/selection/last-empty-inline.html
27746
27747         * rendering/RenderBlock.cpp:
27748         (WebCore::RenderBlock::positionForPointWithInlineChildren):
27749
27750 2009-11-26  Kent Tamura  <tkent@chromium.org>
27751
27752         Reviewed by Eric Seidel.
27753
27754         [Chromium] Ignore line-height CSS property specified to push buttons on
27755         Windows and Linux.
27756         https://bugs.webkit.org/show_bug.cgi?id=31712
27757
27758         LayoutTests/fast/forms/control-restrict-line-height.html checks that the
27759         following controls should ignore line-height CSS property.
27760          - <select>
27761          - <input type=button>
27762          - <input type=search>
27763         This change addresses the <input type=button> issue with Chromium/Windows
27764         and Chromium/Linux.
27765         
27766         * rendering/RenderThemeChromiumSkia.cpp: Implement adjustButtonStyle() to ignore line-height.
27767         * rendering/RenderThemeChromiumSkia.h: Declare adjustButtonStyle().
27768
27769 2009-11-26  Kinuko Yasuda  <kinuko@chromium.com>
27770
27771         Reviewed by Eric Seidel.
27772
27773         Remove the special charset meta tag in the clipboard so that
27774         copy-and-paste with interchange breaklines/spaces works correctly
27775         within WebKit.
27776
27777         No new tests.  Layout tests that involve copy-and-paste with
27778         interchange breaklines (like editing/pasteboard/paste-line-endings-00?)
27779         should pass on Mac/Chromium with this fix.
27780
27781         * platform/chromium/ClipboardChromium.cpp:
27782         * platform/chromium/PasteboardChromium.cpp:
27783         (WebCore::Pasteboard::documentFragment):
27784
27785 2009-11-26  Ä°smail Dönmez  <ismail@namtrac.org>
27786
27787         Reviewed by Eric Seidel.
27788
27789         Compile with QT_NO_WHEELEVENT defined.
27790
27791         * platform/qt/WheelEventQt.cpp:
27792         (WebCore::PlatformWheelEvent::applyDelta):
27793
27794 2009-11-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
27795
27796         Reviewed by Oliver Hunt.
27797
27798         Move GOwnPtr* from wtf to wtf/gtk
27799         https://bugs.webkit.org/show_bug.cgi?id=31793
27800
27801         No new tests as there is no functional change.
27802
27803         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Change the
27804           path for GOwnPtr.h.
27805         * platform/text/TextEncoding.cpp: Ditto.
27806         * platform/text/gtk/TextCodecGtk.cpp: Ditto.
27807
27808 2009-11-26  Yury Semikhatsky  <yurys@chromium.org>
27809
27810         Not reviewed. Build fix: revert r51421.
27811
27812         * inspector/InspectorController.cpp:
27813         (WebCore::InspectorController::willSendRequest):
27814         (WebCore::InspectorController::didReceiveResponse):
27815         (WebCore::InspectorController::didReceiveContentLength):
27816         (WebCore::InspectorController::didFinishLoading):
27817         (WebCore::InspectorController::didFailLoading):
27818         * inspector/InspectorController.h:
27819         * inspector/InspectorResource.cpp:
27820         (WebCore::InspectorResource::addLength):
27821         * loader/ResourceLoadNotifier.cpp:
27822         (WebCore::ResourceLoadNotifier::didFailToLoad):
27823         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
27824         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
27825         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
27826         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
27827
27828 2009-11-26  Yury Semikhatsky  <yurys@chromium.org>
27829
27830         Reviewed by Pavel Feldman.
27831
27832         This is a WebCore part of the fix that allows to view plugin
27833         resources loaded by plugins.
27834
27835         https://bugs.webkit.org/show_bug.cgi?id=31832
27836
27837         * inspector/InspectorController.cpp:
27838         (WebCore::InspectorController::willSendRequest):
27839         (WebCore::InspectorController::didReceiveResponse):
27840         (WebCore::InspectorController::didReceiveContentLength):
27841         (WebCore::InspectorController::didFinishLoading):
27842         (WebCore::InspectorController::didFailLoading):
27843         * inspector/InspectorController.h: Remove unused DocumentLoader parameters from inspector methods.
27844         * inspector/InspectorResource.cpp:
27845         (WebCore::InspectorResource::addLength): Update loading end time when new data are received.
27846         * loader/ResourceLoadNotifier.cpp:
27847         (WebCore::ResourceLoadNotifier::didFailToLoad): Notify InspectorController about the failure.
27848         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
27849         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
27850         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
27851         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
27852
27853 2009-11-26  Daniel Bates  <dbates@webkit.org>
27854
27855         Reviewed by Pavel Feldman.
27856
27857         https://bugs.webkit.org/show_bug.cgi?id=21554
27858
27859         Implements support for hovering over <img> src to display the height and width of that image
27860         in a tooltip. Displays both the displayable and natural dimensions of the image.
27861
27862         Test: inspector/elements-img-tooltip.html
27863
27864         * inspector/front-end/ElementsTreeOutline.js:
27865         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): Added.
27866         (WebInspector.ElementsTreeElement.prototype._updateTitle.callback):
27867         (WebInspector.ElementsTreeElement.prototype._updateTitle):
27868         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
27869         * inspector/front-end/ObjectProxy.js:
27870         (WebInspector.ObjectProxy.getPropertiesAsync): Added.
27871         * inspector/front-end/inspector.js:
27872         (WebInspector.linkifyURLAsNode): Added tooltipText argument.
27873         (WebInspector.linkifyURL): Ditto.
27874
27875 2009-11-26  Kevin Ollivier  <kevino@theolliviers.com>
27876
27877         wx build fix after drawPattern API change.
27878
27879         * platform/graphics/wx/ImageWx.cpp:
27880         (WebCore::Image::drawPattern):
27881
27882 2009-11-26  Anton Muhin  <antonm@chromium.org>
27883
27884         Reviewed by Adam Barth.
27885
27886         Use an internal field instead of hidden property to speedup lookup
27887         of entered isolated world.
27888
27889         Plus some inlinings.
27890         https://bugs.webkit.org/show_bug.cgi?id=31884
27891
27892         Covered by layout tests + manual running of some benchmarks as
27893         content scripts.
27894
27895         * bindings/v8/V8DOMWrapper.cpp:
27896         * bindings/v8/V8DOMWrapper.h:
27897         (WebCore::V8DOMWrapper::setDOMWrapper):
27898         * bindings/v8/V8HiddenPropertyName.h:
27899         * bindings/v8/V8IsolatedWorld.cpp:
27900         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
27901         * bindings/v8/V8IsolatedWorld.h:
27902         (WebCore::V8IsolatedWorld::getEntered):
27903         (WebCore::V8IsolatedWorld::getGlobalObject):
27904         * bindings/v8/custom/V8CustomBinding.h:
27905
27906 2009-11-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
27907
27908         Reviewed by Kenneth Rohde Christiansen.
27909
27910         [Qt] Corrects build break on Windows.
27911
27912         Rename platform/text/qt/TextBoundaries.cpp to TextBoundariesQt.cpp since
27913         platform/text/TextBoundaries.cpp was compiled instead when compiling with nmake.
27914
27915         * WebCore.pro:
27916         * platform/text/qt/TextBoundariesQt.cpp: Renamed from WebCore/platform/text/qt/TextBoundaries.cpp.
27917         (WebCore::findNextWordFromIndex):
27918         (WebCore::findWordBoundary):
27919
27920 2009-11-26  Anton Muhin  <antonm@chromium.org>
27921
27922         Reviewed by Adam Barth.
27923
27924         Do not check if the thread is main or not when accessing DOMDataStore as currently in Chromium WebKit is used in main thread only.
27925         https://bugs.webkit.org/show_bug.cgi?id=31877
27926
27927         Covered by layout tests and buildbots.
27928
27929         * bindings/v8/V8DOMMap.cpp:
27930         (WebCore::getDOMNodeMap):
27931         (WebCore::getDOMObjectMap):
27932         (WebCore::getActiveDOMObjectMap):
27933         (WebCore::getDOMSVGElementInstanceMap):
27934         (WebCore::getDOMSVGObjectWithContextMap):
27935
27936 2009-11-26  Girish Ramakrishnan  <girish@forwardbias.in>
27937
27938         Reviewed by Holger Freyther.
27939
27940         [Qt] Mac Plugins : Pass mouse position relative to the fake window
27941         
27942         When using off-screen rendering, we need to pass mouse events relative
27943         to the fake window instead of the global position.
27944         
27945         https://bugs.webkit.org/show_bug.cgi?id=31794
27946
27947         * plugins/mac/PluginViewMac.cpp:
27948         (WebCore::PluginView::platformStart):
27949         (WebCore::PluginView::handleMouseEvent):
27950
27951 2009-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
27952
27953         Reviewed by Eric Seidel.
27954
27955         [Qt] Use QNetworkReply::rawHeaderPairs
27956         https://bugs.webkit.org/show_bug.cgi?id=31826
27957
27958         The QNetworkReply is internally storing the HTTP headers
27959         as a list of pairs. Currently we have to ask the QNetworkReply
27960         to put all header names into a QStringList. Afterwards we will
27961         iterate over this QStringList and ask the QNetworkReply to
27962         give us the value for this header name. The current Qt implementation
27963         is doing a linear to find the header value.
27964
27965         Use a new API to directly access the list of pairs and push
27966         this into WebCore. This avoids doing some allocations and doing
27967         linear searches from within a loop.
27968
27969         * platform/network/qt/QNetworkReplyHandler.cpp:
27970         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
27971
27972 2009-11-21  Holger Hans Peter Freyther  <zecke@selfish.org>
27973
27974         Reviewed by Kenneth Rohde Christiansen.
27975
27976         [Qt] Add Qt specific information of RenderPart
27977         https://bugs.webkit.org/show_bug.cgi?id=31203
27978
27979         The WebCore::Widget of the RenderPart (RenderWidget) might be
27980         backed with a platform widget. Print both the WebCore::Widget
27981         and platform widget state. In the above bug we had a problem
27982         that the WebCore::Widget was invisible but the QWidget was
27983         visible.
27984
27985         * rendering/RenderTreeAsText.cpp:
27986         (WebCore::operator<<): Add special case for RenderPart
27987
27988 2009-11-17  Holger Hans Peter Freyther  <zecke@selfish.org>
27989
27990         Reviewed by Kenneth Rohde Christiansen.
27991
27992         [Qt] Call Widget::setSelfVisible from hide/show
27993         https://bugs.webkit.org/show_bug.cgi?id=31203
27994
27995         Call Widget::setSelfVisible from Widget::show and
27996         Widget::hide and use isParentVisible to decide
27997         if the widget should be shown. This way client
27998         code can rely on isVisible.
27999
28000         Change PluginViewQt::show, PluginViewQt::hide to
28001         call the base class as it is doing the right thing
28002         now. Add an assert verify that platfomWidget and
28003         platformPluginWidget are the same.
28004
28005         * manual-tests/qt/qtplugin.html: Modify manual test
28006         * platform/qt/WidgetQt.cpp:
28007         (WebCore::Widget::show):
28008         (WebCore::Widget::hide):
28009         * plugins/qt/PluginViewQt.cpp:
28010         (WebCore::PluginView::show):
28011         (WebCore::PluginView::hide):
28012
28013 2009-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
28014
28015         Reviewed by Alexey Proskuryakov.
28016
28017         Fix compilation of REQUEST_DEBUG debug code
28018         https://bugs.webkit.org/show_bug.cgi?id=31850
28019
28020         In r47907 the single parameter KURL constructor to parse
28021         from a WebCore::String was replaced with a two parameter
28022         constructor. I think in this debug case parsing the urls
28023         again is no problem and I have changed the code to use the
28024         two parameter version.
28025
28026         * loader/loader.cpp:
28027         (WebCore::Loader::Host::didFinishLoading):
28028
28029 2009-11-26  Søren Gjesse  <sgjesse@chromium.org>
28030
28031         Reviewed by Pavel Feldman.
28032
28033         [V8] Avoid using JavaScript objects as context data
28034         https://bugs.webkit.org/show_bug.cgi?id=31873
28035
28036         Change the context "data" from a JavaScript object holding the two properties type and value to
28037         a string holding type and value separated by a comma.
28038
28039         * bindings/v8/V8Proxy.cpp:
28040         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
28041         (WebCore::V8Proxy::setContextDebugId):
28042         (WebCore::V8Proxy::contextDebugId):
28043
28044 2009-11-25  Dimitri Glazkov  <dglazkov@chromium.org>
28045
28046         Reviewed by David Levin.
28047
28048         [Chromium] Implement canSetValueAttribute in the API, the clean-up part.
28049         https://bugs.webkit.org/show_bug.cgi?id=31894
28050
28051         * accessibility/chromium/AccessibilityObjectWrapper.h: Added RefCounted decl.
28052         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Removed mis-refcountingness.
28053
28054 2009-11-25  Kenneth Russell  <kbr@google.com>
28055
28056         Reviewed by Oliver Hunt.
28057
28058         Off-by-one error in index validation for drawElements and drawArrays
28059         https://bugs.webkit.org/show_bug.cgi?id=31891
28060
28061         Fixed computation of number of elements for bound array objects.
28062
28063         Test: fast/canvas/webgl/index-validation.html
28064
28065         * html/canvas/WebGLRenderingContext.cpp:
28066         (WebCore::WebGLRenderingContext::vertexAttribPointer):
28067
28068 2009-11-25  Dmitry Titov  <dimich@chromium.org>
28069
28070         Reviewed by David Levin.
28071
28072         Update SharedScript to use eventNames() instead of EventNames()
28073         https://bugs.webkit.org/show_bug.cgi?id=31890
28074
28075         * SharedScript/WebKitSharedScript.cpp:
28076         (WebCore::LoadEventTask::performTask):
28077
28078 2009-11-25  Eric Carlson  <eric.carlson@apple.com>
28079
28080         Reviewed by Simon Fraser.
28081
28082         <rdar://problem/7409331> Windows: Support closed caption in <video> element
28083
28084         Enable closed captions in QuickTime/Windows media engine.
28085
28086         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
28087         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
28088         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
28089             New, all through to m_qtMovie.
28090
28091         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
28092             Make all but the destructor private since MediaPlayer call through the media
28093             engine interface.
28094
28095         * platform/graphics/win/QTMovieWin.cpp:
28096         (QTMovieWin::disableUnsupportedTracks):
28097             Use handy new constants for QuickTime track types.
28098         (QTMovieWin::hasClosedCaptions):
28099         (QTMovieWin::setClosedCaptionsVisible):
28100             New, closed caption support.
28101         * platform/graphics/win/QTMovieWin.h:
28102
28103         * rendering/RenderMediaControls.cpp:
28104         (WebCore::RenderMediaControls::paintMediaControlsPart):
28105             Deal with closed caption buttons.
28106
28107         * rendering/RenderThemeWin.cpp:
28108         (WebCore::RenderThemeWin::shouldRenderMediaControlPart):
28109             New, don't ask the media engine if it has closed captions unless the Safari theme will
28110             be able to render the button.
28111         (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
28112             New.
28113         * rendering/RenderThemeWin.h:
28114
28115 2009-11-25  Drew Wilson  <atwilson@chromium.org>
28116
28117         Reviewed by David Levin.
28118
28119         MessagePorts always look remotely entangled even when closed.
28120         https://bugs.webkit.org/show_bug.cgi?id=31698
28121
28122         Tests: Existing tests suffice, Chromium soak test passes now.
28123
28124         * bindings/v8/custom/V8CustomBinding.h:
28125         Removed kMessagePortEntangledPortIndex which is no longer used.
28126         * bindings/v8/V8GCController.cpp:
28127         (WebCore::GCPrologueVisitor::visitDOMWrapper):
28128         Simplified GC code to reflect the Chromium MessagePort implementation
28129         (locallyEntangledPort() always returns false).
28130         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
28131         Cleaned up epilogue code to handle the case where the port gets closed
28132         in mid-GC (due to the parent context being freed).
28133         * dom/MessagePort.cpp:
28134         (WebCore::MessagePort::MessagePort):
28135         (WebCore::MessagePort::close):
28136         Now sets the closed flag.
28137         (WebCore::MessagePort::disentanglePorts):
28138         Updated to use new isCloned() API instead of relying on isEntangled(), which was incorrect.
28139         * dom/MessagePort.h:
28140         Added a m_closed flag and updated isEntangled() to check it.
28141         (WebCore::MessagePort::isEntangled):
28142         Now returns false if the port has been closed.
28143         (WebCore::MessagePort::isCloned):
28144         Added new API to differentiate between cloned and closed ports (closed ports can still be passed to postMessage).
28145
28146 2009-11-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
28147
28148         Reviewed by Simon Hausmann.
28149
28150         [Qt] Fix crash of QtWebKit on any page with Flash when compiled with MinGW.
28151
28152         Fix inline assembly, don't dereference the function pointer twice.
28153
28154         * plugins/win/PluginViewWin.cpp:
28155         (WebCore::PluginView::hookedBeginPaint):
28156         (WebCore::PluginView::hookedEndPaint):
28157
28158 2009-11-22  Jakub Wieczorek  <faw217@gmail.com>
28159
28160         Reviewed by Adam Barth.
28161
28162         [Qt] Remove the Referer header when redirecting to a non-secure site
28163         https://bugs.webkit.org/show_bug.cgi?id=31785
28164
28165         This makes Qt pass two tests introduced in r50226.
28166
28167         * platform/network/qt/QNetworkReplyHandler.cpp:
28168         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
28169
28170 2009-11-25  Andrei Popescu  <andreip@google.com>
28171
28172         Reviewed by Dimitri Glazkov.
28173
28174         The select elements do not reflect the actual choice the user makes.
28175         https://bugs.webkit.org/show_bug.cgi?id=31831
28176
28177         Handle the drawing of the listboxes in Android code.
28178
28179         No new features, just fixing an Android problem. Existing layout tests are sufficient.
28180
28181         * platform/android/RenderThemeAndroid.cpp:
28182         (WebCore::theme):
28183         (WebCore::RenderThemeAndroid::platformActiveSelectionBackgroundColor):
28184         (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionBackgroundColor):
28185         (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionBackgroundColor):
28186         (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionForegroundColor):
28187         (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionForegroundColor):
28188         (WebCore::RenderThemeAndroid::adjustButtonStyle):
28189         (WebCore::RenderThemeAndroid::paintTextArea):
28190         (WebCore::RenderThemeAndroid::adjustListboxStyle):
28191         * platform/android/RenderThemeAndroid.h:
28192
28193 2009-11-25  Alexander Pavlov  <apavlov@chromium.org>
28194
28195         Reviewed by Pavel Feldman.
28196
28197         Load InspectorResource mime type from CachedResource for 304 responses
28198
28199         For network libraries that do not merge cache data into 304 ResourceResponses,
28200         the mime type for cached resources is unknown.
28201         https://bugs.webkit.org/show_bug.cgi?id=31868
28202
28203         * inspector/InspectorResource.cpp:
28204         (WebCore::InspectorResource::updateResponse):
28205         (WebCore::InspectorResource::updateScriptObject):
28206         (WebCore::InspectorResource::type):
28207
28208 2009-11-25  Andrei Popescu  <andreip@google.com>
28209
28210         Reviewed by Eric Seidel.
28211
28212         Android is missing implementation of SSL Key generator functions.
28213         https://bugs.webkit.org/show_bug.cgi?id=31825
28214
28215         This change adds the PlatformBridge class to platform/android.
28216         PlarformBridge is used to access the embedding layer for things
28217         such as key generator, cookies, plugins, etc.
28218
28219         No new tests required, this is platform code.
28220
28221         * platform/android/PlatformBridge.h: Added.
28222         * platform/android/SSLKeyGeneratorAndroid.cpp: Added.
28223         (WebCore::getSupportedKeySizes):
28224         (WebCore::signedPublicKeyAndChallengeString):
28225
28226 2009-11-25  Philippe Normand  <pnormand@igalia.com>
28227
28228         Reviewed by Eric Seidel.
28229
28230         [GTK] use gst_init_check() instead of gst_init()
28231         https://bugs.webkit.org/show_bug.cgi?id=31864
28232
28233         Use gst_init_check() instead of gst_init() to prevent eventual
28234         unexpected exit of the application.
28235
28236         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
28237         (WebCore::do_gst_init):
28238         (WebCore::MediaPlayerPrivate::isAvailable):
28239
28240 2009-11-25  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
28241
28242         Reviewed by Xan Lopez.
28243
28244         Some tests are crashing from time to time
28245         https://bugs.webkit.org/show_bug.cgi?id=31866
28246
28247         Make sure we do not notify the client of a finished load, if the
28248         load has been cancelled, or the client is gone.
28249
28250         * platform/network/soup/ResourceHandleSoup.cpp:
28251         (WebCore::):
28252
28253 2009-11-24  Ben Murdoch  <benm@google.com>
28254
28255         Reviewed by Eric Seidel.
28256
28257         [Android] Upstream Android changes to WebCore/bridge/jni
28258         https://bugs.webkit.org/show_bug.cgi?id=31824
28259
28260         No new tests required as no new functionality.
28261
28262         * bridge/jni/jni_class.cpp:
28263         (JavaClass::JavaClass): Add calls to delete allocated references, to avoid potential leaks.
28264         * bridge/jni/jni_instance.cpp: Add an Android include path.
28265         * bridge/jni/jni_instance.h: Add getter/setter for JObjectWrapper::_instance and make the JavaInstance ctor and member variables protected. Both needed for the Android port, see bug for discussion.
28266         (JSC::Bindings::JObjectWrapper::instance): Added.
28267         (JSC::Bindings::JObjectWrapper::setInstance): Added.
28268         * bridge/jni/jni_runtime.cpp:
28269         (JavaMethod::JavaMethod): Delete an allocated reference to avoid a potential leak.
28270         * bridge/jni/jni_utility.h:
28271         (JSC::Bindings::callJNIMethodV): Delete an allocated reference to avoid a potential leak.
28272
28273 2009-11-24  Zoltan Horvath  <zoltan@webkit.org>
28274
28275         Reviewed by Eric Seidel.
28276
28277         Allow custom memory allocation control for classes of the plugins and rendering directory in WebCore
28278         https://bugs.webkit.org/show_bug.cgi?id=31827
28279
28280         Inherits the following classes from Noncopyable because these are instantiated
28281         by 'new' and no need to be copyable:
28282
28283         class/struct name               - instantiated at: WebCore/'location'
28284
28285         class PluginRequest             - plugins/PluginView.cpp:521
28286         class PluginMainThreadScheduler - plugins/PluginMainThreadScheduler.cpp:34
28287         class PluginDatabase            - plugins/PluginDatabase.cpp:50
28288         struct MimeClassInfo            - plugins/PluginInfoStore.cpp:50
28289         struct PluginInfo               - plugins/PluginInfoStore.cpp:40
28290         class RenderArena               - dom/Document.cpp:1401
28291         class RenderImageScaleData      - rendering/RenderImage.cpp:149
28292         class TableLayout               - (its child class) rendering/RenderTable.cpp:82
28293         struct ColumnInfo               - rendering/RenderBlock.cpp:3590
28294         struct FloatingObject           - rendering/RenderBlock.cpp:2300
28295         struct MaxMargin                - rendering/RenderBlock.cpp:4794
28296         class RenderMarquee             - rendering/RenderLayer.cpp:3277
28297
28298         * plugins/PluginData.h:
28299         * plugins/PluginDatabase.h:
28300         * plugins/PluginMainThreadScheduler.h:
28301         * plugins/PluginView.h:
28302         * rendering/RenderArena.h:
28303         * rendering/RenderBlock.cpp:
28304         * rendering/RenderBlock.h:
28305         * rendering/RenderImage.cpp:
28306         * rendering/RenderMarquee.h:
28307         * rendering/TableLayout.h:
28308
28309 2009-11-24  Dmitry Titov  <dimich@chromium.org>
28310
28311         Reviewed by David Levin.
28312
28313         Initial implementation of WebKitSharedScript and SharedScriptContext
28314         https://bugs.webkit.org/show_bug.cgi?id=31569
28315
28316         No new tests since there are no bindings yet (soon to come).
28317
28318         * DerivedSources.make: Add WebKitSharedScript and SharedScriptContext to a list of idl files.
28319         * WebCore.xcodeproj/project.pbxproj:
28320         * dom/Document.cpp:
28321         (WebCore::Document::detach): Notify WebKitSharedScriptRepository that document is detaching.
28322         * dom/EventTarget.cpp: Add new casting methods, since the new types are EventTargets.
28323         (WebCore::EventTarget::toWebKitSharedScript):
28324         (WebCore::EventTarget::toSharedScriptContext):
28325         * dom/EventTarget.h: Ditto
28326         * dom/ScriptExecutionContext.h:
28327         (WebCore::ScriptExecutionContext::isSharedScriptContext): New virtual method, since there is a new type of context.
28328
28329         * SharedScript/SharedScriptContext.cpp: Added. Similar to WorkerContext, but w/o threading.
28330         (WebCore::SharedScriptContext::SharedScriptContext):
28331         (WebCore::SharedScriptContext::~SharedScriptContext):
28332         (WebCore::SharedScriptContext::clearScript):
28333         (WebCore::SharedScriptContext::virtualURL):
28334         (WebCore::SharedScriptContext::virtualCompleteURL):
28335         (WebCore::SharedScriptContext::reportException):
28336         (WebCore::SharedScriptContext::addMessage):
28337         (WebCore::SharedScriptContext::resourceRetrievedByXMLHttpRequest):
28338         (WebCore::SharedScriptContext::scriptImported):
28339         (WebCore::SharedScriptContext::matches):
28340         (WebCore::SharedScriptContext::addToDocumentsList):
28341         (WebCore::SharedScriptContext::destructionTimerFired):
28342         (WebCore::SharedScriptContext::removeFromDocumentList):
28343         (WebCore::SharedScriptContext::load):
28344         (WebCore::SharedScriptContext::postTask):
28345         (WebCore::SharedScriptContext::eventTargetData):
28346         (WebCore::SharedScriptContext::ensureEventTargetData):
28347         (WebCore::SharedScriptContext::scriptExecutionContext):
28348         * SharedScript/SharedScriptContext.h: Added.
28349         (WebCore::SharedScriptContext::create):
28350         (WebCore::SharedScriptContext::isSharedScriptContext):
28351         (WebCore::SharedScriptContext::userAgent):
28352         (WebCore::SharedScriptContext::toSharedScriptContext):
28353         (WebCore::SharedScriptContext::self):
28354         (WebCore::SharedScriptContext::script):
28355         (WebCore::SharedScriptContext::loaded):
28356         (WebCore::SharedScriptContext::name):
28357         (WebCore::SharedScriptContext::refEventTarget):
28358         (WebCore::SharedScriptContext::derefEventTarget):
28359         (WebCore::SharedScriptContext::refScriptExecutionContext):
28360         (WebCore::SharedScriptContext::derefScriptExecutionContext):
28361         * SharedScript/SharedScriptContext.idl: Added.
28362
28363         * SharedScript/SharedScriptController.h: 
28364         Added. Empty implementation of a ScriptController, will come later as part of bindings. Needed to compile.
28365
28366         * SharedScript/WebKitSharedScript.cpp: Added. EventTarget-based DOM object.
28367         (WebCore::WebKitSharedScript::WebKitSharedScript):
28368         (WebCore::WebKitSharedScript::~WebKitSharedScript):
28369         (WebCore::WebKitSharedScript::setContext):
28370         (WebCore::LoadEventTask::create): Fires asynchronous 'load' event when underlying SharedScriptContext is initialized.
28371         (WebCore::LoadEventTask::performTask):
28372         (WebCore::LoadEventTask::LoadEventTask):
28373         (WebCore::WebKitSharedScript::scheduleLoadEvent):
28374         * SharedScript/WebKitSharedScript.h: Added.
28375         (WebCore::WebKitSharedScript::create):
28376         (WebCore::WebKitSharedScript::scriptExecutionContext):
28377         (WebCore::WebKitSharedScript::toWebKitSharedScript):
28378         (WebCore::WebKitSharedScript::context):
28379         (WebCore::WebKitSharedScript::refEventTarget):
28380         (WebCore::WebKitSharedScript::derefEventTarget):
28381         (WebCore::WebKitSharedScript::eventTargetData):
28382         (WebCore::WebKitSharedScript::ensureEventTargetData):
28383         * SharedScript/WebKitSharedScript.idl: Added.
28384
28385         * SharedScript/WebKitSharedScriptRepository.cpp: Added. Implements a list of running SharedScriptContexts.
28386         (WebCore::ScriptLoader::ScriptLoader): The helper class to load an initial script of SharedScriptContext.
28387         (WebCore::ScriptLoader::load):
28388         (WebCore::ScriptLoader::notifyFinished):
28389         (WebCore::WebKitSharedScriptRepository::instance): Repository has a static global instance.
28390         (WebCore::WebKitSharedScriptRepository::connect):
28391         (WebCore::WebKitSharedScriptRepository::documentDetached): Called from Document::detach().
28392         (WebCore::WebKitSharedScriptRepository::removeSharedScriptContext): Called from ~SharedScriptContext().
28393         (WebCore::WebKitSharedScriptRepository::connectToSharedScript):
28394         (WebCore::WebKitSharedScriptRepository::getSharedScriptContext):
28395         * SharedScript/WebKitSharedScriptRepository.h: Added.
28396         (WebCore::WebKitSharedScriptRepository::WebKitSharedScriptRepository):
28397
28398 2009-11-24  Dmitry Titov  <dimich@chromium.org>
28399
28400         Reviewed by Eric Seidel.
28401
28402         Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
28403         https://bugs.webkit.org/show_bug.cgi?id=31444
28404
28405         * Configurations/FeatureDefines.xcconfig:
28406         * GNUmakefile.am:
28407         * WebCore.pro:
28408
28409 2009-11-24  Chris Marrin  <cmarrin@apple.com>
28410
28411         Reviewed by Simon Fraser.
28412
28413         Implement accelerated compositing
28414         https://bugs.webkit.org/show_bug.cgi?id=27314
28415         
28416         This part of the checkin adds the Windows specific GraphicsLayer support files.
28417         It provides the interface between GraphicsLayer and CACF. It also deals with
28418         the compositing loop, and provides the plumbing to pass the root layer up to
28419         WebView.
28420
28421         * WebCore.vcproj/WebCore.vcproj:
28422         * WebCore.vcproj/WebCoreCommon.vsprops:
28423         * page/FrameView.cpp:
28424         (WebCore::FrameView::syncCompositingStateRecursive):
28425         * platform/graphics/GraphicsLayer.cpp:
28426         (WebCore::GraphicsLayer::GraphicsLayer):
28427         * platform/graphics/GraphicsLayer.h:
28428         * platform/graphics/win/GraphicsLayerCACF.cpp: Added.
28429         * platform/graphics/win/GraphicsLayerCACF.h: Added.
28430         * platform/graphics/win/WKCACFContextFlusher.cpp: Added.
28431         * platform/graphics/win/WKCACFContextFlusher.h: Added.
28432         * platform/graphics/win/WKCACFContextFlusherWin.cpp: Added.
28433         * platform/graphics/win/WKCACFLayer.cpp: Added.
28434         * platform/graphics/win/WKCACFLayer.h: Added.
28435         * platform/graphics/win/WKCACFLayerWindow.cpp: Added.
28436         * platform/graphics/win/WKCACFLayerWindow.h: Added.
28437
28438 2009-11-24  Chris Marrin  <cmarrin@apple.com>
28439
28440         Reviewed by Eric Seidel.
28441
28442         Do error checking of parameter to createShader
28443         https://bugs.webkit.org/show_bug.cgi?id=31808
28444
28445         Test: fast/canvas/webgl/invalidPassedParams.html
28446
28447         * html/canvas/WebGLRenderingContext.cpp:
28448         (WebCore::WebGLRenderingContext::createShader):
28449         * html/canvas/WebGLRenderingContext.h:
28450         * html/canvas/WebGLRenderingContext.idl:
28451
28452 2009-11-24  Kent Tamura  <tkent@chromium.org>
28453
28454         Reviewed by Eric Seidel.
28455
28456         [Chromium] Ignore line-height CSS property specified to a search field on
28457         Windows and Linux.
28458         https://bugs.webkit.org/show_bug.cgi?id=31820
28459
28460         LayoutTests/fast/forms/control-restrict-line-height.html checks that the
28461         following controls should ignore line-height CSS property.
28462          - <select>
28463          - <input type=button>
28464          - <input type=search>
28465         This change addresses the <input type=search> issue with Chromium/Windows
28466         and Chromium/Linux.
28467
28468         * rendering/RenderThemeChromiumSkia.cpp:
28469         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldStyle): Implement this to ignore line-height.
28470         * rendering/RenderThemeChromiumSkia.h: Declare adjustSearchFieldStyle().
28471
28472 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
28473
28474         No review.
28475
28476         Stylistic fix: indent the member var initialisation.
28477
28478         * platform/graphics/mac/GraphicsLayerCA.mm:
28479         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
28480
28481 2009-11-24  Gavin Barraclough  <barraclough@apple.com>
28482
28483         Reviewed by Geoff Garen.
28484
28485         Bug 31848 - Remove uses of mainThreadCurrentWorld, and of currentWorld using a globalData.
28486
28487         These methods get the world from the global data rather than from an execstate.
28488         If the current world is always read from an exec state then it can be read
28489         from the global object, and world entry can become automagical, rather than
28490         being explicitly set by an EnterDOMWrapperWorld.
28491
28492         * bindings/js/JSCSSRuleCustom.cpp:
28493         (WebCore::toJS):
28494         * bindings/js/JSCSSValueCustom.cpp:
28495         (WebCore::toJS):
28496         * bindings/js/JSDOMBinding.cpp:
28497         (WebCore::currentWorld):
28498         (WebCore::DOMObjectWrapperMapFor):
28499         (WebCore::hasCachedDOMObjectWrapper):
28500         (WebCore::getCachedDOMObjectWrapper):
28501         (WebCore::cacheDOMObjectWrapper):
28502         (WebCore::hasCachedDOMNodeWrapper):
28503         (WebCore::getCachedDOMNodeWrapper):
28504         (WebCore::cacheDOMNodeWrapper):
28505         * bindings/js/JSDOMBinding.h:
28506         (WebCore::createDOMObjectWrapper):
28507         (WebCore::getDOMObjectWrapper):
28508         (WebCore::createDOMNodeWrapper):
28509         (WebCore::getDOMNodeWrapper):
28510         * bindings/js/JSDOMWindowCustom.cpp:
28511         (WebCore::JSDOMWindow::history):
28512         (WebCore::JSDOMWindow::location):
28513         * bindings/js/JSDocumentCustom.cpp:
28514         (WebCore::JSDocument::location):
28515         (WebCore::toJS):
28516         * bindings/js/JSElementCustom.cpp:
28517         (WebCore::toJSNewlyCreated):
28518         * bindings/js/JSEventCustom.cpp:
28519         (WebCore::toJS):
28520         * bindings/js/JSHTMLCollectionCustom.cpp:
28521         (WebCore::toJS):
28522         * bindings/js/JSImageDataCustom.cpp:
28523         (WebCore::toJS):
28524         * bindings/js/JSNodeCustom.cpp:
28525         (WebCore::JSNode::markChildren):
28526         (WebCore::createWrapper):
28527         (WebCore::toJS):
28528         * bindings/js/JSSVGPathSegCustom.cpp:
28529         (WebCore::toJS):
28530         * bindings/js/JSStyleSheetCustom.cpp:
28531         (WebCore::toJS):
28532         * xml/XMLHttpRequest.cpp:
28533         (WebCore::XMLHttpRequest::dropProtection):
28534
28535 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
28536
28537         Windows build fix.
28538
28539         * platform/network/cf/SocketStreamHandleCFNet.cpp: Also, don't include the wrong one!
28540
28541 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
28542
28543         Windows build fix.
28544
28545         * platform/network/cf/SocketStreamHandleCFNet.cpp: Include the proper WKSI header.
28546
28547 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
28548
28549         Reviewed by Oliver Hunt.
28550
28551         SVGUseElement::toClipPath can crash
28552         <rdar://problem/7385270>
28553
28554         Null-test m_shadowTreeRootElement again, because the call to buildPendingResource() may not
28555         actually initialize it.
28556
28557         * svg/SVGUseElement.cpp:
28558         (WebCore::SVGUseElement::toClipPath):
28559
28560 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
28561
28562         Windows build fix.
28563
28564         * page/win/FrameCGWin.cpp:
28565         (WebCore::imageFromRect):
28566         (WebCore::imageFromSelection):
28567
28568 2009-11-24  Eric Carlson  <eric.carlson@apple.com>
28569
28570         Not reviewed. Revert r51351 until a new WebKitSupportLibrary is available.
28571
28572         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
28573         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
28574         * platform/graphics/win/QTMovieWin.cpp:
28575         * platform/graphics/win/QTMovieWin.h:
28576         * rendering/RenderMediaControls.cpp:
28577         * rendering/RenderThemeWin.cpp:
28578         * rendering/RenderThemeWin.h:
28579
28580 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
28581
28582         Reviewed by Brady Eidson.
28583
28584         https://bugs.webkit.org/show_bug.cgi?id=31844
28585         SocketStreamHandleCFNet should support CONNECT proxy credentials
28586
28587         * WebCore.vcproj/WebCore.vcproj:
28588         * WebCore.xcodeproj/project.pbxproj:
28589         * platform/network/CredentialStorage.h:
28590         * platform/network/mac/CredentialStorageMac.mm: Added.
28591         (WebCore::CredentialStorage::getFromPersistentStorage):
28592         * platform/network/cf/CredentialStorageCFNet.cpp: Added.
28593         (WebCore::CredentialStorage::getFromPersistentStorage):
28594         Add support for fetching credentials from persistent storage (CFNet version is currently
28595         a stub).
28596
28597         * bindings/js/JSWebSocketCustom.cpp: Removed an unneeded include.
28598
28599         * platform/network/cf/SocketStreamHandle.h:
28600         * platform/network/cf/SocketStreamHandleCFNet.cpp:
28601         (WebCore::SocketStreamHandle::SocketStreamHandle):
28602         (WebCore::SocketStreamHandle::createStreams):
28603         (WebCore::getStoredCONNECTProxyCredentials):
28604         (WebCore::authenticationSchemeFromAuthenticationMethod):
28605         (WebCore::SocketStreamHandle::addCONNECTCredentials):
28606         (WebCore::SocketStreamHandle::readStreamCallback):
28607         Check if connection attempt was resulted in 407, and try stored credentials if it did.
28608
28609         * platform/mac/WebCoreSystemInterface.h:
28610         * platform/mac/WebCoreSystemInterface.mm:
28611         * WebCore.base.exp:
28612         Updated WKSI.
28613
28614 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
28615
28616         Reviewed by Dan Bernstein.
28617
28618         Find highlight is drawn incorrectly on pages with compositing layers
28619         <rdar://problem/7413925>
28620         
28621         Part 2: Add a new bit to the PaintBehavior flags, PaintBehaviorFlattenCompositingLayers,
28622         and pass that down when painting into an image.
28623         
28624         When set, it forces painting of compositing layers to go down a software paint path
28625         when all layers are painted, irrespective of compositing status, and where
28626         3d transforms are flattened to 2d. When doing this, we also need to use temporary
28627         clip rects for layers which are normally composited.
28628         
28629         * page/FrameView.h:
28630         (WebCore::FrameView::paintBehavior):
28631         * page/mac/FrameMac.mm:
28632         (WebCore::Frame::imageFromRect):
28633         * rendering/RenderLayer.cpp:
28634         (WebCore::RenderLayer::renderableTransform):
28635         (WebCore::expandClipRectForDescendantsAndReflection):
28636         (WebCore::transparencyClipBox):
28637         (WebCore::RenderLayer::beginTransparencyLayers):
28638         (WebCore::RenderLayer::paintLayer):
28639         * rendering/RenderLayer.h:
28640         (WebCore::RenderLayer::paintsWithTransparency):
28641         (WebCore::RenderLayer::paintsWithTransform):
28642         * rendering/RenderLayerCompositor.cpp:
28643         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
28644         * rendering/RenderObject.h:
28645
28646 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
28647
28648         Reviewed by Dan Bernstein.
28649
28650         Find highlight is drawn incorrectly on pages with compositing layers
28651         <rdar://problem/7413925>
28652         
28653         Part 1: Rename PaintRestriction to PaintBehavior, and make it a bitmask, in
28654         preparation for adding a new flag related to painting into an image.
28655         
28656         PaintBehaviorSelectionOnly and PaintBehaviorForceBlackText are now separate flags.
28657
28658         * page/FrameView.cpp:
28659         (WebCore::FrameView::reset):
28660         (WebCore::FrameView::paintContents):
28661         (WebCore::FrameView::setPaintBehavior):
28662         * page/FrameView.h:
28663         * page/mac/FrameMac.mm:
28664         (WebCore::Frame::selectionImage):
28665         * rendering/RenderLayer.cpp:
28666         (WebCore::RenderLayer::paint):
28667         (WebCore::RenderLayer::paintLayer):
28668         * rendering/RenderLayer.h:
28669         * rendering/RenderLayerBacking.cpp:
28670         (WebCore::RenderLayerBacking::paintIntoLayer):
28671         (WebCore::RenderLayerBacking::paintContents):
28672         * rendering/RenderLayerBacking.h:
28673         * rendering/RenderObject.h:
28674         * rendering/RenderReplica.cpp:
28675         (WebCore::RenderReplica::paint):
28676
28677 2009-11-24  Eric Carlson  <eric.carlson@apple.com>
28678
28679         Reviewed by Simon Fraser.
28680
28681         <rdar://problem/7409331> Windows: Support closed caption in <video> element
28682
28683         Enable closed captions in QuickTime/Windows media engine.
28684
28685         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
28686         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
28687         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
28688         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
28689         * platform/graphics/win/QTMovieWin.cpp:
28690         (QTMovieWin::hasClosedCaptions):
28691         (QTMovieWin::setClosedCaptionsVisible):
28692         * platform/graphics/win/QTMovieWin.h:
28693         * rendering/RenderMediaControls.cpp:
28694         (WebCore::RenderMediaControls::paintMediaControlsPart):
28695         * rendering/RenderThemeWin.cpp:
28696         (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
28697         * rendering/RenderThemeWin.h:
28698
28699 2009-11-24  Darin Fisher  <darin@chromium.org>
28700
28701         Reviewed by Adam Barth.
28702
28703         [Chromium] Renderer hang when using www.expedia.com
28704         https://bugs.webkit.org/show_bug.cgi?id=31822
28705
28706         Test: http/tests/cache/subresource-failover-to-network.html
28707
28708         * loader/FrameLoader.cpp:
28709         (WebCore::FrameLoader::loadResourceSynchronously): Use the originalRequest
28710         when inheriting cache policy.  This matches SubresourceLoader::create.
28711
28712 2009-11-23  Kenneth Russell  <kbr@google.com>
28713
28714         Reviewed by Oliver Hunt.
28715
28716         Change get... calls to latest spec
28717         https://bugs.webkit.org/show_bug.cgi?id=30091
28718
28719         Removed old versions of get calls on WebGLRenderingContext and
28720         added new ones per spec returning "any". New code simplifies
28721         GraphicsContext3D and fixes previously unimplemented routines.
28722         Added custom JS and V8 bindings. Added exhaustive test case
28723         exercising all new code paths. Updated preexisting test cases for
28724         new APIs. Fixed preexisting bugs in WebKit's and Chrome's WebGL
28725         implementations.
28726
28727         Ran WebGL layout tests in WebKit (clean) and Chrome (couple of
28728         preexisting known failures) and manual WebGL tests in both
28729         browsers.
28730
28731         Test: fast/canvas/webgl/gl-object-get-calls.html
28732
28733         * WebCore.gypi:
28734         * WebCore.xcodeproj/project.pbxproj:
28735         * bindings/js/JSWebGLRenderingContextCustom.cpp:
28736         (WebCore::toJS):
28737         (WebCore::):
28738         (WebCore::getObjectParameter):
28739         (WebCore::getProgramParameterHelper):
28740         (WebCore::JSWebGLRenderingContext::getBufferParameter):
28741         (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
28742         (WebCore::JSWebGLRenderingContext::getParameter):
28743         (WebCore::JSWebGLRenderingContext::getProgramParameter):
28744         (WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
28745         (WebCore::JSWebGLRenderingContext::getShaderParameter):
28746         (WebCore::JSWebGLRenderingContext::getTexParameter):
28747         (WebCore::JSWebGLRenderingContext::getUniform):
28748         (WebCore::JSWebGLRenderingContext::getVertexAttrib):
28749         * bindings/v8/custom/V8CustomBinding.h:
28750         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
28751         (WebCore::toV8):
28752         (WebCore::):
28753         (WebCore::getObjectParameter):
28754         (WebCore::getProgramParameter):
28755         (WebCore::CALLBACK_FUNC_DECL):
28756         * html/canvas/CanvasObject.cpp:
28757         (WebCore::CanvasObject::CanvasObject):
28758         (WebCore::CanvasObject::setObject):
28759         (WebCore::CanvasObject::deleteObject):
28760         * html/canvas/CanvasObject.h:
28761         * html/canvas/WebGLBuffer.cpp:
28762         (WebCore::WebGLBuffer::create):
28763         (WebCore::WebGLBuffer::WebGLBuffer):
28764         * html/canvas/WebGLBuffer.h:
28765         * html/canvas/WebGLGetInfo.cpp: Added.
28766         (WebCore::WebGLGetInfo::WebGLGetInfo):
28767         (WebCore::WebGLGetInfo::~WebGLGetInfo):
28768         (WebCore::WebGLGetInfo::getType):
28769         (WebCore::WebGLGetInfo::getBool):
28770         (WebCore::WebGLGetInfo::getFloat):
28771         (WebCore::WebGLGetInfo::getLong):
28772         (WebCore::WebGLGetInfo::getString):
28773         (WebCore::WebGLGetInfo::getUnsignedLong):
28774         (WebCore::WebGLGetInfo::getWebGLBuffer):
28775         (WebCore::WebGLGetInfo::getWebGLFloatArray):
28776         (WebCore::WebGLGetInfo::getWebGLFramebuffer):
28777         (WebCore::WebGLGetInfo::getWebGLIntArray):
28778         (WebCore::WebGLGetInfo::getWebGLProgram):
28779         (WebCore::WebGLGetInfo::getWebGLRenderbuffer):
28780         (WebCore::WebGLGetInfo::getWebGLTexture):
28781         (WebCore::WebGLGetInfo::getWebGLUnsignedByteArray):
28782         * html/canvas/WebGLGetInfo.h: Added.
28783         (WebCore::WebGLGetInfo::):
28784         * html/canvas/WebGLRenderbuffer.cpp:
28785         (WebCore::WebGLRenderbuffer::create):
28786         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
28787         * html/canvas/WebGLRenderbuffer.h:
28788         * html/canvas/WebGLRenderingContext.cpp:
28789         (WebCore::WebGLStateRestorer::WebGLStateRestorer):
28790         (WebCore::WebGLStateRestorer::~WebGLStateRestorer):
28791         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
28792         (WebCore::WebGLRenderingContext::activeTexture):
28793         (WebCore::WebGLRenderingContext::bindBuffer):
28794         (WebCore::WebGLRenderingContext::bindFramebuffer):
28795         (WebCore::WebGLRenderingContext::bindRenderbuffer):
28796         (WebCore::WebGLRenderingContext::bindTexture):
28797         (WebCore::WebGLRenderingContext::getBufferParameter):
28798         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
28799         (WebCore::WebGLRenderingContext::getParameter):
28800         (WebCore::WebGLRenderingContext::getProgramParameter):
28801         (WebCore::WebGLRenderingContext::getProgramInfoLog):
28802         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
28803         (WebCore::WebGLRenderingContext::getShaderParameter):
28804         (WebCore::WebGLRenderingContext::getShaderInfoLog):
28805         (WebCore::WebGLRenderingContext::getShaderSource):
28806         (WebCore::WebGLRenderingContext::getString):
28807         (WebCore::WebGLRenderingContext::getTexParameter):
28808         (WebCore::WebGLRenderingContext::getUniform):
28809         (WebCore::WebGLRenderingContext::getVertexAttrib):
28810         (WebCore::WebGLRenderingContext::useProgram):
28811         (WebCore::WebGLRenderingContext::getBooleanParameter):
28812         (WebCore::WebGLRenderingContext::getFloatParameter):
28813         (WebCore::WebGLRenderingContext::getIntParameter):
28814         (WebCore::WebGLRenderingContext::getLongParameter):
28815         (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
28816         (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
28817         (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
28818         (WebCore::WebGLRenderingContext::getWebGLUnsignedByteArrayParameter):
28819         * html/canvas/WebGLRenderingContext.h:
28820         * html/canvas/WebGLRenderingContext.idl:
28821         * html/canvas/WebGLTexture.cpp:
28822         (WebCore::WebGLTexture::create):
28823         (WebCore::WebGLTexture::WebGLTexture):
28824         * html/canvas/WebGLTexture.h:
28825         * manual-tests/webgl/resources/utils3d.js:
28826         (initWebGL):
28827         (loadShader):
28828         (Framerate.prototype.snapshot):
28829         * platform/graphics/GraphicsContext3D.h:
28830         * platform/graphics/mac/GraphicsContext3DMac.cpp:
28831         (WebCore::GraphicsContext3D::bindRenderbuffer):
28832         (WebCore::GraphicsContext3D::getBooleanv):
28833         (WebCore::GraphicsContext3D::getBufferParameteriv):
28834         (WebCore::GraphicsContext3D::getFloatv):
28835         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
28836         (WebCore::GraphicsContext3D::getIntegerv):
28837         (WebCore::GraphicsContext3D::getProgramiv):
28838         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
28839         (WebCore::GraphicsContext3D::getShaderiv):
28840         (WebCore::GraphicsContext3D::getTexParameterfv):
28841         (WebCore::GraphicsContext3D::getTexParameteriv):
28842         (WebCore::GraphicsContext3D::getUniformfv):
28843         (WebCore::GraphicsContext3D::getUniformiv):
28844         (WebCore::GraphicsContext3D::getVertexAttribfv):
28845         (WebCore::GraphicsContext3D::getVertexAttribiv):
28846
28847 2009-11-24  Steve Falkenburg  <sfalken@apple.com>
28848
28849         Windows build fix.
28850
28851         * WebCore.vcproj/QTMovieWin.vcproj: Add additional search path for QuickTime SDK.
28852
28853 2009-11-24  Philippe Normand  <pnormand@igalia.com>
28854
28855         Reviewed by Gustavo Noronha Silva.
28856
28857         [Gtk] GStreamer-CRITICAL's (and other warnings) on <video>
28858         https://bugs.webkit.org/show_bug.cgi?id=26354
28859
28860         Implemented MediaPlayerPrivate::isAvailable by checking the
28861         presence of the playbin2 GStreamer element.
28862
28863         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
28864         (WebCore::MediaPlayerPrivate::isAvailable):
28865         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
28866
28867 2009-11-24  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
28868
28869         Reviewed by Xan Lopez.
28870
28871         https://bugs.webkit.org/show_bug.cgi?id=25415
28872         [GTK][ATK] Please implement support for get_text_at_offset
28873
28874         When building up the pango layout from text boxes, only append a
28875         newline char after verifying there are no more boxes on this line.
28876
28877         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
28878         (getPangoLayoutForAtk):
28879
28880 2009-11-24  Joseph Pecoraro  <joepeck@webkit.org>
28881
28882         Reviewed by Pavel Feldman.
28883
28884         Web Inspector: Keyboard Shortcut to Clear Console Messages
28885         https://bugs.webkit.org/show_bug.cgi?id=31780
28886
28887         All Platforms:  Ctrl+L  = Clear Console Messages
28888         Mac Only:       Cmd+K   = Clear Console Messages
28889
28890         * inspector/front-end/ConsoleView.js:
28891         (WebInspector.ConsoleView): create shortcuts
28892         (WebInspector.ConsoleView.prototype._promptKeyDown): handle shortcuts
28893         * inspector/front-end/KeyboardShortcut.js:
28894         (WebInspector.KeyboardShortcut.makeKey): convenience conversion of "a-z" character to keyCode
28895         * inspector/front-end/ScriptsPanel.js:
28896         (WebInspector.ScriptsPanel): style fixes for keyboard shortcuts
28897
28898 2009-11-24  Pavel Feldman  <pfeldman@chromium.org>
28899
28900         Not reviewed: touch inspector controller in order to
28901         kick win bot inspector deploy. rs=aroben.
28902
28903         * inspector/InspectorController.cpp:
28904
28905 2009-11-23  Pavel Feldman  <pfeldman@chromium.org>
28906
28907         Reviewed by Timothy Hatcher.
28908
28909         Web Inspector: Implement expandable compartments on timeline panel.
28910
28911         https://bugs.webkit.org/show_bug.cgi?id=31796
28912
28913         * inspector/front-end/TimelineOverviewPane.js:
28914         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
28915         * inspector/front-end/TimelinePanel.js:
28916         (WebInspector.TimelinePanel):
28917         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
28918         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
28919         (WebInspector.TimelinePanel.prototype._formatRecord):
28920         (WebInspector.TimelinePanel.prototype._refreshRecords):
28921         (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
28922         (WebInspector.TimelineRecordListRow):
28923         (WebInspector.TimelineRecordListRow.prototype.update):
28924         (WebInspector.TimelineRecordListRow.prototype.dispose):
28925         (WebInspector.TimelineRecordGraphRow):
28926         (WebInspector.TimelineRecordGraphRow.prototype.update):
28927         (WebInspector.TimelineRecordGraphRow.prototype._onClick):
28928         (WebInspector.TimelineRecordGraphRow.prototype.dispose):
28929         * inspector/front-end/inspector.css:
28930
28931 2009-11-24  Mark Rowe  <mrowe@apple.com>
28932
28933         Fix production builds where the source tree may be read-only.
28934
28935         * WebCore.xcodeproj/project.pbxproj:
28936
28937 2009-11-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
28938
28939         Reviewed by Kenneth Rohde Christiansen.
28940
28941         Include "config.h" to meet Coding Style Guidelines
28942         https://bugs.webkit.org/show_bug.cgi?id=31792
28943
28944         No new tests as there is no new functionality.
28945
28946         * platform/graphics/win/IntPointWin.cpp:
28947         * platform/graphics/win/IntRectWin.cpp:
28948         * platform/graphics/win/IntSizeWin.cpp:
28949         * platform/network/chromium/ResourceRequest.cpp:
28950         * platform/win/PlatformMouseEventWin.cpp:
28951
28952 2009-11-23  Jian Li  <jianli@chromium.org>
28953
28954         Reviewed by NOBODY (Chromium build fix).
28955
28956         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
28957         (WebCore::CALLBACK_FUNC_DECL):
28958         * platform/graphics/GraphicsContext3D.h:
28959
28960 2009-11-23  Aaron Golden  <agolden@apple.com>
28961
28962         Reviewed by Alexey Proskuryakov.
28963
28964         Prevent ResourceHandleMac's version of ResourceHandle::receivedCredential from stripping
28965         identity and certificate information from a WebCore::Credential when receivedCredential
28966         needs to modify the credential's persistence.
28967
28968         Adding a new constructor Credential(const Credential& original, CredentialPersistence)
28969         that copies every field from original except for persistence.
28970
28971         * platform/network/Credential.cpp:
28972         (WebCore::Credential::Credential):
28973         * platform/network/Credential.h:
28974         * platform/network/mac/ResourceHandleMac.mm:
28975         (WebCore::ResourceHandle::receivedCredential):
28976
28977 2009-11-23  Gavin Barraclough  <barraclough@apple.com>
28978
28979         Reviewed by Geoff Garen.
28980
28981         Part 2/3 of <rdar://problem/7377477> REGRESSION: Many web pages fail to render after interesting script runs in isolated world
28982
28983         Some clients of the JavaScriptCore API expect to be able to make callbacks over the JSC API,
28984         and for this to automagically cause execution to take place in the world associated with the
28985         global object associated with the ExecState (JSContextRef) passed.  However this is not how
28986         things work - the world must be explicitly set within WebCore.
28987
28988         Making this work just for API calls to evaluate & call will be a far from perfect solution,
28989         since direct (non-API) use of JSC still relies on WebCore setting the current world correctly.
28990         A better solution would be to make this all work automagically all throughout WebCore, but this
28991         will require more refactoring.
28992
28993         Add references from the JSDOMWindowShell and the JSDOMGlobalObject to the world that owns them,
28994         so that we can get to the world from the lexical global object of an ExecState.  In the long-term
28995         we should switch over to using this approach for all cases we want to get a world from an exec state.
28996
28997         * bindings/js/JSDOMBinding.cpp:
28998         (WebCore::WebCoreJSClientData::beginningExecution):
28999         (WebCore::WebCoreJSClientData::completedExecution):
29000         * bindings/js/JSDOMBinding.h:
29001         * bindings/js/JSDOMGlobalObject.h:
29002         (WebCore::JSDOMGlobalObject::world):
29003         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
29004         * bindings/js/JSDOMWindowBase.cpp:
29005         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
29006         * bindings/js/JSDOMWindowBase.h:
29007         * bindings/js/JSDOMWindowShell.cpp:
29008         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
29009         * bindings/js/JSDOMWindowShell.h:
29010         (WebCore::JSDOMWindowShell::world):
29011         * bindings/js/JSWorkerContextBase.cpp:
29012         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
29013         * bindings/js/ScriptController.cpp:
29014         (WebCore::ScriptController::initScript):
29015
29016 2009-11-23  Chris Marrin  <cmarrin@apple.com>
29017
29018         Reviewed by Oliver Hunt.
29019
29020         Add range checks to rendering calls in WebGL
29021         https://bugs.webkit.org/show_bug.cgi?id=31239
29022
29023         I am now tracking the size of the data in each CanvasBuffer object
29024         and keeping track of the buffer size of each active vertex attrib.
29025         In drawArrays and drawElements I make sure no attempt is made to
29026         access elements outside the valid buffer ranges. The test at:
29027
29028             http://cs.helsinki.fi/u/ilmarihe/c3d/functions/drawArraysOutOfBounds.html
29029
29030         no longer crashes.
29031
29032         I also added all the WebGL enumerations to GraphicsContext3D to use them in the validation checks
29033
29034         Tests: fast/canvas/webgl/drawArraysOutOfBounds.html
29035                fast/canvas/webgl/drawElementssOutOfBounds.html
29036
29037         * bindings/js/JSWebGLArrayCustom.cpp:
29038         (WebCore::toJS):
29039         * bindings/js/JSWebGLRenderingContextCustom.cpp:
29040         (WebCore::JSWebGLRenderingContext::bufferData):
29041         (WebCore::JSWebGLRenderingContext::bufferSubData):
29042         (WebCore::JSWebGLRenderingContext::texSubImage2D):
29043         * html/canvas/WebGLArrayBuffer.cpp:
29044         (WebCore::WebGLArrayBuffer::create):
29045         (WebCore::WebGLArrayBuffer::data):
29046         * html/canvas/WebGLArrayBuffer.h:
29047         * html/canvas/WebGLBuffer.cpp:
29048         (WebCore::WebGLBuffer::WebGLBuffer):
29049         (WebCore::WebGLBuffer::associateBufferData):
29050         (WebCore::WebGLBuffer::associateBufferSubData):
29051         (WebCore::WebGLBuffer::byteLength):
29052         * html/canvas/WebGLBuffer.h:
29053         (WebCore::WebGLBuffer::elementArrayBuffer):
29054         * html/canvas/WebGLRenderingContext.cpp:
29055         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
29056         (WebCore::WebGLRenderingContext::sizeInBytes):
29057         (WebCore::WebGLRenderingContext::bindBuffer):
29058         (WebCore::WebGLRenderingContext::bufferData):
29059         (WebCore::WebGLRenderingContext::bufferSubData):
29060         (WebCore::WebGLRenderingContext::createShader):
29061         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
29062         (WebCore::WebGLRenderingContext::validateIndexArray):
29063         (WebCore::WebGLRenderingContext::validateRenderingState):
29064         (WebCore::WebGLRenderingContext::drawArrays):
29065         (WebCore::WebGLRenderingContext::drawElements):
29066         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
29067         (WebCore::WebGLRenderingContext::isFramebuffer):
29068         (WebCore::WebGLRenderingContext::isProgram):
29069         (WebCore::WebGLRenderingContext::isRenderbuffer):
29070         (WebCore::WebGLRenderingContext::isShader):
29071         (WebCore::WebGLRenderingContext::isTexture):
29072         (WebCore::WebGLRenderingContext::useProgram):
29073         (WebCore::WebGLRenderingContext::validateProgram):
29074         (WebCore::WebGLRenderingContext::vertexAttribPointer):
29075         (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
29076         * html/canvas/WebGLRenderingContext.h:
29077         (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
29078         * html/canvas/WebGLRenderingContext.idl:
29079         * html/canvas/WebGLShader.cpp:
29080         (WebCore::WebGLShader::create):
29081         (WebCore::WebGLShader::WebGLShader):
29082         * html/canvas/WebGLShader.h:
29083         * platform/graphics/GraphicsContext3D.h:
29084         (WebCore::GraphicsContext3D::):
29085         * platform/graphics/mac/GraphicsContext3DMac.cpp:
29086         (WebCore::GraphicsContext3D::createShader):
29087
29088 2009-11-23  Erik Arvidsson  <arv@chromium.org>
29089
29090         Reviewed by Eric Seidel.
29091
29092         JSC bindings for HasIndexGetter generates incorrect code (affects
29093         MediaList and CSSStyleDeclaration).
29094         This cleans up the edge cases for indexing out of range for style and
29095         computed style objects to return an empty string according to the spec.
29096         MediaList now returns null when indexed out of range.
29097         https://bugs.webkit.org/show_bug.cgi?id=31683
29098
29099         Tests: fast/dom/CSSStyleDeclaration/css-computed-style-item.html
29100                fast/dom/CSSStyleDeclaration/css-style-item.html
29101                fast/dom/StyleSheet/css-medialist-item.html
29102
29103         * bindings/scripts/CodeGeneratorJS.pm: If IndexGetterReturnsString then
29104                 we do not check the length before calling the item function.
29105         * css/CSSComputedStyleDeclaration.cpp:
29106         (WebCore::CSSComputedStyleDeclaration::item):
29107         * css/CSSMutableStyleDeclaration.cpp:
29108         (WebCore::CSSMutableStyleDeclaration::item):
29109         * css/CSSStyleDeclaration.idl:
29110
29111 2009-11-23  Simon Fraser  <simon.fraser@apple.com>
29112
29113         Reviewed by Dan Bernstein.
29114
29115         DocumentMarkers need to be educated about transforms
29116         https://bugs.webkit.org/show_bug.cgi?id=31751
29117         
29118         Find highlight is incorrect with transforms
29119         <rdar://problem/6358394>
29120
29121         Allow callers to specify that Frame::selectionTextRects() takes transforms into account
29122         when computing the set of rects that encompass a selection. For transformed elemenets, the
29123         selection rect will be the bounding box of the selected content.
29124         
29125         Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates.
29126         
29127         Test: editing/selection/transformed-selection-rects.html
29128         
29129         * WebCore.base.exp:
29130         Frame::selectionTextRects() has a new parameter.
29131         
29132         * dom/Document.cpp:
29133         (WebCore::Document::setRenderedRectForMarker):
29134         * dom/Document.h:
29135         Pass the marker as a const reference.
29136         
29137         * dom/Range.h:
29138         * dom/Range.cpp:
29139         (WebCore::Range::textQuads):
29140         Add a new method, textQuads(), which returns a list of quads, respecting transforms.
29141         
29142         * page/Frame.h:
29143         * page/Frame.cpp:
29144         (WebCore::Frame::selectionTextRects):
29145         Add a new parameter, respectTransforms, and when that is RespectTransforms, use the quad
29146         method to get quads for ranges, and then take their bounding boxes.
29147
29148         * rendering/InlineTextBox.h:
29149         * rendering/InlineTextBox.cpp:
29150         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
29151         (WebCore::InlineTextBox::paintTextMatchMarker):
29152         (WebCore::InlineTextBox::computeRectForReplacementMarker):
29153         (WebCore::InlineTextBox::paintDocumentMarkers):
29154         (WebCore::InlineTextBox::textPos):
29155         (WebCore::InlineTextBox::offsetForPosition):
29156         
29157         Pass DocumentMarkers as a const references.
29158         Convert the argument to setRenderedRectForMarker() into absolute coordinates.
29159         
29160         * rendering/RenderView.cpp:
29161         (WebCore::RenderView::selectionBounds):
29162
29163 2009-11-23  Dirk Schulze  <krit@webkit.org>
29164
29165         Reviewed by Oliver Hunt.
29166
29167         [Cairo] support blurred test-shadow
29168         [https://bugs.webkit.org/show_bug.cgi?id=31797]
29169
29170         Support for blurred text-shadows on Cairo. This patch
29171         reuses the code of blurred box-shadows, introduced in
29172         bug 26102. For a full textshadow support, a filters enabled
29173         build is needed.
29174
29175         * platform/graphics/cairo/FontCairo.cpp:
29176         (WebCore::Font::drawGlyphs):
29177
29178 2009-11-23  Jens Alfke  <snej@chromium.org>
29179
29180         Reviewed by Geoffrey Garen.
29181
29182         Change incorrect calls to the constructor "EventNames()" to the correct accessor
29183         "eventNames()". This saves ~100 AtomicString lookups each time.
29184         https://bugs.webkit.org/show_bug.cgi?id=31811
29185
29186         * dom/EventNames.h:  Make constructor private to prevent this from happening again.
29187         * history/CachedFrame.cpp:
29188         (WebCore::CachedFrameBase::restore):  EventNames() --> eventNames()
29189         * html/HTMLFormControlElement.cpp:
29190         (WebCore::HTMLFormControlElement::checkValidity):  EventNames() --> eventNames()
29191         * loader/FrameLoader.cpp:
29192         (WebCore::FrameLoader::stopLoading):  EventNames() --> eventNames()
29193         (WebCore::FrameLoader::pageHidden):  EventNames() --> eventNames()
29194         * page/DOMWindow.cpp:
29195         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):  EventNames() --> eventNames()
29196
29197 2009-11-23  Adam Langley  <agl@google.com>
29198
29199         Reviewed by Dmitry Titov.
29200
29201         Chromium Linux: Limit the stroke width and mitre limit.
29202
29203         Limit the stroke width and mitre limit that we'll pass into Skia to
29204         avoid overflowing Skia's uint16_t glyph widths.
29205
29206         http://code.google.com/p/chromium/issues/detail?id=28250
29207         https://bugs.webkit.org/show_bug.cgi?id=31747
29208
29209         * platform/graphics/skia/PlatformContextSkia.cpp:
29210         (scalarBound):
29211         (PlatformContextSkia::setupPaintForStroking):
29212
29213 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
29214
29215         Reviewed by Oliver Hunt.
29216
29217         https://bugs.webkit.org/show_bug.cgi?id=31812
29218         WebSocket code uses RefPtr::get() where it shouldn't
29219
29220         No change in funcitonality, just coding style correction.
29221
29222         * websockets/WebSocket.cpp:
29223         (WebCore::WebSocket::~WebSocket):
29224         * websockets/WebSocketChannel.cpp:
29225         (WebCore::WebSocketChannel::connect):
29226         (WebCore::WebSocketChannel::send):
29227         (WebCore::WebSocketChannel::bufferedAmount):
29228         (WebCore::WebSocketChannel::close):
29229         (WebCore::WebSocketChannel::disconnect):
29230         (WebCore::WebSocketChannel::didOpen):
29231         (WebCore::WebSocketChannel::didClose):
29232         (WebCore::WebSocketChannel::didReceiveData):
29233         (WebCore::WebSocketChannel::didFail):
29234
29235 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
29236
29237         Build fix.
29238
29239         * platform/network/cf/SocketStreamHandleCFNet.cpp:
29240         (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): pacExecutionCallbackMainThread
29241         is static, so it can't use member variables directly.
29242
29243 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
29244
29245         Reviewed by Brady Eidson.
29246
29247         https://bugs.webkit.org/show_bug.cgi?id=31748
29248         Make WebSocketHandleCFNet respect proxy auto-configuration files via CFProxySupport
29249
29250         * platform/network/cf/SocketStreamHandle.h: Removed names from some void* arguments, since
29251         they didn't carry useful information.
29252
29253         * platform/network/cf/SocketStreamHandleCFNet.cpp:
29254         (WebCore::SocketStreamHandle::SocketStreamHandle): When we need an http-style URL, we actually
29255         always need https.
29256         (WebCore::SocketStreamHandle::scheduleStreams): Factored out from constructor, since streams
29257         only get scheduled after PAC is fetched and executed asynchronously.
29258         (WebCore::SocketStreamHandle::copyPACExecutionDescription): Return a description for event
29259         source.
29260         (WebCore::MainThreadPACCallbackInfo::MainThreadPACCallbackInfo): Forward callback to main thread.
29261         (WebCore::SocketStreamHandle::pacExecutionCallback): Ditto.
29262         (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): Ditto. To avoid code duplication,
29263         we make the call even on Mac.
29264         (WebCore::SocketStreamHandle::executePACFileURL): Make an async call to CFNetworkExecuteProxyAutoConfigurationURL.
29265         (WebCore::SocketStreamHandle::removePACRunLoopSource): Once PAC execution is done or aborted,
29266         we need to get rid of the event source.
29267         (WebCore::SocketStreamHandle::chooseProxy): Use stored m_httpsURL.get.
29268         (WebCore::SocketStreamHandle::chooseProxyFromArray): Factored out from chooseProxy - the
29269         array may come directly from system configuration, or from PAC.
29270         (WebCore::SocketStreamHandle::chooseProxy): Tiger version of this function is now completely
29271         separate.
29272         (WebCore::SocketStreamHandle::~SocketStreamHandle): Run loop source should be destroyed
29273         before we get to the destructor.
29274         (WebCore::SocketStreamHandle::platformClose): Destroy the run loop source, if PAC execution
29275         is still in progress.
29276
29277 2009-11-23  Oliver Hunt  <oliver@apple.com>
29278
29279         Reviewed by Geoff Garen.
29280
29281         Don't leak the CGImage we create when drawing a sub image.
29282
29283         * platform/graphics/cg/ImageCG.cpp:
29284         (WebCore::BitmapImage::draw):
29285
29286 2009-11-23  Adam Barth  <abarth@webkit.org>
29287
29288         Reviewed by Dimitri Glazkov.
29289
29290         [V8] Don't crash when OOM in creating isolated world
29291         https://bugs.webkit.org/show_bug.cgi?id=31805
29292
29293         We need to add some more null checks to avoid crashing.  No new tests
29294         because we don't have a good way to test out-of-memory bugs.
29295
29296         * bindings/v8/V8Proxy.cpp:
29297         (WebCore::V8Proxy::evaluateInIsolatedWorld):
29298         (WebCore::V8Proxy::evaluateInNewContext):
29299         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
29300         * bindings/v8/V8Proxy.h:
29301
29302 2009-11-23  Dirk Schulze  <krit@webkit.org>
29303
29304         Reviewed by Nikolas Zimmermann.
29305
29306         This is the implementation of the filterRes attribute. It
29307         helps the SVG developer to set the quality of a filter by
29308         giving the width or height of filter.
29309         This patch also sets the filter resolution to lower values
29310         if a intermediate ImageBuffer size is bigger than the given
29311         maximal size.
29312         The maximal size is set to 5000x5000 by default. This is a
29313         subjectiv decission. Everthing greater than this values gets
29314         sensible slower. Values of 10000x10000 crashed on WebKitGtk.
29315         For mobil devices a maximum size of 100x100 or 200x200 seems
29316         to be reasonable.
29317         The important fact on filter resolution is, that the output
29318         size is still the size given by the <filter> element.
29319
29320         Tests: svg/filters/big-sized-filter-2.svg
29321                svg/filters/big-sized-filter.svg
29322                svg/filters/filterRes.svg
29323
29324         * platform/graphics/FloatRect.cpp:
29325         (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
29326         * platform/graphics/FloatRect.h:
29327         (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
29328         * platform/graphics/cairo/GraphicsContextCairo.cpp:
29329         (WebCore::GraphicsContext::createPlatformShadow): Use scaledSubRegion for
29330         calculation.
29331         * platform/graphics/filters/FEBlend.cpp:
29332         (WebCore::FEBlend::apply): Use scaledSubRegion for effect intern calculations.
29333         * platform/graphics/filters/FEColorMatrix.cpp:
29334         (WebCore::FEColorMatrix::apply): Use scaledSubRegion for effect intern calculations.
29335         * platform/graphics/filters/FEComponentTransfer.cpp:
29336         (WebCore::FEComponentTransfer::apply): Use scaledSubRegion for effect intern
29337         calculations.
29338         * platform/graphics/filters/FEComposite.cpp:
29339         (WebCore::FEComposite::apply): Use scaledSubRegion for effect intern calculations.
29340         * platform/graphics/filters/FEGaussianBlur.cpp:
29341         (WebCore::FEGaussianBlur::apply): Use scaledSubRegion for effect intern calculations.
29342         * platform/graphics/filters/Filter.h: Add the abbility to change the quality
29343         of a filter output.
29344         (WebCore::Filter::filterResolution):
29345         (WebCore::Filter::setFilterResolution):
29346         (WebCore::Filter::calculateEffectSubRegion): Calculates the correct subRegion
29347         as well as the scaledSubRegion. It also searches for the biggest effect size.
29348         We have to change the filter resolution, if one intermediate ImageBuffer size
29349         doesn't fit in the maximal image size.
29350         * platform/graphics/filters/FilterEffect.cpp:
29351         (WebCore::FilterEffect::calculateDrawingIntRect): Use scaledSubRegion to get
29352         the right part of a previous effect result.
29353         (WebCore::FilterEffect::calculateDrawingRect): Use scaledSubRegion to get
29354         the right part of a previous effect result.
29355         (WebCore::FilterEffect::getEffectContext): Use scaledSubRegion to create
29356         a new intermediate ImageBuffer for the result of the current effect.
29357         * platform/graphics/filters/FilterEffect.h:
29358         (WebCore::FilterEffect::scaledSubRegion): The scaled subRegion of a the
29359         filter effect.
29360         (WebCore::FilterEffect::setScaledSubRegion):
29361         (WebCore::FilterEffect::effectBoundaries): The original values of the
29362         EffectElement for a second subRegion calculation.
29363         (WebCore::FilterEffect::setEffectBoundaries):
29364         * platform/graphics/filters/ImageBufferFilter.cpp:
29365         (WebCore::ImageBufferFilter::ImageBufferFilter): Set the scale factor to one.
29366         * platform/graphics/filters/ImageBufferFilter.h:
29367         (WebCore::ImageBufferFilter::maxImageSize):
29368         (WebCore::ImageBufferFilter::calculateEffectSubRegion):
29369         * platform/graphics/filters/SourceAlpha.cpp:
29370         (WebCore::SourceAlpha::calculateEffectRect): Use scaledSubRegion for effect
29371         intern calculations.
29372         * platform/graphics/filters/SourceGraphic.cpp:
29373         (WebCore::SourceGraphic::calculateEffectRect): Use scaledSubRegion for effect
29374         intern calculations.
29375         * svg/SVGFilterElement.cpp:
29376         (WebCore::SVGFilterElement::parseMappedAttribute): Parse filterRes attribute.
29377         (WebCore::SVGFilterElement::buildFilter): Give SVGResourceFilter the current
29378         filterResolution.
29379         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
29380         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): Save
29381         values to effectBoundaries of the filter effect
29382         * svg/graphics/SVGResourceFilter.cpp:
29383         (WebCore::SVGResourceFilter::SVGResourceFilter):
29384         (WebCore::shouldProcessFilter): Return signal if a neccessary value is zero.
29385         (WebCore::SVGResourceFilter::fitsInMaximumImageSize): Checks if the given size
29386         fits into the maximal image size, modifys scale factors if not and return a
29387         bool: fits.
29388         (WebCore::SVGResourceFilter::prepareFilter): Scale the SourceImage to
29389         filterResolution (given by FilterElement or calculated on to big image sizes).
29390         Set the scale level to SVGFilter.
29391         (WebCore::SVGResourceFilter::applyFilter): Don't apply filters if shouldProcessFilter
29392         is wrong.
29393         * svg/graphics/SVGResourceFilter.h:
29394         (WebCore::SVGResourceFilter::setFilterResolution): FilterResolution of FilterElement.
29395         (WebCore::SVGResourceFilter::setHasFilterResolution): Does FilterElement provides
29396         a FilterResolution?
29397         (WebCore::SVGResourceFilter::scaleX): Current scale factor for horizontal.
29398         (WebCore::SVGResourceFilter::scaleY): Current scale factor for vertical.
29399         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
29400         (WebCore::FEDisplacementMap::apply): Use scaledSubRegion for effect intern calculations.
29401         Kernel values are scaled to current filter resolution too.
29402         * svg/graphics/filters/SVGFEFlood.cpp:
29403         (WebCore::FEFlood::apply): Use scaledSubRegion for effect intern calculations.
29404         * svg/graphics/filters/SVGFEMerge.cpp:
29405         (WebCore::FEMerge::apply): Use scaledSubRegion for effect intern calculations.
29406         Kernel values are scaled to current filter resolution too.
29407         * svg/graphics/filters/SVGFEMorphology.cpp:
29408         (WebCore::FEMorphology::apply): Use scaledSubRegion for effect intern calculations.
29409         Kernel values are scaled to current filter resolution too.
29410         * svg/graphics/filters/SVGFEOffset.cpp:
29411         (WebCore::FEOffset::apply): Use scaledSubRegion for effect intern calculations.
29412         * svg/graphics/filters/SVGFETile.cpp:
29413         (WebCore::FETile::apply): Use scaledSubRegion for effect intern calculations.
29414         * svg/graphics/filters/SVGFilter.cpp:
29415         (WebCore::SVGFilter::calculateEffectSubRegion): Calculate subRegion for LayoutTests,
29416         scaledSubRegion according to the current filterResolution and get the maximal image size.
29417         * svg/graphics/filters/SVGFilter.h:
29418         (WebCore::SVGFilter::effectBoundingBoxMode): Original values of the FilterElement. 
29419         (WebCore::SVGFilter::filterRegion): Use virtual for clarification.
29420         (WebCore::SVGFilter::sourceImageRect): Use virtual for clarification.
29421         (WebCore::SVGFilter::maxImageSize): Get the maximal image size.
29422
29423 2009-11-23  Simon Hausmann  <simon.hausmann@nokia.com>
29424
29425         Reviewed by Kenneth Rohde Christiansen.
29426
29427         [Qt] Wrong runtime instance objects of wrapped QObjects may be used if
29428         the wrapped object died before the gc removed the instance.
29429
29430         https://bugs.webkit.org/show_bug.cgi?id=31681
29431
29432         Before using a cached instance, verify that its wrapped QObject is
29433         still alive.
29434
29435         * bridge/qt/qt_instance.cpp:
29436         (JSC::Bindings::QtInstance::getQtInstance):
29437         * bridge/qt/qt_instance.h:
29438         (JSC::Bindings::QtInstance::hashKey):
29439
29440 2009-11-22  Chris Fleizach  <cfleizach@apple.com>
29441
29442         Reviewed by Oliver Hunt.
29443
29444         ARIA: support aria-flowto
29445         https://bugs.webkit.org/show_bug.cgi?id=31762
29446
29447         Test: platform/mac/accessibility/aria-flowto.html
29448
29449         * accessibility/AccessibilityObject.h:
29450         (WebCore::AccessibilityObject::ariaOwnsElements):
29451         (WebCore::AccessibilityObject::supportsARIAFlowTo):
29452         (WebCore::AccessibilityObject::ariaFlowToElements):
29453         * accessibility/AccessibilityRenderObject.cpp:
29454         (WebCore::AccessibilityRenderObject::linkedUIElements):
29455         (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
29456         (WebCore::AccessibilityRenderObject::ariaFlowToElements):
29457         * accessibility/AccessibilityRenderObject.h:
29458         * html/HTMLAttributeNames.in:
29459
29460 2009-11-22  Nikolas Zimmermann  <nzimmermann@rim.com>
29461
29462         Not reviewed. Build fix for WML enabled builds.
29463         Adopt WebCore API changes.
29464
29465         * wml/WMLAElement.cpp:
29466         (WebCore::WMLAElement::defaultEventHandler):
29467         * wml/WMLInputElement.cpp:
29468         (WebCore::WMLInputElement::defaultEventHandler):
29469
29470 2009-11-22  Pavel Feldman  <pfeldman@chromium.org>
29471
29472         Reviewed by Timothy Hatcher.
29473
29474         Web Inspector: Introduce sidebar background on timeline panel in order
29475         to prevent it from flickering on scroll.
29476
29477         https://bugs.webkit.org/show_bug.cgi?id=31789
29478
29479         * inspector/front-end/TimelinePanel.js:
29480         (WebInspector.TimelinePanel):
29481         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
29482         (WebInspector.TimelinePanel.prototype._onScroll):
29483         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
29484         * inspector/front-end/inspector.css:
29485
29486 2009-11-22  Pavel Feldman  <pfeldman@chromium.org>
29487
29488         Reviewed by Timothy Hatcher.
29489
29490         Web Inspector: Reimplement TimelinePanel to make it fast:
29491         - Extract grid and overview into separate files
29492         - Make timeline create only divs for visible rows
29493
29494         https://bugs.webkit.org/show_bug.cgi?id=31784
29495
29496         * WebCore.gypi:
29497         * WebCore.vcproj/WebCore.vcproj:
29498         * inspector/front-end/AbstractTimelinePanel.js:
29499         (WebInspector.AbstractTimelinePanel.prototype.createInterface):
29500         (WebInspector.AbstractTimelinePanel.prototype.refresh):
29501         (WebInspector.AbstractTimelinePanel.prototype.set calculator):
29502         * inspector/front-end/TimelineGrid.js: Added.
29503         (WebInspector.TimelineGrid):
29504         (WebInspector.TimelineGrid.prototype.get itemsGraphsElement):
29505         (WebInspector.TimelineGrid.prototype.updateDividers):
29506         (WebInspector.TimelineGrid.prototype.addEventDivider):
29507         (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
29508         * inspector/front-end/TimelineOverviewPane.js: Added.
29509         (WebInspector.TimelineOverviewPane):
29510         (WebInspector.TimelineOverviewPane.prototype._onCheckboxClicked):
29511         (WebInspector.TimelineOverviewPane.prototype.update):
29512         (WebInspector.TimelineOverviewPane.prototype.setSidebarWidth):
29513         (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
29514         (WebInspector.TimelineOverviewPane.prototype.reset):
29515         (WebInspector.TimelineOverviewPane.prototype._resizeWindow):
29516         (WebInspector.TimelineOverviewPane.prototype._windowResizeDragging):
29517         (WebInspector.TimelineOverviewPane.prototype._dragWindow):
29518         (WebInspector.TimelineOverviewPane.prototype._windowDragging):
29519         (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft):
29520         (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
29521         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
29522         (WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
29523         (WebInspector.TimelineOverviewCalculator):
29524         (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
29525         (WebInspector.TimelineOverviewCalculator.prototype.reset):
29526         (WebInspector.TimelineOverviewCalculator.prototype.updateBoundaries):
29527         (WebInspector.TimelineOverviewCalculator.prototype.get boundarySpan):
29528         (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
29529         (WebInspector.TimelineCategoryTreeElement):
29530         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
29531         (WebInspector.TimelineCategoryGraph):
29532         (WebInspector.TimelineCategoryGraph.prototype.get graphElement):
29533         (WebInspector.TimelineCategoryGraph.prototype.addChunk):
29534         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
29535         (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
29536         * inspector/front-end/TimelinePanel.js:
29537         (WebInspector.TimelinePanel):
29538         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
29539         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
29540         (WebInspector.TimelinePanel.prototype._formatRecord):
29541         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
29542         (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
29543         (WebInspector.TimelinePanel.prototype.resize):
29544         (WebInspector.TimelinePanel.prototype.reset):
29545         (WebInspector.TimelinePanel.prototype.show):
29546         (WebInspector.TimelinePanel.prototype._onScroll):
29547         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
29548         (WebInspector.TimelinePanel.prototype._refresh):
29549         (WebInspector.TimelinePanel.prototype._refreshRecords):
29550         (WebInspector.TimelinePanel.prototype._adjustScrollPosition):
29551         (WebInspector.TimelineCategory):
29552         (WebInspector.TimelineCalculator):
29553         (WebInspector.TimelineCalculator.prototype.get boundarySpan):
29554         (WebInspector.TimelineRecordListRow):
29555         (WebInspector.TimelineRecordListRow.prototype.update):
29556         (WebInspector.TimelineRecordGraphRow):
29557         (WebInspector.TimelineRecordGraphRow.prototype.update):
29558         * inspector/front-end/WebKit.qrc:
29559         * inspector/front-end/inspector.css:
29560         * inspector/front-end/inspector.html:
29561
29562 2009-11-22  Chris Evans  <cevans@chromium.org>
29563
29564         Reviewed by Adam Barth.
29565
29566         Disable access to file:/// directory listings
29567         https://bugs.webkit.org/show_bug.cgi?id=31329
29568
29569         Deny access to directory listings. This needs doing in WebKit for
29570         WebKit clients that do permit top-level navigation to file:///dir.
29571         This matches Firefox, plus the existing Safari implementation (which
29572         does not support any directory access at all). It will fix the
29573         LayoutTest named below for Chromium.
29574
29575         Test: fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html
29576
29577         * page/SecurityOrigin.cpp: Deny access to directory listings.
29578         (WebCore::SecurityOrigin::SecurityOrigin):
29579         (WebCore::SecurityOrigin::canRequest):
29580
29581 2009-11-20  Joseph Pecoraro  <joepeck@webkit.org>
29582
29583         Reviewed by Timothy Hatcher.
29584
29585         Web Inspector: Support Ctrl+P and Ctrl+N, Readline keyboard shortcuts in the Console
29586         https://bugs.webkit.org/show_bug.cgi?id=31400
29587
29588         Handle the following when on a Mac:
29589
29590           Ctrl+P = Previous (like Up arrow)
29591           Ctrl+N = Next (like Down arrow)
29592
29593         No longer rerun autocompletion when just pushing a modifier key
29594         like Control, Alt, Shift, or Meta.
29595
29596         Improved arrow key behavior with Multiline code in the Console, with the following behavior:
29597
29598           Up   = Previous Command if on First Line (caret moves to the end of the first line)
29599                  otherwise default caret movement in text.
29600           Down = Next Command if on Last Line (caret naturally moves to the end)
29601                  otherwise default caret movement in text.
29602
29603         * inspector/front-end/TextPrompt.js:
29604         (WebInspector.TextPrompt.prototype.handleKeyEvent): handle new keyboard shortcuts
29605         (WebInspector.TextPrompt.prototype.isCaretOnFirstLine): check if the caret is on the top line
29606         (WebInspector.TextPrompt.prototype.isCaretOnLastLine): check if the caret is on the bottom line
29607         (WebInspector.TextPrompt.prototype._upKeyPressed):
29608         (WebInspector.TextPrompt.prototype._downKeyPressed):
29609         (WebInspector.TextPrompt.prototype._moveBackInHistory):
29610         (WebInspector.TextPrompt.prototype._moveForwardInHistory):
29611
29612 2009-11-21  Jessie Berlin  <jberlin@webkit.org>
29613
29614         Reviewed by Timothy Hatcher.
29615
29616         Adds a tooltip containing the full url of the resource to each element
29617         in the Resources panel so that it is possible to quickly see the query
29618         parameters.
29619         https://bugs.webkit.org/show_bug.cgi?id=19103
29620
29621         * inspector/front-end/ResourcesPanel.js:
29622         (WebInspector.ResourceSidebarTreeElement.prototype.refresh):
29623         Set the tooltip to be the resource's url.
29624
29625 2009-11-21  Simon Fraser  <simon.fraser@apple.com>
29626
29627         Reviewed by Dan Bernstein.
29628
29629         CSSKeyframesRule::findRule() and deleteRule() should accept 'from' and 'to' as well as percentages
29630         https://bugs.webkit.org/show_bug.cgi?id=31588
29631         
29632         In WebKitCSSKeyframesRule::findRuleIndex(), map 'from' to 0% an 'to' to 100%
29633         so that findRule() and deleteRule() work with these keywords.
29634
29635         * css/WebKitCSSKeyframesRule.cpp:
29636         (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
29637
29638 2009-11-21  Daniel Bates  <dbates@webkit.org>
29639
29640         Reviewed by Eric Seidel.
29641
29642         https://bugs.webkit.org/show_bug.cgi?id=31647
29643
29644         Changed KeyboardEvent::m_keyEvent from a raw pointer to an OwnPtr.
29645
29646         No functionality was changed. So, no new tests.
29647
29648         * dom/KeyboardEvent.cpp:
29649         (WebCore::KeyboardEvent::~KeyboardEvent):
29650         * dom/KeyboardEvent.h: Changed m_keyEvent to OwnPtr.
29651         (WebCore::KeyboardEvent::keyEvent):
29652
29653 2009-11-20  Chris Fleizach  <cfleizach@apple.com>
29654
29655         Reviewed by Beth Dakin.
29656
29657         WAI-ARIA: add support for aria-owns
29658         https://bugs.webkit.org/show_bug.cgi?id=31702
29659
29660         Re-organized how accessibilityAttributeNames are returned so 
29661         that it's possible for an element to add an attribute based on 
29662         a dynamic value. In this case, we only want to add AXOwn if the 
29663         element actually supports aria-owns.
29664   
29665         Test: platform/mac/accessibility/aria-owns.html
29666
29667         * accessibility/AccessibilityObject.h:
29668         (WebCore::AccessibilityObject::supportsARIAOwns):
29669         (WebCore::AccessibilityObject::ariaOwnsElements):
29670         * accessibility/AccessibilityRenderObject.cpp:
29671         (WebCore::AccessibilityRenderObject::ariaOwnsElements):
29672         (WebCore::AccessibilityRenderObject::supportsARIAOwns):
29673         * accessibility/AccessibilityRenderObject.h:
29674         * accessibility/mac/AccessibilityObjectWrapper.mm:
29675         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
29676         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
29677         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
29678         * html/HTMLAttributeNames.in:
29679
29680 2009-11-20  Eric Carlson  <eric.carlson@apple.com>
29681
29682         Reviewed by Simon Fraser.
29683
29684         <rdar://problem/7414396> Leopard & Tiger: Support closed caption in <video> element
29685
29686         * css/mediaControls.css:
29687             Define closed caption toggle button.
29688
29689         * rendering/RenderMedia.cpp:
29690         (WebCore::RenderMedia::updateControls):
29691             Create closed caption toggle button in display order.
29692
29693         * rendering/RenderThemeMac.mm:
29694         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
29695             Don't require MediaControllerThemeQuickTime theme for captions toggle button.
29696             No need to check if the movie has video, a closed captions track is a video
29697             track.
29698
29699 2009-11-20  Joseph Pecoraro  <joepeck@webkit.org>
29700
29701         Reviewed by Timothy Hatcher.
29702
29703         Web Inspector: Running code in the Console that ends with a
29704         single line comment no longer produces a parse error.
29705
29706         * inspector/front-end/InjectedScript.js:
29707         (InjectedScript._evaluateOn):
29708
29709 2009-11-20  Chris Fleizach  <cfleizach@apple.com>
29710
29711         Reviewed by Beth Dakin.
29712
29713         WAI-ARIA: add support for 'math' role
29714         https://bugs.webkit.org/show_bug.cgi?id=31706
29715
29716         * accessibility/AccessibilityObject.cpp:
29717         * accessibility/AccessibilityObject.h:
29718         * accessibility/mac/AccessibilityObjectWrapper.mm:
29719
29720 2009-11-20  Yael Aharon  <yael.aharon@nokia.com>
29721
29722         Reviewed by Kenneth Rohde Christiansen.
29723
29724         NPN_ReloadPlugins does not reload the page even if reloadPages is true.
29725         https://bugs.webkit.org/show_bug.cgi?id=30460
29726
29727         Replace call to PluginDatabase::installedPlugins()->refresh() with Page::refreshPlugins().
29728         It already refreshes plugins and reloads pages when necessary.
29729
29730         Tests: plugins/reloadplugins-and-pages.html
29731                plugins/reloadplugins-no-pages.html
29732
29733         * plugins/PluginInfoStore.cpp:
29734         (WebCore::refreshPlugins):
29735
29736 2009-11-20  Oliver Hunt  <oliver@apple.com>
29737
29738         Reviewed by Dave Hyatt.
29739
29740         <rdar://7409188> WebKit needs to be able to serialize and deserialize objects.
29741
29742         Expose WebCore object serialization to WebKit.
29743
29744         * WebCore.base.exp:
29745         * bindings/js/SerializedScriptValue.cpp:
29746         (WebCore::SerializedScriptValue::~SerializedScriptValue):
29747         (WebCore::SerializedScriptValue::create):
29748         (WebCore::SerializedScriptValue::deserialize):
29749         * bindings/js/SerializedScriptValue.h:
29750
29751 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
29752
29753         Reviewed by Tim Hatcher.
29754
29755         Fixes <http://webkit.org/b/31741>.
29756         Web Inspector: User Entered Data on the console should show up no matter what filters.
29757         
29758         Always show .console-user-command-result, no matter what the filter say
29759         we should do with the other classes.
29760
29761         * inspector/front-end/inspector.css:
29762
29763 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
29764
29765         Reviewed by Tim Hatcher.
29766
29767         Fixes <http://webkit.org/b/31700>.
29768         Web Inspector: isMac should be in one central location + Cached.
29769         
29770         We should cache the value of isMac, and make the indexOf call in one
29771         single location, because we are calling it from multiple places, and saving
29772         the result can save us time, and make the call sites simpler.
29773
29774         * inspector/front-end/AbstractTimelinePanel.js:
29775         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
29776         * inspector/front-end/ConsoleView.js:
29777         (WebInspector.ConsoleView.prototype._updateFilter):
29778         * inspector/front-end/ElementsPanel.js:
29779         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
29780         * inspector/front-end/ScriptsPanel.js:
29781         (WebInspector.ScriptsPanel):
29782         * inspector/front-end/SourceFrame.js:
29783         (WebInspector.SourceFrame.prototype._loaded):
29784         * inspector/front-end/inspector.js:
29785         (WebInspector.documentKeyDown):
29786         (WebInspector.isMac):
29787
29788 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
29789
29790         Removed .DS_Store accidentally added in last (r51245).
29791
29792 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
29793
29794         Reviewed by Timothy Hatcher.
29795
29796         Web Inspector: Add Console Only Layout Mode
29797         https://bugs.webkit.org/show_bug.cgi?id=30282
29798
29799         Adds a Console Panel, which allows for a Full size Console. This
29800         extends the Drawer to the size of a Panel. This also fixes previous
29801         resize issues with the Drawer.
29802
29803         * inspector/front-end/ConsolePanel.js: added.
29804         (WebInspector.ConsolePanel):
29805         (WebInspector.ConsolePanel.prototype.toolbarItemClass.get toolbarItemLabel):
29806         (WebInspector.ConsolePanel.prototype.show):
29807         (WebInspector.ConsolePanel.prototype.hide):
29808         * inspector/front-end/Drawer.js:
29809         (WebInspector.Drawer):
29810         (WebInspector.Drawer.prototype.set visibleView):
29811         (WebInspector.Drawer.prototype.get savedHeight): access the saved height of the variable console.
29812         (WebInspector.Drawer.prototype.show.animationFinished):
29813         (WebInspector.Drawer.prototype.show):
29814         (WebInspector.Drawer.prototype.hide.animationFinished):
29815         (WebInspector.Drawer.prototype.hide):
29816         (WebInspector.Drawer.prototype.resize): resize appropriately if full/non-full
29817         (WebInspector.Drawer.prototype.enterPanelMode):
29818         (WebInspector.Drawer.prototype.exitPanelMode):
29819         (WebInspector.Drawer.prototype.immediatelyExitPanelMode):
29820         (WebInspector.Drawer.prototype._cancelAnimationIfNeeded):
29821         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
29822         (WebInspector.Drawer.prototype._animateDrawerHeight):
29823         (WebInspector.Drawer.prototype._animationDuration):
29824         (WebInspector.Drawer.prototype._startStatusBarDragging):
29825         (WebInspector.Drawer.prototype._statusBarDragging):
29826         (WebInspector.Drawer.prototype._endStatusBarDragging):
29827
29828         Miscellaneous changes and cleanup.
29829
29830         * English.lproj/localizedStrings.js: "Console" toolbar title.
29831         * inspector/front-end/ConsoleView.js: removed unnecessary element reordering  
29832         * inspector/front-end/Images/consoleIcon.png: added.
29833         * inspector/front-end/inspector.css: added icon.
29834         * inspector/front-end/inspector.html:
29835         * inspector/front-end/inspector.js:
29836         (WebInspector._createPanels): create console panel
29837         (WebInspector.windowResize): resize drawer if necessary
29838         (WebInspector.documentKeyDown): esc should not toggle the console when in panel mode
29839         (WebInspector.animateStyle): start animation interval, returns the interval key
29840         (WebInspector.toggleAttach): resize drawer if necessary
29841         (WebInspector.showConsolePanel): restore the panel when the inspector restarts
29842         (WebInspector.showProfileForURL): style fix
29843
29844         Restore the panel when the inspector restarts.
29845
29846         * inspector/InspectorController.cpp:
29847         (WebCore::InspectorController::setWindowVisible):
29848         (WebCore::InspectorController::specialPanelForJSName):
29849         * inspector/InspectorFrontend.cpp:
29850         (WebCore::InspectorFrontend::showPanel):
29851
29852         Build files.
29853
29854         * WebCore.gypi:
29855         * WebCore.vcproj/WebCore.vcproj:
29856         * inspector/front-end/WebKit.qrc:
29857
29858 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
29859
29860         Reviewed by Tim Hatcher.
29861
29862         Fixes <http://webkit.org/b/31699>.
29863         Web Inspector: Should Cache Values of InspectorController.platform() and port().
29864
29865         Refactor the Inspector to cache the value of InspectorController.platform
29866         and InspectorController.port, because those need to call into C++, they are
29867         being called more and more as we add platform specific keyboard shortcuts, and
29868         they shouldn't change in the lifecycle of the Web Inspector.
29869
29870         * inspector/front-end/AbstractTimelinePanel.js:
29871         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
29872         * inspector/front-end/ConsoleView.js:
29873         (WebInspector.ConsoleView.prototype._updateFilter):
29874         * inspector/front-end/ElementsPanel.js:
29875         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
29876         * inspector/front-end/ScriptsPanel.js:
29877         (WebInspector.ScriptsPanel):
29878         * inspector/front-end/SourceFrame.js:
29879         (WebInspector.SourceFrame.prototype._loaded):
29880         * inspector/front-end/inspector.js:
29881         (WebInspector.get platform):
29882         (WebInspector.get port):
29883         (WebInspector.loaded):
29884         (WebInspector.documentKeyDown):
29885         (WebInspector.toolbarDragStart):
29886
29887 2009-11-20  Dirk Schulze  <krit@webkit.org>
29888
29889         Unreviewed build fix for filters enabled builds.
29890
29891         * platform/graphics/filters/FEColorMatrix.cpp:
29892         (WebCore::FEColorMatrix::apply):
29893         * platform/graphics/filters/FEComposite.cpp:
29894         (WebCore::FEComposite::apply):
29895         * platform/graphics/filters/SourceGraphic.cpp:
29896         (WebCore::SourceGraphic::apply):
29897         * svg/graphics/SVGResourceFilter.cpp:
29898         (WebCore::SVGResourceFilter::applyFilter):
29899         * svg/graphics/filters/SVGFEMerge.cpp:
29900         (WebCore::FEMerge::apply):
29901         * svg/graphics/filters/SVGFEOffset.cpp:
29902         (WebCore::FEOffset::apply):
29903         * svg/graphics/filters/SVGFETile.cpp:
29904         (WebCore::FETile::apply):
29905
29906 2009-11-20  Eric Carlson  <eric.carlson@apple.com>
29907
29908         Reviewed by Simon Fraser.
29909
29910         <rdar://problem/7389945> QTKit based media engine should not claim to support 
29911         fullscreen on Leopard
29912
29913         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
29914         (WebCore::MediaPlayerPrivate::supportsFullscreen):
29915             Only return true on SnowLeopard for now.
29916
29917         * rendering/RenderThemeMac.mm:
29918         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
29919             No need to special case MediaFullscreenButtonPart as the default implementation 
29920             asks the media engine if it supports fullscreen.
29921
29922 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
29923
29924         Reviewed by Simon Hausmann.
29925
29926         Patch by Yongjun Zhang <yongjun.zhang@nokia.com> and
29927                  Girish Ramakrishnan <girish@forwardbias.in>
29928         
29929         [Qt] Implement support for rendering plugins on Qt/Mac when a page is used
29930         without a QWebView or when inside QGraphicsWebView.
29931         
29932         Currently, the code provides the cgcontext of the PlatformPluginWidget to
29933         the plugin. This approach does not work when we are printing, or using
29934         QWebFrame::render() to render to a QImage/QPixmap since the plugin ends
29935         up drawing on the QWebView (i.e platformPluginWidget's cgcontext) instead
29936         of the QPaintDevice's context.
29937         
29938         To solve all cases and keep the code simple, we render the plugin to an
29939         offscreen pixmap in all cases. This way, the plugin always renders to the
29940         CGContext of the pixmap and we then use QPainter to blit the pixmap into
29941         the QPaintDevice. We also create a fake window and set it's WindowRef in
29942         NPWindow. Only with this WindowRef does Flash paint correctly to the QPixmap.
29943         
29944         Now, that's the theory. In practice, ATM, mouse events do not work when using
29945         the fake window. So, setPlatformPluginWidget() is still called when using QWebView
29946         so that there are no regressions after this patch. Once we get mouse events
29947         working, setPlatformPluginWidget will be removed.
29948         
29949         https://bugs.webkit.org/show_bug.cgi?id=31183
29950
29951         * plugins/PluginView.cpp:
29952         (WebCore::PluginView::PluginView):
29953         * plugins/PluginView.h:
29954         * plugins/mac/PluginViewMac.cpp:
29955         (WebCore::PluginView::platformStart):
29956         (WebCore::PluginView::platformDestroy):
29957         (WebCore::PluginView::setNPWindowIfNeeded):
29958         (WebCore::PluginView::updatePluginWidget):
29959         (WebCore::PluginView::paint):
29960         (WebCore::PluginView::invalidateRect):
29961
29962 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
29963
29964         Reviewed by Timothy Hatcher.
29965
29966         Web Inspector: Resync Resources Backend and Frontend
29967         https://bugs.webkit.org/show_bug.cgi?id=31705
29968
29969         * inspector/front-end/Resource.js: resync enum values with backend
29970         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): return false if all else fails, not true in all cases
29971
29972 2009-11-19  Steve Block  <steveblock@google.com>
29973
29974         Reviewed by Darin Fisher.
29975
29976         Android port lacks configuration in Platform.h and config.h.
29977         https://bugs.webkit.org/show_bug.cgi?id=31671
29978
29979         Build change only. No new tests possible.
29980
29981         * config.h: Modified. Added Android-specific configuration.
29982
29983 2009-11-20  Roland Steiner  <rolandsteiner@chromium.org>
29984
29985         Reviewed by Darin Adler.
29986
29987         Change default stylesheet to reset text indentation for ruby elements by default.
29988         (https://bugs.webkit.org/show_bug.cgi?id=31247)
29989
29990         Test: fast/ruby/ruby-text-indent.html
29991
29992         * css/html.css: reset text-indent on <ruby> and <rt> elements
29993
29994 2009-11-19  Brian Weinstein  <bweinstein@apple.com>
29995
29996         Reviewed by Darin Adler.
29997
29998         Fixes <http://webkit.org/b/22754>.
29999         Web Inspector: Keyboard shortcut for Element finder.
30000
30001         Use Command + Shift + C as a shortcut for Node Search, to 
30002         match the Firebug shortcut to do the same thing.
30003
30004         * inspector/front-end/ElementsPanel.js:
30005         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
30006
30007 2009-11-19  Alexey Proskuryakov  <ap@apple.com>
30008
30009         Reviewed by Darin Adler.
30010
30011         https://bugs.webkit.org/show_bug.cgi?id=31690
30012         Make SocketStreamHandleCFNet work on Windows
30013
30014         * WebCore.vcproj/WebCore.vcproj: Added LoaderRunLoopCF.
30015
30016         * platform/network/ResourceHandle.h: Removed loaderRunLoop().
30017
30018         * platform/network/cf/LoaderRunLoopCF.cpp: Added.
30019         (WebCore::emptyPerform):
30020         (WebCore::runLoaderThread):
30021         (WebCore::loaderRunLoop):
30022         * platform/network/cf/LoaderRunLoopCF.h: Added.
30023         Moved the run loop that we use for CFNetwork from ResourceHandle to its own file, because
30024         it's needed for more than just resource loading.
30025
30026         * platform/network/cf/ResourceHandleCFNet.cpp: Use loaderRunLoop() from its new location.
30027
30028         * platform/network/cf/DNSCFNet.cpp: (WebCore::DNSResolveQueue::resolve): Ditto.
30029
30030         * platform/network/cf/SocketStreamHandle.h: Added static callbacks for forwarding events to
30031         main thread.
30032         * platform/network/cf/SocketStreamHandleCFNet.cpp:
30033         (WebCore::SocketStreamHandle::SocketStreamHandle): Use loaderRunLoop() on Windows instead of
30034         inoperable main run loop.
30035
30036         (WebCore::MainThreadEventCallbackInfo::MainThreadEventCallbackInfo): 
30037         (WebCore::SocketStreamHandle::readStreamCallback):
30038         (WebCore::SocketStreamHandle::writeStreamCallback):
30039         (WebCore::SocketStreamHandle::readStreamCallbackMainThread):
30040         (WebCore::SocketStreamHandle::writeStreamCallbackMainThread):
30041         Forward stream events to main thread on Windows.
30042
30043 2009-11-19  Avi Drissman  <avi@chromium.org>
30044
30045         Reviewed by Darin Adler.
30046
30047         Quick style fix.
30048         https://bugs.webkit.org/show_bug.cgi?id=27777
30049
30050         * platform/graphics/cg/PDFDocumentImage.cpp:
30051
30052 2009-11-19  Beth Dakin  <bdakin@apple.com>
30053
30054        Build fix. No review needed.
30055
30056         * platform/chromium/ScrollbarThemeChromium.cpp:
30057         (WebCore::ScrollbarThemeChromium::paintTickmarks):
30058         * rendering/RenderMediaControlsChromium.cpp:
30059         (WebCore::paintMediaButton):
30060
30061 2009-11-19  Beth Dakin  <bdakin@apple.com>
30062       
30063        Build fix. No review needed.
30064
30065         * rendering/RenderThemeChromiumSkia.cpp:
30066         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
30067         (WebCore::RenderThemeChromiumSkia::paintRadio):
30068         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
30069         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
30070         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
30071
30072 2009-11-19  Beth Dakin  <bdakin@apple.com>
30073
30074        Build fix. No review needed.
30075
30076         * platform/graphics/qt/StillImageQt.cpp:
30077         (WebCore::StillImage::draw):
30078         * platform/graphics/qt/StillImageQt.h:
30079
30080 2009-11-19  Beth Dakin  <bdakin@apple.com>
30081
30082        Build fix. No review needed.
30083
30084         * rendering/RenderThemeWin.cpp:
30085         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
30086         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
30087         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
30088
30089 2009-11-19  Beth Dakin  <bdakin@apple.com>
30090
30091        Build fix. No review needed.
30092
30093         * plugins/PluginView.cpp:
30094         (WebCore::PluginView::paintMissingPluginIcon):
30095
30096 2009-11-19  Beth Dakin  <bdakin@apple.com>
30097
30098         Build fix. No review needed.
30099
30100         * platform/graphics/win/ImageCGWin.cpp:
30101         (WebCore::BitmapImage::getHBITMAPOfSize):
30102         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
30103
30104 2009-11-19  Beth Dakin  <bdakin@apple.com>
30105
30106         Reviewed by Darin Adler.
30107
30108         Fix for https://bugs.webkit.org/show_bug.cgi?id=31321 Make -webkit-
30109         color-correction work with untagged images
30110
30111         Image's draw(), drawPattern(), and fillWithSolidColor() functions 
30112         now take a ColorSpace. A bunch of classes inherit from Image, so 
30113         draw() and drawPattern() functions there must also take a 
30114         ColorSpace.
30115         * platform/graphics/Image.cpp:
30116         (WebCore::Image::fillWithSolidColor):
30117         (WebCore::Image::drawTiled):
30118         * platform/graphics/Image.h:
30119         * platform/graphics/BitmapImage.h:
30120         * platform/graphics/GeneratedImage.cpp:
30121         (WebCore::GeneratedImage::draw):
30122         (WebCore::GeneratedImage::drawPattern):
30123         * platform/graphics/GeneratedImage.h:
30124         * platform/graphics/cg/PDFDocumentImage.cpp:
30125         (WebCore::PDFDocumentImage::draw):
30126         * platform/graphics/cg/PDFDocumentImage.h:
30127         * svg/graphics/SVGImage.cpp:
30128         (WebCore::SVGImage::draw):
30129         * svg/graphics/SVGImage.h:
30130
30131         All of the drawImage() functions and drawTiled() functions of 
30132         GraphicsContext now take a ColorSpace.
30133         * platform/graphics/GraphicsContext.cpp:
30134         (WebCore::GraphicsContext::drawImage):
30135         (WebCore::GraphicsContext::drawTiledImage):
30136         * platform/graphics/GraphicsContext.h:
30137
30138         This is where the actual work is done.
30139         * platform/graphics/cg/ImageCG.cpp:
30140         (WebCore::imageWithColorSpace): New static function that returns a 
30141         copy of the given image in the given ColorSpace *IF* we should use 
30142         the given ColorSpace. We will ignore the color space if the image 
30143         is tagged and return 0. 
30144         (WebCore::BitmapImage::draw): Now takes a ColorSpace and uses it to 
30145         call imageWithColorSpace(). 
30146         (WebCore::Image::drawPattern): Same.
30147
30148         Attempt to keep all ports building. 
30149         * platform/graphics/cairo/ImageCairo.cpp:
30150         (WebCore::BitmapImage::draw):
30151         (WebCore::Image::drawPattern):
30152         * platform/graphics/haiku/ImageHaiku.cpp:
30153         (WebCore::BitmapImage::draw):
30154         (WebCore::Image::drawPattern):
30155         * platform/graphics/qt/ImageQt.cpp:
30156         (WebCore::Image::drawPattern):
30157         (WebCore::BitmapImage::draw):
30158         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
30159         * platform/graphics/skia/ImageSkia.cpp:
30160         (WebCore::Image::drawPattern):
30161         (WebCore::BitmapImage::draw):
30162         (WebCore::BitmapImageSingleFrameSkia::draw):
30163         * platform/graphics/wx/ImageWx.cpp:
30164         (WebCore::BitmapImage::draw):
30165         (WebCore::BitmapImage::drawPattern):
30166
30167         Callers of GraphicsContext's drawImage() and drawTiled() functions 
30168         now need to send a ColorSpace.
30169         * html/HTMLCanvasElement.cpp:
30170         (WebCore::HTMLCanvasElement::paint):
30171         * html/canvas/CanvasRenderingContext2D.cpp:
30172         (WebCore::CanvasRenderingContext2D::drawImage):
30173         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
30174         * platform/ScrollView.cpp:
30175         (WebCore::ScrollView::wheelEvent):
30176         * platform/graphics/filters/FEColorMatrix.cpp:
30177         (WebCore::FEColorMatrix::apply):
30178         * platform/graphics/filters/FEComposite.cpp:
30179         (WebCore::FEComposite::apply):
30180         * platform/graphics/filters/SourceGraphic.cpp:
30181         (WebCore::SourceGraphic::apply):
30182         * platform/mac/ScrollbarThemeMac.mm:
30183         (WebCore::ScrollbarThemeMac::paint):
30184         * rendering/RenderBoxModelObject.cpp:
30185         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
30186         (WebCore::RenderBoxModelObject::paintNinePieceImage):
30187         * rendering/RenderImage.cpp:
30188         (WebCore::RenderImage::paintReplaced):
30189         * rendering/RenderLayer.cpp:
30190         (WebCore::RenderLayer::paintResizer):
30191         * rendering/RenderListMarker.cpp:
30192         (WebCore::RenderListMarker::paint):
30193         * rendering/RenderSVGImage.cpp:
30194         (WebCore::RenderSVGImage::paint):
30195         * rendering/RenderWidget.cpp:
30196         (WebCore::RenderWidget::paint):
30197         * svg/graphics/SVGPaintServerPattern.cpp:
30198         (WebCore::SVGPaintServerPattern::setup):
30199         * svg/graphics/SVGResourceFilter.cpp:
30200         (WebCore::SVGResourceFilter::applyFilter):
30201         * svg/graphics/filters/SVGFEMerge.cpp:
30202         (WebCore::FEMerge::apply):
30203         * svg/graphics/filters/SVGFEOffset.cpp:
30204         (WebCore::FEOffset::apply):
30205         * svg/graphics/filters/SVGFETile.cpp:
30206         (WebCore::FETile::apply):
30207
30208 2009-11-19  Avi Drissman  <avi@chromium.org>
30209
30210         Reviewed by Darin Adler.
30211
30212         Properly create a CGImageRef on non-PLATFORM(MAC).
30213         https://bugs.webkit.org/show_bug.cgi?id=27777
30214
30215         * platform/graphics/cg/ImageSourceCG.cpp:
30216         (WebCore::sharedBufferGetBytesAtPosition):
30217         (WebCore::sharedBufferRelease):
30218         (WebCore::ImageSource::setData):
30219         * platform/graphics/cg/ImageSourceCG.h:
30220         * platform/graphics/cg/PDFDocumentImage.cpp:
30221         (WebCore::PDFDocumentImage::dataChanged):
30222
30223 2009-11-19  Oliver Hunt  <oliver@apple.com>
30224
30225         Reviewed by Dave Hyatt.
30226
30227         -webkit-user-drag: element Drag images include overflow decorations from incorrect nodes
30228         https://bugs.webkit.org/show_bug.cgi?id=31656
30229
30230         Make sure we're a child of the painting root before drawing overflow features.
30231
30232         * manual-tests/user-drag-with-decorations.html: Added.
30233         * rendering/RenderBlock.cpp:
30234         (WebCore::RenderBlock::paint):
30235
30236 2009-11-19  Dmitry Titov  <dimich@chromium.org>
30237
30238         Not reviewed, attempt to fix Chromium build.
30239
30240         * rendering/RenderMediaControlsChromium.cpp:
30241         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Add new enum values for Show/HideClosedCaptionButton to make it compile.
30242
30243 2009-11-19  Rahul Kuchhal  <kuchhal@chromium.org>
30244
30245         Reviewed by Darin Adler.
30246
30247         Do not assert when a high number is used for roman numerals in lists.
30248         https://bugs.webkit.org/show_bug.cgi?id=31652
30249
30250         Test: fast/lists/ol-start-roman.html
30251
30252         * rendering/RenderListMarker.cpp:
30253         (WebCore::toRoman): Increase the char array size.
30254
30255 2009-11-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
30256
30257         Rubber-stamped by Oliver Hunt.
30258
30259         Add translatable strings to cover validationMessage, after
30260         r51172. Already covered by existing test.
30261
30262         * platform/gtk/LocalizedStringsGtk.cpp:
30263         (WebCore::validationMessageValueMissingText):
30264         (WebCore::validationMessageTypeMismatchText):
30265         (WebCore::validationMessagePatternMismatchText):
30266         (WebCore::validationMessageTooLongText):
30267         (WebCore::validationMessageRangeUnderflowText):
30268         (WebCore::validationMessageRangeOverflowText):
30269         (WebCore::validationMessageStepMismatchText):
30270
30271 2009-11-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30272
30273         Reviewed by Darin Adler.
30274
30275         Remove HAVE(FLOAT_H) guard
30276         https://bugs.webkit.org/show_bug.cgi?id=31661
30277
30278         WebCore has a dependency on float.h, there is
30279         no need to guard float.h.
30280
30281         No new tests as there is no functional change.
30282
30283         * html/HTMLInputElement.cpp: Remove include directive
30284         for float.h as it is included in MathExtras.h already.
30285
30286 2009-11-19  Simon Fraser  <simon.fraser@apple.com>
30287
30288         Reviewed by Pavel Feldman.
30289
30290         Instrumentation should account for painting in compositing layers
30291         https://bugs.webkit.org/show_bug.cgi?id=31674
30292
30293         Add calls to InspectorTimelineAgent for painting into compositing layers,
30294         which is not accounted for in FrameView::paintContents().
30295
30296         * rendering/RenderLayerBacking.cpp:
30297         (WebCore::RenderLayerBacking::paintIntoLayer):
30298         Avoid fetching the FrameView multiple times.
30299         
30300         (WebCore::inspectorTimelineAgent):
30301         (WebCore::RenderLayerBacking::paintContents):
30302
30303 2009-11-19  Eric Carlson  <eric.carlson@apple.com>
30304
30305         Reviewed by Dan Bernstein.
30306
30307         <rdar://problem/7035231>
30308         Support closed caption in <video> element
30309
30310         Test: media/media-captions.html
30311
30312         * WebCore.base.exp:
30313         * accessibility/AccessibilityMediaControls.cpp:
30314         (WebCore::AccessibilityMediaControl::controlTypeName):
30315             Define ShowClosedCaptionsButton and HideClosedCaptionsButton.
30316
30317         * css/CSSPrimitiveValueMappings.h:
30318         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
30319             Add MediaToggleClosedCaptionsButtonPart.
30320
30321         * css/CSSSelector.cpp:
30322         (WebCore::CSSSelector::extractPseudoType):
30323             Define and match mediaControlsToggleClosedCaptionsButton.
30324
30325         * css/CSSSelector.h:
30326         (WebCore::CSSSelector::):
30327         * css/CSSStyleSelector.cpp:
30328         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
30329             Define and match PseudoMediaControlsToggleClosedCaptions.
30330
30331         * css/CSSValueKeywords.in:
30332             Define and use media-toggle-closed-captions-button.
30333
30334         * css/mediaControls.css:
30335         * css/mediaControlsQuickTime.css:
30336             Add webkit-media-controls-toggle-closed-captions-button.
30337
30338         * html/HTMLMediaElement.cpp:
30339         (WebCore::HTMLMediaElement::HTMLMediaElement): 
30340             Initialize m_closedCaptionsVisible.
30341         (WebCore::HTMLMediaElement::loadInternal): 
30342             Set m_closedCaptionsVisible to false.
30343         (WebCore::HTMLMediaElement::hasClosedCaptions): 
30344         (WebCore::HTMLMediaElement::closedCaptionsVisible): 
30345         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): 
30346             New, captions internal methods.
30347         (WebCore::HTMLMediaElement::setWebkitClosedCaptionsVisible): 
30348         (WebCore::HTMLMediaElement::webkitClosedCaptionsVisible): 
30349         (WebCore::HTMLMediaElement::webkitHasClosedCaptions): 
30350             New, captions DOM API.
30351
30352         * html/HTMLMediaElement.h:
30353         * html/HTMLMediaElement.idl:
30354             Declare methods needed for captions API.
30355
30356         * platform/ThemeTypes.h:
30357             Add MediaToggleClosedCaptionsButtonPart.
30358
30359         * platform/android/LocalizedStringsAndroid.cpp:
30360         (WebCore::localizedMediaControlElementString):
30361         (WebCore::localizedMediaControlElementHelpText):
30362         (WebCore::localizedMediaTimeDescription):
30363             Add empty implmentations.
30364
30365         * platform/graphics/MediaPlayer.cpp:
30366         (WebCore::NullMediaPlayerPrivate::hasClosedCaptions):
30367         (WebCore::NullMediaPlayerPrivate::setClosedCaptionsVisible):
30368             New, empty implementations of media engine closed caption functions.
30369         (WebCore::MediaPlayer::hasClosedCaptions):
30370         (WebCore::MediaPlayer::setClosedCaptionsVisible):
30371             New, call media engine closed caption functions.
30372
30373         * platform/graphics/MediaPlayer.h:
30374         * platform/graphics/MediaPlayerPrivate.h:
30375         (WebCore::MediaPlayerPrivateInterface::hasClosedCaptions):
30376         (WebCore::MediaPlayerPrivateInterface::setClosedCaptionsVisible):
30377             Declare new media engine methods.
30378
30379         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
30380         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
30381         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
30382         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
30383             New, QTKit implementation of closed caption methods.
30384
30385         * platform/gtk/LocalizedStringsGtk.cpp:
30386         (WebCore::localizedMediaControlElementString):
30387         (WebCore::localizedMediaControlElementHelpText):
30388             Add help text for ShowClosedCaptionsButton and HideClosedCaptionsButton.
30389
30390         * platform/mac/WebCoreSystemInterface.h:
30391         * platform/mac/WebCoreSystemInterface.mm:
30392             Declare and initialize wkQTMovieHasClosedCaptions and wkQTMovieSetShowClosedCaptions.
30393
30394         * rendering/MediaControlElements.cpp:
30395         (WebCore::MediaControlInputElement::MediaControlInputElement):
30396             Deal with MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
30397         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
30398         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
30399         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
30400             New, implement the closed caption toggle button,
30401
30402         * rendering/MediaControlElements.h:
30403             Define MediaShowClosedCaptionsButton and MediaHideClosedCaptionsButton,
30404             declare MediaControlToggleClosedCaptionsButtonElement.
30405
30406         * rendering/RenderMedia.cpp:
30407         (WebCore::RenderMedia::styleDidChange):
30408         (WebCore::RenderMedia::createToggleClosedCaptionsButton):
30409         (WebCore::RenderMedia::createStatusDisplay):
30410         (WebCore::RenderMedia::updateControls):
30411         (WebCore::RenderMedia::forwardEvent):
30412         * rendering/RenderMedia.h:
30413             Deal with m_toggleClosedCaptionsButton.
30414
30415         * rendering/RenderTheme.cpp:
30416         (WebCore::RenderTheme::paint):
30417             Deal with MediaToggleClosedCaptionsButtonPart.
30418
30419         * rendering/RenderTheme.h:
30420         * rendering/RenderThemeMac.h:
30421             Declare paintMediaToggleClosedCaptionsButton.
30422
30423         * rendering/RenderThemeMac.mm:
30424         (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
30425             New.
30426         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
30427             Don't render captions toggle button unless we are using the new theme, the
30428             movie has captions, and the movie is in a <video> element since we currently
30429             rely on QTKit to render the captions.
30430
30431         * rendering/style/RenderStyleConstants.h:
30432             Define MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
30433
30434 2009-11-19  Kevin Ollivier  <kevino@theolliviers.com>
30435
30436         wx build fix. Add missing header.
30437
30438         * platform/wx/LocalizedStringsWx.cpp:
30439
30440 2009-11-19  Alexey Proskuryakov  <ap@apple.com>
30441
30442         Reviewed by Darin Adler.
30443
30444         https://bugs.webkit.org/show_bug.cgi?id=31634
30445         Ignore realm for proxy protection spaces
30446
30447         Only affects WebSocket proxy authentication, cannot be tested in DRT.
30448
30449         * platform/network/ProtectionSpace.cpp:
30450         (WebCore::operator==):
30451         * platform/network/ProtectionSpaceHash.h:
30452         (WebCore::ProtectionSpaceHash::hash):
30453
30454 2009-11-19  Olivier Goffart  <ogoffart@trolltech.com>
30455
30456         Reviewed by Simon Hausmann.
30457
30458         [Qt] Normalize signal and slot signatures.
30459
30460         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
30461         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
30462
30463 2009-11-19  Alexander Pavlov  <apavlov@chromium.org>
30464
30465         Reviewed by Pavel Feldman.
30466
30467         Store cookie domains in the WebInspector object
30468
30469         The cookie domains have been moved from StoragePanel into WebInspector.
30470         Also, the document URLs are now passed inside the WebInspector.addResource()
30471         payload rather than pushed directly from InspectorController.
30472         https://bugs.webkit.org/show_bug.cgi?id=31627
30473
30474         * inspector/InspectorController.cpp:
30475         (WebCore::InspectorController::populateScriptObjects):
30476         (WebCore::InspectorController::didFinishLoading):
30477         * inspector/InspectorFrontend.cpp:
30478         * inspector/InspectorFrontend.h:
30479         * inspector/InspectorResource.cpp:
30480         (WebCore::InspectorResource::createScriptObject):
30481         (WebCore::InspectorResource::updateScriptObject):
30482         * inspector/front-end/StoragePanel.js:
30483         (WebInspector.StoragePanel.prototype.reset):
30484         (WebInspector.StoragePanel.prototype.addCookieDomain):
30485         * inspector/front-end/inspector.js:
30486         (WebInspector.addResource):
30487         (WebInspector.addCookieDomain):
30488         (WebInspector.reset):
30489
30490 2009-11-19  Zoltan Horvath  <zoltan@webkit.org>
30491
30492         Reviewed by Darin Adler.
30493
30494         Allow custom memory allocation control for the other part of platform directory in WebCore
30495         https://bugs.webkit.org/show_bug.cgi?id=31585
30496
30497         Inherits the following classes from FastAllocBase because these are
30498         instantiated by 'new':
30499
30500         class RegularExpression    - instantiated at: WebCore/page/Frame.cpp:415
30501         class TransformationMatrix - instantiated at: WebCore/rendering/TransformState.cpp:62
30502         class Path                 - instantiated at: WebCore/html/HTMLAreaElement.cpp:73
30503         class FontPlatformData     - instantiated at: WebCore/platform/graphics/qt/FontCacheQt.cpp:188
30504
30505         Inherits the following classes from Noncopyable because these are
30506         instantiated by 'new' and no need to be copyable:
30507
30508         class Cursors                         - instantiated at: WebCore/platform/qt/CursorQt.cpp:146
30509         class NetworkStateNotifier            - instantiated at: WebCore/platform/network/NetworkStateNotifier.cpp:37
30510         struct CrossThreadResourceRequestData - instantiated at: WebCore/platform/network/ResourceRequestBase.cpp:71
30511
30512         class ImageDecoder - its child class is instantiated at: WebCore/platform/graphics/qt/ImageDecoderQt.cpp:46
30513         class MediaPlayerPrivateInterface - its child class is instantiated at: WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:119
30514
30515         * platform/graphics/MediaPlayerPrivate.h:
30516         * platform/graphics/Path.h:
30517         * platform/graphics/qt/FontPlatformData.h:
30518         * platform/graphics/transforms/TransformationMatrix.h:
30519         * platform/image-decoders/ImageDecoder.h:
30520         * platform/network/NetworkStateNotifier.h:
30521         * platform/network/ResourceRequestBase.h:
30522         * platform/qt/CursorQt.cpp:
30523         * platform/text/RegularExpression.h:
30524
30525 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30526
30527         Unreviewed.
30528
30529         [Qt] Build fix for QtWebKit after r51172.
30530
30531         * platform/qt/Localizations.cpp:
30532         (WebCore::validationMessageValueMissingText):
30533         (WebCore::validationMessageTypeMismatchText):
30534         (WebCore::validationMessagePatternMismatchText):
30535         (WebCore::validationMessageTooLongText):
30536         (WebCore::validationMessageRangeUnderflowText):
30537         (WebCore::validationMessageRangeOverflowText):
30538         (WebCore::validationMessageStepMismatchText):
30539
30540 2009-11-18  Dan Bernstein  <mitz@apple.com>
30541
30542         Reviewed by Simon Fraser.
30543
30544         Fixed <rdar://problem/7398987> Assertion failure in
30545         RenderLayer::updateClipRects when a plug-in’s enclosing layer is
30546         enclosed by a transformed layer
30547
30548         Tests: fast/layers/clip-rects-transformed-2.html
30549                fast/layers/clip-rects-transformed.html
30550
30551         * rendering/RenderLayer.cpp:
30552         (WebCore::RenderLayer::clippingRoot): Added. Finds the nearest ancestor
30553         that is either transformed or composited. During painting and hit
30554         testing, when a transformed or composited layer is hit, it becomes the
30555         new root layer, which ultimately gets passed to calculateRects().
30556         (WebCore::RenderLayer::childrenClipRect): Pass the clipping root as the
30557         root layer to calculateRects(), and return the bounding box of the
30558         transformed rectangle.
30559         (WebCore::RenderLayer::selfClipRect): Ditto.
30560         * rendering/RenderLayer.h:
30561
30562 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30563
30564         Reviewed by Kenneth Rohde Christiansen.
30565
30566         [Qt] Remove support for Qt v4.3 or older versions
30567         https://bugs.webkit.org/show_bug.cgi?id=29469
30568
30569         No new tests as there is no change if compiled with 
30570         Qt v4.4 or later version.
30571
30572         * WebCore.pro:
30573         * dom/XMLTokenizerQt.cpp:
30574         (WebCore::EntityResolver::resolveUndeclaredEntity):
30575         (WebCore::XMLTokenizer::XMLTokenizer):
30576         (WebCore::XMLTokenizer::~XMLTokenizer):
30577         (WebCore::XMLTokenizer::doWrite):
30578         (WebCore::XMLTokenizer::startDocument):
30579         (WebCore::XMLTokenizer::parseDtd):
30580         * platform/graphics/qt/FontQt.cpp:
30581         * platform/graphics/qt/FontQt43.cpp: Removed.
30582         * platform/graphics/qt/ImageQt.cpp:
30583         * platform/network/ResourceHandleInternal.h:
30584         * platform/network/qt/QNetworkReplyHandler.cpp:
30585         * platform/network/qt/QNetworkReplyHandler.h:
30586         * platform/network/qt/ResourceHandleQt.cpp:
30587         (WebCore::ResourceHandle::start):
30588         (WebCore::ResourceHandle::cancel):
30589         (WebCore::ResourceHandle::loadResourceSynchronously):
30590         (WebCore::ResourceHandle::setDefersLoading):
30591         * platform/network/qt/ResourceRequest.h:
30592         * platform/network/qt/ResourceRequestQt.cpp:
30593         * platform/qt/ClipboardQt.cpp:
30594         (WebCore::ClipboardQt::clearData):
30595         * platform/qt/CookieJarQt.cpp:
30596         (WebCore::cookieJar):
30597         (WebCore::setCookies):
30598         (WebCore::cookies):
30599         (WebCore::cookiesEnabled):
30600         * platform/qt/PlatformKeyboardEventQt.cpp:
30601         (WebCore::keyIdentifierForQtKeyCode):
30602         (WebCore::windowsKeyCodeForKeyEvent):
30603         * platform/text/qt/TextBoundaries.cpp:
30604         * platform/text/qt/TextBreakIteratorQt.cpp:
30605         * plugins/qt/PluginDataQt.cpp:
30606         (WebCore::PluginData::initPlugins):
30607
30608 2009-11-18  Michelangelo De Simone  <micdesim@gmail.com>
30609
30610         Reviewed by Darin Adler.
30611
30612         Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
30613         Support for validationMessage attribute, as per HTML5 specs.
30614
30615         Test: fast/forms/validationMessage.html
30616
30617         * html/HTMLButtonElement.idl: validationMessage attribute
30618         * html/HTMLFieldSetElement.idl: validationMessage attribute
30619         * html/HTMLFormControlElement.cpp:
30620         * html/HTMLFormControlElement.h:
30621         * html/HTMLInputElement.idl: validationMessage attribute
30622         * html/HTMLSelectElement.idl: validationMessage attribute
30623         * html/HTMLTextAreaElement.idl: validationMessage attribute
30624         * html/ValidityState.cpp: new method to retrieve pertinent localized text
30625         * html/ValidityState.h:
30626         * page/mac/WebCoreViewFactory.h:
30627         * platform/LocalizedStrings.h:
30628         * platform/android/LocalizedStringsAndroid.cpp:
30629         * platform/gtk/LocalizedStringsGtk.cpp:
30630         * platform/haiku/LocalizedStringsHaiku.cpp:
30631         * platform/mac/LocalizedStringsMac.mm:
30632         * platform/wx/LocalizedStringsWx.cpp:
30633
30634 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30635
30636         Unreviewed.
30637
30638         Fix a typo. Remove the trailing semicolon
30639         from an include directive after r51137.
30640
30641         No new tests as there is no functional change.
30642
30643         * platform/qt/QWebPageClient.h:
30644
30645 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30646
30647         Unreviewed.
30648
30649         [Qt] Build fix for QtWebKit after r51159.
30650
30651         Include float.h for DBL_MANT_DIG. Not sure why this
30652         is not a problem for other ports.
30653
30654         * html/HTMLInputElement.cpp:
30655
30656 2009-11-19  Roland Steiner  <rolandsteiner@chromium.org>
30657
30658         Reviewed by Darin Adler.
30659
30660         Bug 31574 -  Crashing bug when removing <ruby> element
30661         (https://bugs.webkit.org/show_bug.cgi?id=31574)
30662
30663         Cause of the bug:
30664         1.) RenderBlock::destroy() of the RenderRubyRun called destroyLeftoverChildren()
30665         2.) that called destroy() of the RenderRubyBase(), which in RenderObject::destroy() calls remove()
30666         3.) remove() is being redirected as parent()->removeChild() in RenderObject.h
30667         4.) this triggers the special handling of child removal in RenderRubyRun that
30668             causes it to destroy itself
30669         5.) On returning from all this the renderer crashes when accessing a member
30670             or virtual function on this now illegal object.
30671
30672         I therefore added a flag that tracks if the ruby run is being destroyed.
30673         If so, avoid doing the special handling in removeChild that caused this.
30674         It's not the most elegant solution, but the easiest to implement without
30675         touching unrelated code. Also, it's self-documenting.
30676
30677         Test: fast/ruby/ruby-remove.html
30678
30679         * rendering/RenderRubyRun.cpp:
30680         (WebCore::RenderRubyRun::RenderRubyRun):
30681         (WebCore::RenderRubyRun::destroy):
30682         (WebCore::RenderRubyRun::removeChild):
30683         * rendering/RenderRubyRun.h:
30684
30685 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30686
30687         Reviewed by Kenneth Rohde Christiansen.
30688
30689         [Qt] Remove WTF_USE_JAVASCRIPTCORE_BINDINGS as it is no longer used
30690         https://bugs.webkit.org/show_bug.cgi?id=31643
30691
30692         No new tests as there is no functional change.
30693
30694         * WebCore.pro:
30695
30696 2009-11-18  Yong Li  <yong.li@torchmobile.com>
30697
30698         Reviewed by Eric Seidel.
30699
30700         Implement TextBoundaries for WINCE port.
30701         https://bugs.webkit.org/show_bug.cgi?id=27371
30702
30703         * platform/text/wince/TextBoundariesWince.cpp: Added.
30704
30705 2009-11-18  Yong Li  <yong.li@torchmobile.com>
30706
30707         Reviewed by Eric Seidel.
30708
30709         Implement TextBreakIterator for WINCE port.
30710         https://bugs.webkit.org/show_bug.cgi?id=27371
30711
30712         * platform/text/wince/TextBreakIteratorWince.cpp: Added.
30713
30714 2009-11-18  Kent Tamura  <tkent@chromium.org>
30715
30716         Reviewed by Darin Adler.
30717
30718         Add support for ValidityState.typeMismatch for the following INPUT types:
30719           date datetime datetime-local month time week
30720         https://bugs.webkit.org/show_bug.cgi?id=31342
30721
30722         Tests: fast/forms/ValidityState-typeMismatch-date.html
30723                fast/forms/ValidityState-typeMismatch-datetime.html
30724                fast/forms/ValidityState-typeMismatch-datetimelocal.html
30725                fast/forms/ValidityState-typeMismatch-month.html
30726                fast/forms/ValidityState-typeMismatch-time.html
30727                fast/forms/ValidityState-typeMismatch-week.html
30728
30729         * html/HTMLInputElement.cpp:
30730         (WebCore::HTMLInputElement::formStringToISODateTime): Check the type
30731           validity of the specified type and string using the ISODateTime class.
30732         * html/HTMLInputElement.h:
30733         * html/ValidityState.cpp:
30734         (WebCore::ValidityState::typeMismatch): Check the type validity
30735           for date, datetime, datetime-local, month, time and week with
30736           HTMLInputElemtn::formStringToISODateTime()
30737
30738 2009-11-18  Maciej Stachowiak  <mjs@apple.com>
30739
30740         Reviewed by Oliver Hunt.
30741
30742         Fix REGRESSION (r47022): Performance of DocumentFragment.appendChild is 1000x slower sometimes
30743         https://bugs.webkit.org/show_bug.cgi?id=31237
30744         
30745         Also speeds up Dromaeo DOM Core tests by 1.31x.
30746
30747         * bindings/js/JSNodeCustom.cpp:
30748         (WebCore::JSNode::markChildren): Change marking algorithm to avoid O(N^2) behavior. The subtree
30749         mark bit was no longer effective; instead I changed things so only a node that has no ancestors
30750         with wrappers would do marking; there should be only one in the typical case (the root of the
30751         detached subtree).
30752         * dom/Node.cpp:
30753         (WebCore::Node::Node): Remove now useless m_inSubtreeMark bit and related functions.
30754         * dom/Node.h: ditto
30755
30756 2009-11-18  Darin Adler  <darin@apple.com>
30757
30758         Reviewed by Sam Weinig.
30759
30760         Get rid of the redundant strokeType and fillType data members on
30761         a GraphicsContext as well as the FillOrStrokeType enum. Use
30762         null pointers instead.
30763
30764         * platform/graphics/GraphicsContext.cpp:
30765         (WebCore::GraphicsContext::setStrokeColor): Null out the pattern
30766         and gradient.
30767         (WebCore::GraphicsContext::setFillColor): Ditto.
30768         (WebCore::GraphicsContext::setStrokePattern): Null out the graident.
30769         (WebCore::GraphicsContext::setFillPattern): Ditto.
30770         (WebCore::GraphicsContext::setStrokeGradient): Null out the pattern.
30771         (WebCore::GraphicsContext::setFillGradient): Ditto.
30772
30773         * platform/graphics/GraphicsContextPrivate.h: Remove all that stuff.
30774
30775         * platform/graphics/cairo/GraphicsContextCairo.cpp:
30776         (WebCore::setPlatformFill): Use null checks on fillPattern and
30777         fillGraident instead of a switch statement.
30778         (WebCore::setPlatformStroke): Ditto.
30779
30780         * platform/graphics/cg/GraphicsContextCG.cpp:
30781         (WebCore::GraphicsContext::applyStrokePattern): Removed unneeded get.
30782         (WebCore::GraphicsContext::applyFillPattern): Ditto.
30783         (WebCore::calculateDrawingMode): Use fillPattern and strokePattern
30784         to see if there is a pattern instead of fillType and strokeType.
30785         (WebCore::GraphicsContext::drawPath): Use fillGradient, strokeGradient,
30786         fillPattern, and strokePattern instead of fillType and strokeType.
30787         (WebCore::GraphicsContext::fillPath): Added FIXME about color space that
30788         is used in the pattern and gradient case probably erroneously. Moved
30789         gradient code inside an if statement. Streamlined pattern code and
30790         use an if statement. No switch any more.
30791         (WebCore::GraphicsContext::strokePath): Ditto.
30792         (WebCore::GraphicsContext::fillRect): Ditto.
30793         (WebCore::GraphicsContext::strokeRect): Ditto.
30794
30795         * platform/graphics/qt/GraphicsContextQt.cpp:
30796         (WebCore::GraphicsContext::fillPath): Use null checks on fillPattern and
30797         fillGraident instead of a switch statement.
30798         (WebCore::GraphicsContext::strokePath): Ditto.
30799         (WebCore::GraphicsContext::fillRect): Ditto.
30800
30801         * platform/graphics/wince/GraphicsContextWince.cpp:
30802         (WebCore::GraphicsContext::fillPath): Removed unneeded check of fillType.
30803         (WebCore::GraphicsContext::fillRect): Ditto.
30804
30805 2009-11-18  Kent Tamura  <tkent@chromium.org>
30806
30807         Reviewed by Darin Adler.
30808
30809         Support for step attribute and ValidityStae.stepMismatch for
30810         type=number and range.  stepMismatch will be false if the
30811         difference between the current value and a multiple of the step
30812         value is very small.
30813
30814         Change the behavior of RenderSlider so that it always has a value
30815         rounded to the step attribute value.
30816
30817         https://bugs.webkit.org/show_bug.cgi?id=31331
30818
30819         Tests: fast/forms/ValidityState-stepMismatch-number.html
30820                fast/forms/ValidityState-stepMismatch-range.html
30821                fast/forms/ValidityState-stepMismatch-unsupported.html
30822                fast/forms/input-step.html
30823
30824         * html/HTMLAttributeNames.in: Add "step".
30825         * html/HTMLInputElement.cpp:
30826         (WebCore::HTMLInputElement::stepMismatch):
30827         (WebCore::HTMLInputElement::getStepParameters):
30828         (WebCore::HTMLInputElement::getAllowedValueStep):
30829         * html/HTMLInputElement.h:
30830         * html/HTMLInputElement.idl: Add "step".
30831         * html/ValidityState.cpp:
30832         (WebCore::ValidityState::stepMismatch): Forward to HTMLInputElement::stepMismatch().
30833         * html/ValidityState.h:
30834         * rendering/RenderSlider.cpp:
30835         (WebCore::SliderRange::SliderRange):
30836         (WebCore::SliderRange::clampValue):
30837
30838 2009-11-18  Dmitry Titov  <dimich@chromium.org>
30839
30840         Reviewed by Darin Adler.
30841
30842         Need to ASSERT(isMainThread()) in ThreadShared methods.
30843         https://bugs.webkit.org/show_bug.cgi?id=31637
30844
30845         Added ASSERT(IsMainThread()) to all following methods:
30846         * platform/TreeShared.h:
30847         (WebCore::TreeShared::TreeShared):
30848         (WebCore::TreeShared::~TreeShared):
30849         (WebCore::TreeShared::ref):
30850         (WebCore::TreeShared::deref):
30851         (WebCore::TreeShared::setParent):
30852         (WebCore::TreeShared::parent):
30853
30854 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
30855
30856         Reviewed by Eric Seidel.
30857
30858         Add plugin visibility manual test
30859
30860         https://bugs.webkit.org/show_bug.cgi?id=31542
30861
30862         * manual-tests/plugins/windowed.html:
30863         * manual-tests/plugins/windowless.html:
30864
30865 2009-11-18  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
30866
30867         Reviewed by Pavel Feldman.
30868
30869         Web Inspector - remember last script displayed in Scripts panel
30870         https://bugs.webkit.org/show_bug.cgi?id=27552
30871
30872         Manual test added
30873         
30874         * inspector/front-end/ScriptsPanel.js:
30875         (WebInspector.ScriptsPanel.prototype.showScript):
30876         (WebInspector.ScriptsPanel.prototype.showResource):
30877         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
30878         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
30879         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
30880         (WebInspector.ScriptsPanel.prototype._goBack):
30881         (WebInspector.ScriptsPanel.prototype._goForward):
30882         * manual-tests/inspector/remember-last-script.html: Added.
30883
30884 2009-11-18  Shinichiro Hamaji  <hamaji@chromium.org>
30885
30886         Reviewed by Dimitri Glazkov.
30887
30888         Win chromium is slow to draw transparent texts
30889         https://bugs.webkit.org/show_bug.cgi?id=31258
30890
30891         Create bounded transparency layers instead of just clipping.
30892
30893         No new tests because this is just a performance improvement.
30894
30895         * platform/graphics/chromium/FontChromiumWin.cpp:
30896         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
30897
30898 2009-11-18  Shu Chang  <Chang.Shu@nokia.com>
30899
30900         Reviewed by Eric Seidel.
30901
30902         [Qt] Add support for displaying deleteButton.
30903         https://bugs.webkit.org/show_bug.cgi?id=31560
30904
30905         Test: LayoutTests/editing/deleting/5408255.html
30906
30907         * WebCore.qrc:
30908         * platform/graphics/qt/ImageQt.cpp:
30909         (loadResourcePixmap):
30910
30911 2009-11-18  Mikhail Naganov  <mnaganov@chromium.org>
30912
30913         Reviewed by Eric Seidel.
30914
30915         Fix Qt build without JavaScript debugger.
30916
30917         https://bugs.webkit.org/show_bug.cgi?id=31575
30918
30919         * page/Console.idl:
30920
30921 2009-11-18  Daniel Bates  <dbates@webkit.org>
30922
30923         Reviewed by Dave Hyatt.
30924
30925         https://bugs.webkit.org/show_bug.cgi?id=24971
30926         And
30927         <rdar://problem/7138265>
30928
30929         Fixes an issue where setting the height of a table row programmatically
30930         (via JavaScript) causes the table to be improperly rendered because the
30931         height of each row in the table is not recalculated with respect to the
30932         CSS height property.
30933
30934         In particular, programmatically setting the height of some table row causes
30935         the rows of that table to be rendered with a height equal to the minimum
30936         height required by the cells in that row, regardless of any specified cell
30937         heights. Instead, when RenderTableSection::recalcCells is called, the height
30938         of each row should be set to the CSS height property just as we do in
30939         RenderTableSection::addChild.
30940
30941         Test: fast/table/row-height-recalc2.html
30942
30943         * rendering/RenderTableSection.cpp:
30944         (WebCore::setRowHeightToRowStyleHeightIfNotRelative): Added.
30945         (WebCore::RenderTableSection::addChild): Moved code that set row height into
30946         method WebCore::setRowHeightToRowStyleHeightIfNotRelative.
30947         (WebCore::RenderTableSection::recalcCells): Modified to call
30948         WebCore::setRowHeightToRowStyleHeightIfNotRelative.
30949
30950 2009-11-18  Zoltan Horvath  <zoltan@webkit.org>
30951
30952         Reviewed by Darin Adler.
30953
30954         Allow custom memory allocation control for the part of platform directory in WebCore
30955         https://bugs.webkit.org/show_bug.cgi?id=31473
30956
30957         Inherits the following classes from FastAllocBase because these are
30958         instantiated by 'new':
30959
30960         class  AnimationList         - instantiated at WebCore/rendering/style/StyleRareNonInheritedData.cpp:85
30961         class  Color                 - instantiated at WebCore/rendering/RenderTheme.cpp:48
30962         struct Length                - instantiated at WebCore/platform/Length.cpp:103
30963         class  PlatformKeyboardEvent - instantiated at WebCore/dom/KeyboardEvent.cpp:63
30964         class  ContextMenuItem       - instantiated at WebCore/platform/ContextMenu.cpp:70
30965         class  DeprecatedPtrList     - instantiated at WebCore/rendering/RenderBlock.cpp:2284
30966
30967         Inherits the following classes from Noncopyable because these are
30968         instantiated by 'new' and no need to be copyable:
30969
30970         class  GraphicsContextPrivate - instantiated at WebCore/platform/graphics/GraphicsContext.cpp:78
30971         class  FontCache              - instantiated at WebCore/platform/graphics/qt/FontCacheQt.cpp:43
30972         struct MediaPlayerFactory     - instantiated at WebCore/platform/graphics/MediaPlayer.cpp:163
30973         class  DeprecatedPtrListNode  - instantiated at WebCore/platform/DeprecatedPtrListImpl.cpp:53
30974
30975         * platform/ContextMenuItem.h:
30976         * platform/DeprecatedPtrList.h:
30977         * platform/DeprecatedPtrListImpl.cpp:
30978         * platform/Length.h:
30979         * platform/PlatformKeyboardEvent.h:
30980         * platform/animation/AnimationList.h:
30981         * platform/graphics/Color.h:
30982         * platform/graphics/FontCache.h:
30983         * platform/graphics/GraphicsContextPrivate.h:
30984         * platform/graphics/MediaPlayer.cpp:
30985
30986 2009-11-18  Daniel Bates  <dbates@webkit.org>
30987
30988         Reviewed by Darin Adler.
30989
30990         https://bugs.webkit.org/show_bug.cgi?id=31186
30991
30992         Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
30993         m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
30994         These are more descriptive names so as to clear an ambiguity surrounding
30995         their usage. Also, renames associated setters and getters so that they
30996         coincide with the renamed fields.
30997
30998         No functionality was changed. So, no tests were included.
30999
31000         * bindings/objc/DOMHTML.mm:
31001         (-[DOMHTMLInputElement _isEdited]):
31002         (-[DOMHTMLTextAreaElement _isEdited]):
31003         * dom/Document.cpp:
31004         (WebCore::Document::setFocusedNode):
31005         * html/HTMLInputElement.cpp:
31006         (WebCore::HTMLInputElement::defaultEventHandler):
31007         * rendering/RenderTextControl.cpp:
31008         (WebCore::RenderTextControl::RenderTextControl):
31009         (WebCore::RenderTextControl::setInnerTextValue):
31010         (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
31011         (WebCore::RenderTextControl::subtreeHasChanged):
31012         * rendering/RenderTextControl.h:
31013         (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
31014         (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
31015         (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
31016         * rendering/RenderTextControlSingleLine.cpp:
31017         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
31018         * wml/WMLInputElement.cpp:
31019         (WebCore::WMLInputElement::defaultEventHandler):
31020
31021 2009-11-18  Tony Chang  <tony@chromium.org>
31022
31023         Reviewed by Adam Barth.
31024
31025         Remove V8CanvasPixelArrayCustom.cpp because it is no longer used by V8.
31026         https://bugs.webkit.org/show_bug.cgi?id=31499
31027
31028         No new tests, just a build cleanup.
31029
31030         * WebCore.gypi:
31031         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Removed.
31032         * bindings/v8/custom/V8CustomBinding.h:
31033
31034 2009-11-18  Kevin Watters  <kevinwatters@gmail.com>
31035
31036         Reviewed by Kevin Ollivier.
31037
31038         Enable wx plugin support using the Windows implementation as a base.
31039         
31040         https://bugs.webkit.org/show_bug.cgi?id=31636
31041
31042         * platform/graphics/GraphicsContext.h:
31043         (WebCore::GraphicsContext::inTransparencyLayer):
31044         * platform/graphics/wx/GraphicsContextWx.cpp:
31045         (WebCore::GraphicsContext::getWindowsContext):
31046         (WebCore::GraphicsContext::releaseWindowsContext):
31047         * platform/wx/FileSystemWx.cpp:
31048         (WebCore::unloadModule):
31049         (WebCore::listDirectory):
31050         * plugins/PluginDatabase.cpp:
31051         * plugins/PluginView.cpp:
31052         (WebCore::PluginView::stop):
31053         (WebCore::PluginView::PluginView):
31054         * plugins/PluginView.h:
31055         * plugins/win/PluginViewWin.cpp:
31056         (windowHandleForPageClient):
31057         (WebCore::PluginView::handleMouseEvent):
31058         (WebCore::PluginView::platformStart):
31059         (WebCore::PluginView::snapshot):
31060         * wscript:
31061
31062 2009-11-18  Andrei Popescu  <andreip@google.com>
31063
31064         Reviewed by Dimitri Glazkov.
31065
31066         [Android] Add shared timer and sound utilities to platform/android
31067         https://bugs.webkit.org/show_bug.cgi?id=31584
31068
31069         No new tests required, this is platform specific code.
31070
31071         * platform/android/SharedTimerAndroid.cpp: Added.
31072         (WebCore::setSharedTimerFiredFunction):
31073         (WebCore::setSharedTimerFireTime):
31074         (WebCore::stopSharedTimer):
31075         * platform/android/SoundAndroid.cpp: Added.
31076         (WebCore::systemBeep):
31077
31078 2009-11-18  Mikhail Naganov  <mnaganov@chromium.org>
31079
31080         Reviewed by Timothy Hatcher.
31081
31082         Fix profile tree nodes loss after focus / restore actions.
31083
31084         Focusing on a node is currently implemented via nodes reattaching
31085         with some caching involved. It seems that not all code was updated
31086         to handle this scenario correctly.
31087
31088         https://bugs.webkit.org/show_bug.cgi?id=31553
31089
31090         * inspector/front-end/BottomUpProfileDataGridTree.js:
31091         (WebInspector.BottomUpProfileDataGridNode):
31092         (WebInspector.BottomUpProfileDataGridNode.prototype._restore):
31093         (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
31094         (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren):
31095         * inspector/front-end/DataGrid.js:
31096         (WebInspector.DataGrid.prototype.insertChild):
31097         (WebInspector.DataGridNode.prototype._detach):
31098         (WebInspector.DataGridNode.prototype.savePosition):
31099         (WebInspector.DataGridNode.prototype.restorePosition):
31100         * inspector/front-end/TopDownProfileDataGridTree.js:
31101         (WebInspector.TopDownProfileDataGridTree.prototype.focus):
31102         (WebInspector.TopDownProfileDataGridTree.prototype.restore):
31103
31104 2009-11-18  Carol Szabo  <carol.szabo@nokia.com>
31105
31106         Reviewed by Kenneth Rohde Christiansen.
31107
31108         [Qt] QWebPageClient.h needs in some cases QCursor, but it does not
31109         include it 
31110         https://bugs.webkit.org/show_bug.cgi?id=31527
31111
31112         No new tests as this is just a coding style fix that affects the 
31113         build of some not yet submitted patches (i.e. for bug 30173).
31114
31115         * platform/qt/QWebPageClient.h:
31116
31117 2009-11-18  Nicolas Roard   <nicolas@roard.com>
31118
31119         Reviewed by Dimitri Glazkov.
31120
31121         InspectorTimelineAgent.h should be guarded by ENABLE(INSPECTOR)
31122         https://bugs.webkit.org/show_bug.cgi?id=31504
31123
31124         * inspector/InspectorTimelineAgent.h:Added the guard.
31125
31126 2009-11-18  Jens Alfke  <snej@chromium.org>
31127
31128         Build fix to my previous checkin, for Windows Chromium
31129
31130         * svg/SVGAnimatedProperty.h:
31131         (WebCore::PropertySynchronizer::synchronize): Fix implicit-conversion error on AtomicString.
31132
31133 2009-11-18  Joseph Pecoraro  <joepeck@webkit.org>
31134
31135         Reviewed by Pavel Feldman.
31136
31137         Web Inspector: Directly Access <head> Instead of Searching for It
31138         https://bugs.webkit.org/show_bug.cgi?id=31641
31139         
31140         Changed old access of the head element (document.getElementsByTagName)
31141         to just use the document.head accessor.
31142
31143         * inspector/front-end/FontView.js:
31144         (WebInspector.FontView):
31145         * inspector/front-end/InjectedScript.js:
31146         (InjectedScript.addStyleSelector):
31147         * inspector/front-end/SourceFrame.js:
31148         (WebInspector.SourceFrame.prototype._loaded):
31149         * inspector/front-end/inspector.js:
31150         (windowLoaded):
31151
31152 2009-11-18  Sam Weinig  <sam@webkit.org>
31153
31154         Reviewed by Anders Carlsson.
31155
31156         Fix two Geolocation assertions.
31157
31158         * page/Chrome.cpp:
31159         (WebCore::Chrome::requestGeolocationPermissionForFrame): No need to use PageGroupLoadDeferrer since this
31160         is not called from JS. 
31161         * page/Geolocation.cpp:
31162         (WebCore::Geolocation::Watchers::set): The PassRefPtr was getting nulled out, so we need to put it in
31163         a RefPtr first.
31164
31165 2009-11-18  Alexey Proskuryakov  <ap@apple.com>
31166
31167         Case sensitive file system build fix.
31168
31169         * platform/network/Credential.h: It's not WTF, just wtf.
31170
31171 2009-11-18  Aaron Golden  <agolden@apple.com>
31172
31173         Reviewed by Alexey Proskuryakov.
31174
31175         Add support for certificates to WebCore::Credential so we can convert between NSURLCredential
31176         objects and WebCore::Credential objects without losing certificate information.
31177
31178         * platform/network/Credential.cpp:
31179         (WebCore::Credential::Credential):  Adding a constructor that takes an identity argument and a certificate chain argument
31180         (WebCore::Credential::isEmpty):  Modifying isEmpty to support certificate based credentials (which don't have a username or password)
31181         (WebCore::Credential::identity): Accessor for the m_identity property
31182         (WebCore::Credential::certificates): Accessor for the m_certificates property
31183         (WebCore::Credential::type):  Accessor for the m_type property
31184         (WebCore::operator==):  Modifying == to compare the identity and certificate chains of certificate based credentials.
31185         * platform/network/Credential.h:  Adding new fields to WebCore::Credential to support certificate based credentials.
31186         * platform/network/mac/AuthenticationMac.mm:
31187         (WebCore::mac):  Modifying the mac() conversion method to correctly convert certificate based WebCore::Credential objects.
31188         (WebCore::core):  Modifying the core() conversion method to correctly convert certificate based NSURLCredential objects.
31189
31190 2009-11-18  Dmitry Titov  <dimich@chromium.org>
31191
31192         Reviewed by Eric Seidel.
31193
31194         Reverting r50919 that has introduced a non-thread-safe refcounting in ScriptExecutionContext::postTaskToMainThread.
31195         https://bugs.webkit.org/show_bug.cgi?id=31615
31196
31197         * dom/Document.cpp:
31198         (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
31199         (WebCore::ScriptExecutionContextTaskTimer::fired):
31200         (WebCore::PerformTaskContext::PerformTaskContext):
31201         (WebCore::performTask):
31202         (WebCore::Document::postTask):
31203         * dom/ScriptExecutionContext.cpp:
31204         * dom/ScriptExecutionContext.h:
31205
31206 2009-11-18  Jens Alfke  <snej@chromium.org>
31207
31208         Reviewed by Darin Adler.
31209
31210         Eliminate unnecessary String-->AtomicString conversions from generated V8 bindings,
31211         by causing the right v8-to-WebCore conversion function to be called for every parameter.
31212         This no longer requires any IDL metadata, so I've removed the [HintAtomic] annotations.
31213         To enforce correctness, I added a mode that disables implicit
31214         String-->AtomicString conversions while compiling the generated bindings.
31215         https://bugs.webkit.org/show_bug.cgi?id=31168
31216
31217         * bindings/scripts/CodeGeneratorV8.pm:  Generate usage of V8Parameter class.
31218         * bindings/v8/DerivedSourcesAllInOne.cpp:  Enable NO_IMPLICIT_ATOMICSTRING.
31219         * bindings/v8/V8Binding.h:  Add V8Parameter class.
31220         * css/WebKitCSSKeyframesRule.h:  Make AtomicString conversions explicit.
31221         * dom/Document.idl:  Remove obsolete [HintAtomic] annotation.
31222         * platform/text/AtomicString.h:  Added NO_IMPLICIT_ATOMICSTRING option.
31223         * svg/SVGAnimatedTemplate.h:  Change some return types to String to avoid implicit conversion.
31224         * svg/SVGAnimatedProperty.h: Adapt to changed return types in SVGAnimatedTemplate.
31225
31226 2009-11-18  Darin Adler  <darin@apple.com>
31227
31228         Reviewed by Dan Bernstein.
31229
31230         Move FillOrStrokeType out of public header.
31231
31232         * platform/graphics/GraphicsContext.h: Updated copyright date to cover
31233         some years we published Apple changes, sorted forward declarations,
31234         removed FillOrStrokeType enum.
31235         * platform/graphics/GraphicsContextPrivate.h: Updated copyright date
31236         to cover some years we published Apple changes, sorted includes,
31237         moved FillOrStrokeType enum here.
31238
31239 2009-11-18  Chris Marrin  <cmarrin@apple.com>
31240
31241         Reviewed by Simon Fraser.
31242
31243         Add Settings for WebKitShowDebugBorders and WebKitShowRepaintCounter
31244         https://bugs.webkit.org/show_bug.cgi?id=31601
31245
31246         These are used to debug accelerated compositing layers. I removed
31247         the platform specific code from GraphicsLayerCA.mm and added calls
31248         to GraphicsLayerClient to get it from the higher levels. The values 
31249         now get cached in RenderLayerCompositing and are queried from there
31250         by RenderLayerBacking (which implements the GraphicsLayerClient interface).
31251
31252         * WebCore.base.exp:
31253         * page/FrameView.cpp:
31254         (WebCore::FrameView::updateCompositingLayers):
31255         * page/Settings.cpp:
31256         (WebCore::Settings::Settings):
31257         (WebCore::Settings::setShowDebugBorders):
31258         (WebCore::Settings::setShowRepaintCounter):
31259         * page/Settings.h:
31260         (WebCore::Settings::showDebugBorders):
31261         (WebCore::Settings::showRepaintCounter):
31262         * platform/graphics/GraphicsLayer.h:
31263         (WebCore::GraphicsLayer::showDebugBorders):
31264         (WebCore::GraphicsLayer::showRepaintCounter):
31265         * platform/graphics/GraphicsLayerClient.h:
31266         * platform/graphics/mac/GraphicsLayerCA.mm:
31267         * rendering/RenderLayerBacking.cpp:
31268         (WebCore::RenderLayerBacking::showDebugBorders):
31269         (WebCore::RenderLayerBacking::showRepaintCounter):
31270         * rendering/RenderLayerBacking.h:
31271         * rendering/RenderLayerCompositor.cpp:
31272         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
31273         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
31274         * rendering/RenderLayerCompositor.h:
31275         (WebCore::RenderLayerCompositor::showDebugBorders):
31276         (WebCore::RenderLayerCompositor::showRepaintCounter):
31277
31278 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
31279
31280         Reviewed by Timothy Hatcher.
31281
31282         Web Inspector: Get rid of metrics and properties sidebars'
31283         flickering.
31284
31285         https://bugs.webkit.org/show_bug.cgi?id=31629
31286
31287         * inspector/front-end/MetricsSidebarPane.js:
31288         * inspector/front-end/PropertiesSidebarPane.js:
31289
31290 2009-11-17  Brian Weinstein  <bweinstein@apple.com>
31291
31292         Reviewed by Pavel Feldman.
31293
31294         Fixes <http://webkit.org/b/31606>.
31295         Web Inspector: Enter/Return key should enter edit mode for Editable Fields.
31296         
31297         This implements Enter starting editing mode in an editable DataGrid. If the
31298         DataGrid is editable and the user hits return, startEditing the first child
31299         of the selected node. Also refactored some editing functions to take an 
31300         event target instead of the event itself, because the functions only needed
31301         the target. Lastly, added had return in editing mode stop propogation, because
31302         when enter was hit to confirm text, it would propagate back to the datagrid
31303         and try to start editing again.
31304
31305         * inspector/front-end/DataGrid.js:
31306         (WebInspector.DataGrid.prototype._ondblclick):
31307         (WebInspector.DataGrid.prototype._startEditing):
31308         (WebInspector.DataGrid.prototype.handleKeyEvent):
31309         (WebInspector.DataGrid.prototype.dataGridNodeFromEvent):
31310         (WebInspector.DataGrid.prototype._mouseDownInDataTable):
31311         (WebInspector.DataGrid.prototype._clickInDataTable):
31312         * inspector/front-end/inspector.js:
31313         (WebInspector.startEditing.element.handleKeyEvent):
31314         (WebInspector.startEditing):
31315
31316 2009-11-18  Ben Murdoch  <benm@google.com>
31317
31318         Reviewed by Darin Adler.
31319
31320         HTMLAnchorElement is inconsistent with its internal handling of the value returned for the href attribute.
31321         https://bugs.webkit.org/show_bug.cgi?id=31593
31322
31323         Test: fast/dom/HTMLAnchorElement/set-href-attribute-whitespace.html
31324
31325         * html/HTMLAnchorElement.cpp:
31326         (WebCore::HTMLAnchorElement::href): Add call to deprecatedParseURL.
31327
31328 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
31329
31330         Not reviewed. Touch InspectorController so that frontend
31331         JS files are deployed on Windows.
31332
31333         * inspector/InspectorController.cpp:
31334
31335 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
31336
31337         Reviewed by Timothy Hatcher.
31338
31339         Web Inspector: clone timeline records array instead of
31340         copying reference on invalidate all.
31341
31342         https://bugs.webkit.org/show_bug.cgi?id=31596
31343
31344         * inspector/front-end/AbstractTimelinePanel.js:
31345         (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems):
31346
31347 2009-11-18  Simon Fraser  <simon.fraser@apple.com>
31348
31349         Reviewed by Dan Bernstein.
31350
31351         Elements don't drop out of compositing layers when animation ends
31352         https://bugs.webkit.org/show_bug.cgi?id=31613
31353         <rdar://problem/7402913>
31354
31355         Avoid setting the mustOverlapCompositedLayers flag on RenderLayers which
31356         are compositing anyway for other reasons. Doing so can cause those layers
31357         to stay in compositing mode even after animations finish, because needsToBeComposited()
31358         continues to return true.
31359         
31360         No new tests because it's not possible to determine which elements are in
31361         compositing layers from DRT output.
31362
31363         * rendering/RenderLayerCompositor.cpp:
31364         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
31365
31366 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
31367
31368         Reviewed by Tor Arne Vestbø.
31369
31370         [Qt] Mac Plugins: Remove null timer
31371         
31372         A null timer was used to send mouse move events. Instead, we now use
31373         move events to send nullEvent. This brings down CPU usage by 20-30%.
31374         
31375         https://bugs.webkit.org/show_bug.cgi?id=31624
31376
31377         * plugins/PluginView.h:
31378         * plugins/mac/PluginViewMac.cpp:
31379         (WebCore::PluginView::platformStart):
31380         (WebCore::PluginView::handleMouseEvent):
31381
31382 2009-11-18  Benjamin Poulain  <benjamin.poulain@nokia.com>
31383
31384         Reviewed by Simon Hausmann.
31385
31386         [Qt] WebKit crashes when loading certain SVG images
31387
31388         Check if the familly exist before creating the PlatformData from it.
31389
31390         https://bugs.webkit.org/show_bug.cgi?id=29443
31391
31392         Test: svg/text/text-font-invalid.html
31393
31394         * platform/graphics/qt/FontFallbackListQt.cpp:
31395         (WebCore::FontFallbackList::fontDataAt):
31396
31397 2009-11-17  Nicolas Weber  <thakis@chromium.org>
31398
31399         Reviewed by Darin Fisher.
31400
31401         Fix crash in Chromium/Mac where dropdowns weren't dismissed correctly
31402         after navigation.
31403         https://bugs.webkit.org/show_bug.cgi?id=31609
31404
31405         * platform/chromium/PopupMenuChromium.cpp:
31406         (WebCore::PopupContainer::showExternal): Set parent for external
31407         dropdowns, so that |PopupListBox::hidePopup()| can successfully notify
31408         its parent's client.
31409
31410 2009-11-17  Hayato Ito  <hayato@google.com>
31411
31412         Reviewed by Darin Adler.
31413
31414         Avoid infinite mutual recursion when deeply nested tags are loaded
31415         https://bugs.webkit.org/show_bug.cgi?id=30651
31416
31417         Test: fast/parser/block-nesting-cap-table.html
31418
31419         * html/HTMLParser.cpp:
31420         (WebCore::HTMLParser::parseToken):
31421         (WebCore::tagPriorityOfNode):
31422         (WebCore::HTMLParser::limitBlockDepth):
31423         (WebCore::HTMLParser::insertNodeAfterLimitBlockDepth):
31424         (WebCore::HTMLParser::insertNode):
31425         * html/HTMLParser.h:
31426
31427 2009-11-17  Brent Fulgham  <bfulgham@webkit.org>
31428
31429         Rubber-stamped by Alexey Proskuryakov.
31430
31431         Final clean-ups for minor coding standard violations.
31432         https://bugs.webkit.org/show_bug.cgi?id=26102.
31433
31434         * platform/graphics/cairo/GraphicsContextCairo.cpp:
31435
31436 2009-11-17  Johnny Ding  <jnd@chromium.org>
31437
31438         Reviewed by Darin Adler.
31439
31440         In all valid script tags for JavaScript, the event handler in <script...for> should not get executed.
31441         https://bugs.webkit.org/show_bug.cgi?id=31567
31442
31443         * dom/ScriptElement.cpp:
31444         (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
31445
31446 2009-11-17  Pavel Feldman  <pfeldman@chromium.org>
31447
31448         Reviewed by Timothy Hatcher.
31449
31450         Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
31451         - Updated DRT to show/close inspector for all tests under /inspector
31452         - Introduced LayoutTestController::setTimelineProfilingEnabled and
31453           WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
31454         - Removed reload on each inspector test
31455         - Renamed fast/inspector to fast/inspector-support in order not to trigger
31456         inspector for those.
31457         - Reimplemented timeline tests in order to get rid of reload there.
31458         - Moved tests that don't require harness into the fast group.
31459
31460         https://bugs.webkit.org/show_bug.cgi?id=31472
31461
31462         * WebCore.Inspector.exp:
31463         * inspector/front-end/TimelinePanel.js:
31464         (WebInspector.TimelinePanel.prototype._formatRecord):
31465
31466 2009-11-17  Andrei Popescu  <andreip@google.com>
31467
31468         Reviewed by Dimitri Glazkov.
31469
31470         [Android] Android is missing the implementation of the GeolocationService iface.
31471         https://bugs.webkit.org/show_bug.cgi?id=31554
31472
31473         No new tests required as this is platform specific code.
31474
31475         * platform/android/GeolocationServiceAndroid.cpp: Added.
31476         (WebCore::GeolocationServiceAndroid::create):
31477         (WebCore::GeolocationServiceAndroid::GeolocationServiceAndroid):
31478         (WebCore::GeolocationServiceAndroid::startUpdating):
31479         (WebCore::GeolocationServiceAndroid::stopUpdating):
31480         (WebCore::GeolocationServiceAndroid::suspend):
31481         (WebCore::GeolocationServiceAndroid::resume):
31482         (WebCore::GeolocationServiceAndroid::newPositionAvailable):
31483         (WebCore::GeolocationServiceAndroid::newErrorAvailable):
31484         (WebCore::GeolocationServiceAndroid::timerFired):
31485         (WebCore::GeolocationServiceAndroid::isPositionMovement):
31486         (WebCore::GeolocationServiceAndroid::isPositionMoreAccurate):
31487         (WebCore::GeolocationServiceAndroid::isPositionMoreTimely):
31488         * platform/android/GeolocationServiceAndroid.h: Added.
31489         (WebCore::GeolocationServiceAndroid::~GeolocationServiceAndroid):
31490         (WebCore::GeolocationServiceAndroid::lastPosition):
31491         (WebCore::GeolocationServiceAndroid::lastError):
31492         * platform/android/GeolocationServiceBridge.cpp: Added.
31493         (WebCore::):
31494         (WebCore::GeolocationServiceBridge::GeolocationServiceBridge):
31495         (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
31496         (WebCore::GeolocationServiceBridge::start):
31497         (WebCore::GeolocationServiceBridge::stop):
31498         (WebCore::GeolocationServiceBridge::setEnableGps):
31499         (WebCore::GeolocationServiceBridge::newLocationAvailable):
31500         (WebCore::GeolocationServiceBridge::newErrorAvailable):
31501         (WebCore::GeolocationServiceBridge::toGeoposition):
31502         (WebCore::GeolocationServiceBridge::startJavaImplementation):
31503         (WebCore::GeolocationServiceBridge::stopJavaImplementation):
31504         * platform/android/GeolocationServiceBridge.h: Added.
31505
31506 2009-11-16  Kent Tamura  <tkent@chromium.org>
31507
31508         Unreviewd build fix.
31509
31510         - Fix typo in WebCore.vcproj.
31511         - Intlude limits.h for INT_MAX.
31512         - Enclose with parenthesis to suspress warning.
31513
31514         * WebCore.vcproj/WebCore.vcproj:
31515         * html/ISODateTime.cpp:
31516         (WebCore::ISODateTime::addDay):
31517
31518 2009-11-16  Robin Dunn  <robin@alldunn.com>
31519
31520         Reviewed by Kevin Ollivier.
31521
31522         Make sure wx scrollbar drawing code factors in transforms when switching backends,
31523         fix calcs for scrollbar length, and tweak the Mac scrollbar tracking rects.
31524         
31525         https://bugs.webkit.org/show_bug.cgi?id=31570
31526
31527         * platform/wx/ScrollbarThemeWx.cpp:
31528         (WebCore::ScrollbarThemeWx::minimumThumbLength):
31529         (WebCore::ScrollbarThemeWx::splitTrack):
31530         (WebCore::ScrollbarThemeWx::forwardButtonRect):
31531         * platform/wx/ScrollbarThemeWx.h:
31532         * platform/wx/wxcode/gtk/scrollbar_render.cpp:
31533         (wxRenderer_DrawScrollbar):
31534         * platform/wx/wxcode/scrollbar_render.h:
31535         (calcThumbStartAndLength):
31536         * platform/wx/wxcode/win/scrollbar_render.cpp:
31537         (wxRenderer_DrawScrollbar):
31538
31539 2009-11-16  Kent Tamura  <tkent@chromium.org>
31540
31541         Reviewed by David Levin.
31542
31543         Introduce WebCore::ISODateTime class.
31544         https://bugs.webkit.org/show_bug.cgi?id=31340
31545
31546         This class represents a value of date/time types of the HTML5 INPUT
31547         element, and has some parsing methods for ISO 8601.
31548
31549         This change has no tests because the class is not used yet.
31550
31551         * GNUmakefile.am: Add ISODateTime.cpp and ISODateTime.h.
31552         * WebCore.gypi: ditto.
31553         * WebCore.pro: ditto.
31554         * WebCore.vcproj/WebCore.vcproj: ditto.
31555         * WebCore.xcodeproj/project.pbxproj: ditto.
31556         * WebCoreSources.bkl: ditto.
31557         * html/ISODateTime.cpp: Added. Implementation of WebCore::ISODateTime class.
31558         (WebCore::isLeapYear):
31559         (WebCore::maxDayOfMonth):
31560         (WebCore::dayOfWeek):
31561         (WebCore::ISODateTime::maxWeekNumberInYear):
31562         (WebCore::countDigits):
31563         (WebCore::toInt):
31564         (WebCore::ISODateTime::parseYear): Private helper for parseDate() and parseWeek().
31565         (WebCore::ISODateTime::addDay): Private helper for parseTimeZone().
31566         (WebCore::ISODateTime::addMinute): ditto.
31567         (WebCore::ISODateTime::parseTimeZone): Private helper for parseDateTime().
31568         (WebCore::ISODateTime::parseMonth): Parser for <input type=month>.
31569         (WebCore::ISODateTime::parseDate): Parser for <input type=date>.
31570         (WebCore::ISODateTime::parseWeek): Parser for <input type=week>.
31571         (WebCore::ISODateTime::parseTime): Parser for <input type=time>.
31572         (WebCore::ISODateTime::parseDateTimeLocal): Parser for <input type=datetime-local>.
31573         (WebCore::ISODateTime::parseDateTime): Parser for <input type=datetime>.
31574         * html/ISODateTime.h: Added.  Declare WebCore::ISODateTime class.
31575         (WebCore::ISODateTime::ISODateTime):
31576         (WebCore::ISODateTime::millisecond):
31577         (WebCore::ISODateTime::second):
31578         (WebCore::ISODateTime::minute):
31579         (WebCore::ISODateTime::hour):
31580         (WebCore::ISODateTime::monthDay):
31581         (WebCore::ISODateTime::month):
31582         (WebCore::ISODateTime::fullYear):
31583         (WebCore::ISODateTime::week):
31584
31585 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
31586
31587         Fix a typo in previous commit.
31588
31589         * platform/network/cf/SocketStreamHandleCFNet.cpp: #ifdef, not #if.
31590
31591 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
31592
31593         Fix a typo in previous commit.
31594
31595         * platform/network/cf/SocketStreamHandleCFNet.cpp:
31596
31597 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
31598
31599         Tiger build fix.
31600
31601         * platform/network/cf/SocketStreamHandleCFNet.cpp: Define CFN_EXPORT, as this macro was named
31602         differently in Tiger CFNetwork.
31603
31604 2009-11-16  Dimitri Glazkov  <dglazkov@chromium.org>
31605
31606         Reviewed by Darin Fisher.
31607
31608         [KURLGoogle] setHostAndPort doesn't handle arguments without port correctly.
31609
31610         Fix a bug in the code that was dormant until http://trac.webkit.org/changeset/50784.
31611
31612         Covered by existing test: LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-host.html
31613
31614         * platform/KURLGoogle.cpp:
31615         (WebCore::KURL::setHostAndPort): Added handling of arguments without port specified.
31616
31617 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
31618
31619         Rubber-stamped by Jon Honeycutt.
31620
31621         A better Windows build fix
31622
31623         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
31624         Use a macro that inserts __declspec(dllimport) when appropriate for CFNetwork imports.
31625
31626 2009-11-16  Yael Aharon  <yael.aharon@nokia.com>
31627
31628         Reviewed by Darin Adler.
31629
31630         Rename protocolIsValid to isValidProtocol.
31631         https://bugs.webkit.org/show_bug.cgi?id=31503
31632
31633         This name change was suggested in https://bugs.webkit.org/show_bug.cgi?id=29972#c19.
31634
31635         No new tests since no new functionality was introduced.
31636
31637         * html/HTMLAnchorElement.cpp:
31638         (WebCore::HTMLAnchorElement::setProtocol):
31639         * platform/KURL.cpp:
31640         (WebCore::isValidProtocol):
31641         * platform/KURL.h:
31642         * platform/KURLGoogle.cpp:
31643         (WebCore::isValidProtocol):
31644
31645 2009-11-16  Chris Fleizach  <cfleizach@apple.com>
31646
31647         Reviewed by Beth Dakin.
31648
31649         AX: aria-labelledby duplicates some of its WAI-ARIA label
31650         https://bugs.webkit.org/show_bug.cgi?id=31565
31651
31652         Test: accessibility/aria-labelledby-overrides-label.html
31653
31654         * accessibility/AccessibilityRenderObject.cpp:
31655         (WebCore::AccessibilityRenderObject::hasTextAlternative):
31656         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
31657         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
31658         * accessibility/AccessibilityRenderObject.h:
31659
31660 2009-11-16  Nate Chapin  <japhet@chromium.org>
31661
31662         Reviewed by Darin Fisher.
31663
31664         Handle the case of a null NPObject* in NPN_SetException in
31665         the V8 bindings.  This allow out of process plugins calling
31666         NPN_SetException to just send null instead of sending an
31667         NPObject* that would be an address in a different 
31668         process's memory space.
31669
31670         https://bugs.webkit.org/show_bug.cgi?id=31561
31671
31672         * bindings/v8/NPV8Object.cpp:
31673         (_NPN_SetException): Allow null NPObject* and just throw a general error.
31674
31675 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
31676
31677         Windows build fix.
31678
31679         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
31680         Disable CONNECT proxies on Windows until WebKitSupportLibrary includes support for those.
31681
31682 2009-11-14  Yael Aharon  <yael.aharon@nokia.com>
31683
31684         Reviewed by Kenneth Rohde Christiansen.
31685
31686         [Qt] ASSERT failure while running DRT
31687         https://bugs.webkit.org/show_bug.cgi?id=30978
31688
31689         Add needed Structure typeInfo flags to QtRuntimeObjectImpl and QtRuntimeMethod.
31690         These flags are needed after r49649, where HasDefaultmark was changed to OverrideMarkChildren.
31691
31692         * bridge/qt/qt_instance.cpp:
31693         (JSC::Bindings::QtRuntimeObjectImp::createStructure):
31694         * bridge/qt/qt_runtime.h:
31695         (JSC::Bindings::QtRuntimeMethod::createStructure):
31696
31697 2009-11-16  Mark Rowe  <mrowe@apple.com>
31698
31699         Attempt to fix the build.  Land a file that was missing from r51049.
31700
31701         * bindings/js/JSWebGLArrayHelper.h: Copied from WebCore/html/canvas/WebGLByteArray.idl.
31702         (WebCore::setWebGLArrayFromArray):
31703
31704 2009-11-16  Kenneth Russell  <kbr@google.com>
31705
31706         Reviewed by Oliver Hunt.
31707
31708         Update API of WebGLArray and friends
31709         https://bugs.webkit.org/show_bug.cgi?id=31175
31710
31711         * bindings/js/JSWebGLArrayCustom.cpp:
31712         (WebCore::toJS):
31713         * bindings/js/JSWebGLArrayHelper.h: Added.
31714         (WebCore::setWebGLArrayFromArray):
31715         * bindings/js/JSWebGLByteArrayCustom.cpp:
31716         (WebCore::JSWebGLByteArray::set):
31717         * bindings/js/JSWebGLFloatArrayCustom.cpp:
31718         (WebCore::JSWebGLFloatArray::set):
31719         * bindings/js/JSWebGLIntArrayCustom.cpp:
31720         (WebCore::JSWebGLIntArray::set):
31721         * bindings/js/JSWebGLShortArrayCustom.cpp:
31722         (WebCore::JSWebGLShortArray::set):
31723         * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
31724         (WebCore::JSWebGLUnsignedByteArray::set):
31725         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
31726         (WebCore::JSWebGLUnsignedIntArray::set):
31727         * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
31728         (WebCore::JSWebGLUnsignedShortArray::set):
31729         * bindings/scripts/CodeGeneratorV8.pm:
31730         * bindings/v8/V8DOMWrapper.cpp:
31731         (WebCore::V8DOMWrapper::convertToV8Object):
31732         * bindings/v8/custom/V8CustomBinding.h:
31733         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
31734         (WebCore::CALLBACK_FUNC_DECL):
31735         * bindings/v8/custom/V8WebGLArrayCustom.h:
31736         (WebCore::constructWebGLArray):
31737         (WebCore::getWebGLArrayElement):
31738         (WebCore::setWebGLArrayFromArray):
31739         (WebCore::setWebGLArray):
31740         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
31741         (WebCore::CALLBACK_FUNC_DECL):
31742         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
31743         (WebCore::CALLBACK_FUNC_DECL):
31744         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
31745         (WebCore::CALLBACK_FUNC_DECL):
31746         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
31747         (WebCore::CALLBACK_FUNC_DECL):
31748         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
31749         (WebCore::CALLBACK_FUNC_DECL):
31750         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
31751         (WebCore::CALLBACK_FUNC_DECL):
31752         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
31753         (WebCore::CALLBACK_FUNC_DECL):
31754         * html/canvas/WebGLArray.cpp:
31755         (WebCore::WebGLArray::WebGLArray):
31756         (WebCore::WebGLArray::~WebGLArray):
31757         (WebCore::WebGLArray::setImpl):
31758         * html/canvas/WebGLArray.h:
31759         (WebCore::WebGLArray::isByteArray):
31760         (WebCore::WebGLArray::isUnsignedByteArray):
31761         (WebCore::WebGLArray::isShortArray):
31762         (WebCore::WebGLArray::isUnsignedShortArray):
31763         (WebCore::WebGLArray::isIntArray):
31764         (WebCore::WebGLArray::isUnsignedIntArray):
31765         (WebCore::WebGLArray::isFloatArray):
31766         (WebCore::WebGLArray::buffer):
31767         (WebCore::WebGLArray::baseAddress):
31768         (WebCore::WebGLArray::byteOffset):
31769         * html/canvas/WebGLArray.idl:
31770         * html/canvas/WebGLArrayBuffer.cpp:
31771         (WebCore::WebGLArrayBuffer::create):
31772         (WebCore::WebGLArrayBuffer::WebGLArrayBuffer):
31773         (WebCore::WebGLArrayBuffer::data):
31774         (WebCore::WebGLArrayBuffer::byteLength):
31775         (WebCore::WebGLArrayBuffer::~WebGLArrayBuffer):
31776         * html/canvas/WebGLArrayBuffer.h:
31777         * html/canvas/WebGLByteArray.cpp:
31778         (WebCore::WebGLByteArray::create):
31779         (WebCore::WebGLByteArray::byteLength):
31780         (WebCore::WebGLByteArray::slice):
31781         (WebCore::WebGLByteArray::set):
31782         * html/canvas/WebGLByteArray.h:
31783         (WebCore::WebGLByteArray::isByteArray):
31784         (WebCore::WebGLByteArray::data):
31785         (WebCore::WebGLByteArray::set):
31786         (WebCore::WebGLByteArray::get):
31787         (WebCore::WebGLByteArray::item):
31788         * html/canvas/WebGLByteArray.idl:
31789         * html/canvas/WebGLFloatArray.cpp:
31790         (WebCore::WebGLFloatArray::create):
31791         (WebCore::WebGLFloatArray::WebGLFloatArray):
31792         (WebCore::WebGLFloatArray::length):
31793         (WebCore::WebGLFloatArray::byteLength):
31794         (WebCore::WebGLFloatArray::slice):
31795         (WebCore::WebGLFloatArray::set):
31796         * html/canvas/WebGLFloatArray.h:
31797         (WebCore::WebGLFloatArray::isFloatArray):
31798         (WebCore::WebGLFloatArray::data):
31799         (WebCore::WebGLFloatArray::set):
31800         (WebCore::WebGLFloatArray::get):
31801         (WebCore::WebGLFloatArray::item):
31802         * html/canvas/WebGLFloatArray.idl:
31803         * html/canvas/WebGLIntArray.cpp:
31804         (WebCore::WebGLIntArray::create):
31805         (WebCore::WebGLIntArray::WebGLIntArray):
31806         (WebCore::WebGLIntArray::length):
31807         (WebCore::WebGLIntArray::byteLength):
31808         (WebCore::WebGLIntArray::slice):
31809         (WebCore::WebGLIntArray::set):
31810         * html/canvas/WebGLIntArray.h:
31811         (WebCore::WebGLIntArray::isIntArray):
31812         (WebCore::WebGLIntArray::data):
31813         (WebCore::WebGLIntArray::set):
31814         (WebCore::WebGLIntArray::get):
31815         (WebCore::WebGLIntArray::item):
31816         * html/canvas/WebGLIntArray.idl:
31817         * html/canvas/WebGLShortArray.cpp:
31818         (WebCore::WebGLShortArray::create):
31819         (WebCore::WebGLShortArray::WebGLShortArray):
31820         (WebCore::WebGLShortArray::length):
31821         (WebCore::WebGLShortArray::byteLength):
31822         (WebCore::WebGLShortArray::slice):
31823         (WebCore::WebGLShortArray::set):
31824         * html/canvas/WebGLShortArray.h:
31825         (WebCore::WebGLShortArray::isShortArray):
31826         (WebCore::WebGLShortArray::data):
31827         (WebCore::WebGLShortArray::set):
31828         (WebCore::WebGLShortArray::get):
31829         (WebCore::WebGLShortArray::item):
31830         * html/canvas/WebGLShortArray.idl:
31831         * html/canvas/WebGLUnsignedByteArray.cpp:
31832         (WebCore::WebGLUnsignedByteArray::create):
31833         (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
31834         (WebCore::WebGLUnsignedByteArray::length):
31835         (WebCore::WebGLUnsignedByteArray::byteLength):
31836         (WebCore::WebGLUnsignedByteArray::slice):
31837         (WebCore::WebGLUnsignedByteArray::set):
31838         * html/canvas/WebGLUnsignedByteArray.h:
31839         (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
31840         (WebCore::WebGLUnsignedByteArray::data):
31841         (WebCore::WebGLUnsignedByteArray::set):
31842         (WebCore::WebGLUnsignedByteArray::get):
31843         (WebCore::WebGLUnsignedByteArray::item):
31844         * html/canvas/WebGLUnsignedByteArray.idl:
31845         * html/canvas/WebGLUnsignedIntArray.cpp:
31846         (WebCore::WebGLUnsignedIntArray::create):
31847         (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
31848         (WebCore::WebGLUnsignedIntArray::length):
31849         (WebCore::WebGLUnsignedIntArray::byteLength):
31850         (WebCore::WebGLUnsignedIntArray::slice):
31851         (WebCore::WebGLUnsignedIntArray::set):
31852         * html/canvas/WebGLUnsignedIntArray.h:
31853         (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
31854         (WebCore::WebGLUnsignedIntArray::data):
31855         (WebCore::WebGLUnsignedIntArray::set):
31856         (WebCore::WebGLUnsignedIntArray::get):
31857         (WebCore::WebGLUnsignedIntArray::item):
31858         * html/canvas/WebGLUnsignedIntArray.idl:
31859         * html/canvas/WebGLUnsignedShortArray.cpp:
31860         (WebCore::WebGLUnsignedShortArray::create):
31861         (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
31862         (WebCore::WebGLUnsignedShortArray::length):
31863         (WebCore::WebGLUnsignedShortArray::byteLength):
31864         (WebCore::WebGLUnsignedShortArray::slice):
31865         (WebCore::WebGLUnsignedShortArray::set):
31866         * html/canvas/WebGLUnsignedShortArray.h:
31867         (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
31868         (WebCore::WebGLUnsignedShortArray::data):
31869         (WebCore::WebGLUnsignedShortArray::set):
31870         (WebCore::WebGLUnsignedShortArray::get):
31871         (WebCore::WebGLUnsignedShortArray::item):
31872         * html/canvas/WebGLUnsignedShortArray.idl:
31873         * platform/graphics/mac/GraphicsContext3DMac.cpp:
31874         (WebCore::GraphicsContext3D::bufferData):
31875         (WebCore::GraphicsContext3D::bufferSubData):
31876
31877 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
31878
31879         Windows build fix.
31880
31881         * platform/network/cf/SocketStreamHandleCFNet.cpp: Declare constants as extern "C".
31882
31883 2009-11-15  Brent Fulgham  <bfulgham@webkit.org>
31884
31885         Reviewed by Oliver Hunt.
31886
31887         Enable support for webkit-box-shadow in Cairo builds.
31888         https://bugs.webkit.org/show_bug.cgi?id=26102.
31889
31890         Covered by existing fast/box-shadow tests.
31891
31892         * platform/graphics/cairo/GraphicsContextCairo.cpp:  Add
31893           support for fillRect shadows.
31894
31895 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
31896
31897         Windows build fix.
31898
31899         * platform/network/cf/SocketStreamHandleCFNet.cpp: Don't try to include a file that's not
31900         in WebKitSupportLibrary.
31901
31902 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
31903
31904         Reviewed by Darin Adler.
31905
31906         https://bugs.webkit.org/show_bug.cgi?id=31494
31907         Add unauthenticated proxy support to SocketStreamHandleCFNet
31908
31909         Cannot be tested in DRT.
31910
31911         * platform/network/cf/SocketStreamHandleCFNet.cpp:
31912         (WebCore::SocketStreamHandle::chooseProxy): Fetch proxy information from OS.
31913         (WebCore::SocketStreamHandle::createStreams): Apply it to the newly created streams.
31914
31915 2009-11-14  Antonio Gomes  <tonikitoo@webkit.org>
31916
31917         Reviewed by Antti Koivisto.
31918
31919         [Qt] Broken back/forward after using ErrorPageExtension to set error page
31920         https://bugs.webkit.org/show_bug.cgi?id=30573
31921
31922         Make FrameLoader::checkLoadCompleteForThisFrame method
31923         to check for any working DocumentLoader instance (through
31924         activeDocumentLoader()) instead of only checking for
31925         'm_provisionalDocumentLoader' in order to decide to if
31926         it is going to reset of not the back and forward history.
31927         after an error page has been loaded.
31928
31929         Test: LayoutTests/fast/history/back-forward-reset-after-error-handling.html
31930
31931         * loader/FrameLoader.cpp:
31932         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
31933
31934 2009-11-14  Chris Fleizach  <cfleizach@apple.com>
31935
31936         Reviewed by Darin Adler.
31937
31938         Need to implement ARIA role="directory"
31939         https://bugs.webkit.org/show_bug.cgi?id=31516
31940
31941         Test: platform/mac/accessibility/aria-directory.html
31942
31943         * accessibility/AXObjectCache.cpp:
31944         (WebCore::AXObjectCache::getOrCreate):
31945         * accessibility/AccessibilityList.cpp:
31946         (WebCore::AccessibilityList::isOrderedList):
31947         * accessibility/AccessibilityRenderObject.cpp:
31948         (WebCore::createARIARoleMap):
31949
31950 2009-11-15  Dave Tapuska  <dtapuska@rim.com>
31951
31952         Reviewed by George Staikos.
31953         
31954         Compare UChars single unit at a time as opposed to the uint32_t
31955         approach as casting to unaligned addresses may cause a bus failure
31956         on ARMv5 and below. This change replicates the same defines that
31957         exists in AtomicString.cpp
31958
31959         https://bugs.webkit.org/show_bug.cgi?id=31475
31960         
31961         * platform/text/StringHash.h:
31962         (WebCore::StringHash::equal):
31963
31964 2009-11-15  Evan Martin  <evan@chromium.org>
31965
31966         Reviewed by Adam Barth.
31967
31968         Wrap some SVG code in V8DOMWrapper with an ENABLE(SVG) test.
31969
31970         https://bugs.webkit.org/show_bug.cgi?id=31490
31971
31972         * bindings/v8/V8DOMWrapper.cpp:
31973
31974 2009-11-15  Maxime Simon  <simon.maxime@gmail.com>
31975
31976         Reviewed by Adam Barth.
31977
31978         [Haiku] Build fix. The FileChooser constructor doesn't need to be redefined.
31979
31980         * platform/haiku/FileChooserHaiku.cpp:
31981
31982 2009-11-15  Maxime Simon  <simon.maxime@gmail.com>
31983
31984         Reviewed by Adam Barth.
31985
31986         [Haiku] Build fix. ColorSpace name had a wrong CamelCase.
31987
31988         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
31989         (WebCore::GraphicsContext::setPlatformStrokeColor):
31990
31991 2009-11-15  Daniel Bates  <dbates@webkit.org>
31992
31993         No review, rolling out r50999.
31994         http://trac.webkit.org/changeset/50999
31995
31996         Need to fix some issues in the Windows build. Missed some places where
31997         RenderTextControl::isEdited is called.
31998
31999         * bindings/objc/DOMHTML.mm:
32000         (-[DOMHTMLInputElement _isEdited]):
32001         (-[DOMHTMLTextAreaElement _isEdited]):
32002         * dom/Document.cpp:
32003         (WebCore::Document::setFocusedNode):
32004         * html/HTMLInputElement.cpp:
32005         (WebCore::HTMLInputElement::defaultEventHandler):
32006         * rendering/RenderTextControl.cpp:
32007         (WebCore::RenderTextControl::RenderTextControl):
32008         (WebCore::RenderTextControl::setInnerTextValue):
32009         (WebCore::RenderTextControl::setUserEdited):
32010         (WebCore::RenderTextControl::subtreeHasChanged):
32011         * rendering/RenderTextControl.h:
32012         (WebCore::RenderTextControl::isEdited):
32013         (WebCore::RenderTextControl::setEdited):
32014         (WebCore::RenderTextControl::isUserEdited):
32015         * rendering/RenderTextControlSingleLine.cpp:
32016         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
32017         * wml/WMLInputElement.cpp:
32018         (WebCore::WMLInputElement::defaultEventHandler):
32019
32020 2009-11-15  Daniel Bates  <dbates@webkit.org>
32021
32022         Reviewed by Darin Adler.
32023
32024         https://bugs.webkit.org/show_bug.cgi?id=31186
32025
32026         Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
32027         m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
32028         These are more descriptive names so as to clear an ambiguity surrounding
32029         their usage. Also, renames associated setters and getters so that they
32030         coincide with the renamed fields.
32031
32032         No functionality was changed. So, no tests were included.
32033
32034         * bindings/objc/DOMHTML.mm:
32035         (-[DOMHTMLInputElement _isEdited]):
32036         (-[DOMHTMLTextAreaElement _isEdited]):
32037         * dom/Document.cpp:
32038         (WebCore::Document::setFocusedNode):
32039         * html/HTMLInputElement.cpp:
32040         (WebCore::HTMLInputElement::defaultEventHandler):
32041         * rendering/RenderTextControl.cpp:
32042         (WebCore::RenderTextControl::RenderTextControl):
32043         (WebCore::RenderTextControl::setInnerTextValue):
32044         (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
32045         (WebCore::RenderTextControl::subtreeHasChanged):
32046         * rendering/RenderTextControl.h:
32047         (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
32048         (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
32049         (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
32050         * rendering/RenderTextControlSingleLine.cpp:
32051         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
32052         * wml/WMLInputElement.cpp:
32053         (WebCore::WMLInputElement::defaultEventHandler):
32054
32055 2009-11-14  Adele Peterson  <adele@apple.com>
32056
32057         Reviewed by Dan Bernstein.
32058
32059         Fix for <rdar://problem/6946165> Would like to be able to specify the number of visible lines when using -webkit-line-clamp
32060
32061         Test: fast/overflow/line-clamp.html
32062
32063         * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated to handle different types of values.
32064         * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): ditto.
32065         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
32066
32067         * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
32068         Use the line count value if available.  Otherwise, convert the percentage to the line count, as we did before.  Also,
32069         if there is anchor as the last child box, still allow adding the ellipsis.
32070
32071         * rendering/RenderLayer.cpp:
32072         (WebCore::RenderLayer::scrollByRecursively): Call isNone on the LineClampValue to see if the line-clamp property has been set.
32073         (WebCore::RenderLayer::scrollRectToVisible): ditto.
32074
32075         * WebCore.xcodeproj/project.pbxproj: Added LineClampValue.h
32076         * rendering/style/LineClampValue.h: Added.
32077         (WebCore::LineClampValue::LineClampValue):
32078         (WebCore::LineClampValue::value):
32079         (WebCore::LineClampValue::isPercentage):
32080         (WebCore::LineClampValue::isNone):
32081         (WebCore::LineClampValue::operator==):
32082         (WebCore::LineClampValue::operator!=):
32083         * rendering/style/RenderStyleConstants.h: (WebCore::): Define ELineClampType enum for percentage or line count.
32084
32085         * rendering/style/RenderStyle.h: Use LineClampValue.
32086         (WebCore::InheritedFlags::lineClamp):
32087         (WebCore::InheritedFlags::setLineClamp):
32088         (WebCore::InheritedFlags::initialLineClamp):
32089         * rendering/style/StyleRareNonInheritedData.h:
32090
32091 2009-11-14  Eric Carlson  <eric.carlson@apple.com>
32092
32093         Reviewed by Oliver Hunt.
32094
32095         <rdar://problem/7287487> 
32096         Do not use QuickTime version to detect media controller theme
32097
32098         * WebCore.base.exp: Export wkMediaControllerThemeAvailable
32099         * platform/mac/WebCoreSystemInterface.h: Ditto.
32100         * platform/mac/WebCoreSystemInterface.mm: Ditto.
32101
32102         * rendering/RenderThemeMac.mm:
32103         (WebCore::mediaControllerTheme): Use wkMediaControllerThemeAvailable instead of the
32104         QuickTime version to see if it is possible to use MediaControllerThemeQuickTime.
32105
32106 2009-11-14  Kent Tamura  <tkent@chromium.org>
32107
32108         Reviewed by Darin Adler.
32109
32110         - Recognizes date/datetime/datetime-local/month/time/week types of INPUT element.
32111           They have no dedicated UI and no type validation for now.
32112         - Clean up setInputType() and formControlType() of HTMLInputElement.
32113         https://bugs.webkit.org/show_bug.cgi?id=29004
32114
32115         Test: fast/forms/input-type-change3.html
32116
32117         * html/HTMLInputElement.cpp:
32118         (WebCore::HTMLInputElement::valueMissing):
32119         (WebCore::HTMLInputElement::patternMismatch):
32120         (WebCore::HTMLInputElement::tooLong):
32121         (WebCore::createTypeMap):
32122         (WebCore::HTMLInputElement::setInputType):
32123         (WebCore::createFormControlTypes):
32124         (WebCore::HTMLInputElement::formControlType):
32125         (WebCore::HTMLInputElement::saveFormControlState):
32126         (WebCore::HTMLInputElement::restoreFormControlState):
32127         (WebCore::HTMLInputElement::accessKeyAction):
32128         (WebCore::HTMLInputElement::rendererIsNeeded):
32129         (WebCore::HTMLInputElement::createRenderer):
32130         (WebCore::HTMLInputElement::appendFormData):
32131         (WebCore::HTMLInputElement::isTextField):
32132         (WebCore::HTMLInputElement::valueWithDefault):
32133         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
32134         (WebCore::HTMLInputElement::defaultEventHandler):
32135         (WebCore::HTMLInputElement::isRequiredFormControl):
32136         (WebCore::HTMLInputElement::dataList):
32137         * html/HTMLInputElement.h:
32138         (WebCore::HTMLInputElement::):
32139
32140 2009-11-13  Chris Fleizach  <cfleizach@apple.com>
32141
32142         Reviewed by Darin Adler.
32143
32144         WAI-ARIA: checkbox does not determine its label from text content
32145         https://bugs.webkit.org/show_bug.cgi?id=31456
32146
32147         Test: accessibility/aria-checkbox-text.html
32148
32149         * accessibility/AccessibilityRenderObject.cpp:
32150         (WebCore::AccessibilityRenderObject::title):
32151
32152 2009-11-13  Dimitri Glazkov  <dglazkov@chromium.org>
32153
32154         Unreviewed, build fix.
32155
32156         [Chromium] Fix build to catch up with http://trac.webkit.org/changeset/50973.
32157         This is just enough changes to unbreak the port.
32158
32159         * bindings/v8/ScriptController.cpp:
32160         (WebCore::mainThreadNormalWorld):
32161         * bindings/v8/V8Proxy.cpp:
32162         (WebCore::V8Proxy::initContextIfNeeded):
32163         * loader/FrameLoaderClient.h:
32164
32165 2009-11-13  Aaron Boodman  <aa@chromium.org>
32166
32167         Unreviewed fix for Chromium build.
32168
32169         * loader/FrameLoaderClient.h:
32170         (WebCore::FrameLoaderClient::dispatchDidClearWindowObjectInWorld):
32171         Provide an empty implementation of this method because I don't know
32172         what it is supposed to do on Chromium.
32173
32174 2009-11-13  Aaron Boodman  <aa@chromium.org>
32175
32176         Unreviewed fix for Chromium build.
32177
32178         * loader/FrameLoader.h: Make dispatchDidClearWindowObjectsInAllWorlds()
32179         public, as Chromium's V8Proxy calls it.
32180
32181 2009-11-13  Aaron Boodman  <aa@chromium.org>
32182
32183         Unreviewed fix to Chromium build.
32184
32185         * bindings/v8/ScriptController.cpp:
32186         (WebCore::ScriptController::getAllWorlds): 
32187
32188 2009-11-13  Aaron Boodman  <aa@chromium.org>
32189
32190         Unreviewed fix for Chromium build.
32191
32192         * platform/text/TextBoundaries.cpp: Use longer path to refer to Unicode.h.
32193
32194 2009-11-13  Adam Barth  <abarth@webkit.org>
32195
32196         Unreviewed partial build fix for Chromium.  Should fix failure #4.
32197
32198         * bindings/v8/ScriptController.cpp:
32199         (WebCore::ScriptController::getAllWorlds):
32200         * bindings/v8/ScriptController.h:
32201         * bindings/v8/V8Proxy.cpp:
32202         (WebCore::V8Proxy::initContextIfNeeded):
32203
32204 2009-11-13  Adam Barth  <abarth@webkit.org>
32205
32206         Unreviewed partial build fix for Chromium.
32207
32208         * bindings/v8/ScriptController.h:
32209         (WebCore::ScriptController::getAllWorlds):
32210
32211 2009-11-13  Eric Seidel  <eric@webkit.org>
32212
32213         No review, build fix only.
32214
32215         Fix Windows and Chromium builds after http://trac.webkit.org/changeset/50977.
32216
32217         Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
32218         https://bugs.webkit.org/show_bug.cgi?id=31468
32219
32220         * WebCore.gypi: Rename TextBoundariesICU -> TextBoundaries
32221         * WebCore.vcproj/WebCore.vcproj: Rename TextBoundariesICU -> TextBoundaries
32222
32223 2009-11-12  Jeremy Orlow  <jorlow@chromium.org>
32224
32225         Reviewed by Dmitry Titov.
32226
32227         LocalStorage quota should include key sizes in its count
32228         https://bugs.webkit.org/show_bug.cgi?id=31451
32229
32230         * storage/StorageMap.cpp:
32231         (WebCore::StorageMap::setItem):
32232             Count keys in the quota when adding a new item.
32233         (WebCore::StorageMap::removeItem):
32234             Remove the key's length from the quota if we're removing the item.
32235         (WebCore::StorageMap::importItem):
32236             Assume that we're adding things for the first time.
32237             Count keys in the quota.
32238
32239 2009-11-13  Dominik Röttsches  <dominik.roettsches@access-company.com>
32240
32241         Reviewed by Eric Seidel.
32242
32243         Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
32244         https://bugs.webkit.org/show_bug.cgi?id=31468
32245
32246         Moving TextBoundariesICU.cpp to TextBoundaries.cpp
32247         by removing the direct ICU dependency and replacing it
32248         with WTF functions and WebCore's own TextBreakIterator
32249         abstractions.
32250
32251         * GNUmakefile.am:
32252         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
32253         * platform/text/TextBoundaries.cpp: Added.
32254         (WebCore::findNextWordFromIndex):
32255         (WebCore::findWordBoundary):
32256         * platform/text/TextBoundariesICU.cpp: Removed.
32257         * platform/text/TextBreakIterator.h:
32258         * platform/text/TextBreakIteratorICU.cpp:
32259         (WebCore::textBreakLast):
32260         (WebCore::textBreakPrevious):
32261
32262 2009-11-13  Shinichiro Hamaji  <hamaji@chromium.org>
32263
32264         Reviewed by Darin Adler.
32265
32266         WebCore::externalRepresentation should update layout before getting render object
32267         https://bugs.webkit.org/show_bug.cgi?id=31459
32268
32269         * rendering/RenderTreeAsText.cpp:
32270         (WebCore::externalRepresentation):
32271
32272 2009-11-13  Adam Roben  <aroben@apple.com>
32273
32274         Tell FrameLoaderClient when window objects in isolated worlds are
32275         cleared
32276
32277         Fixes <http://webkit.org/b/31124> Tell the WebFrameLoadDelegate when
32278         window objects in isolated worlds are cleared
32279
32280         Test: http/tests/security/isolatedWorld/didClearWindowObject.html
32281
32282         Reviewed by Dave Hyatt.
32283
32284         * bindings/js/JSDOMBinding.h:
32285         (WebCore::WebCoreJSClientData::getAllWorlds): Added. Copies all the
32286         worlds in m_worldSet to the passed-in Vector.
32287
32288         * bindings/js/ScriptController.cpp:
32289         (WebCore::ScriptController::getAllWorlds): Added. Calls through to
32290         WebCoreJSClientData.
32291         (WebCore::ScriptController::initScript): Changed to call
32292         FrameLoader::dispatchDidClearWindowObjectInWorld.
32293
32294         * bindings/js/ScriptController.h: Added getAllWorlds.
32295
32296         * loader/EmptyClients.h:
32297         (WebCore::EmptyFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
32298         Updated for FrameLoaderClient change.
32299
32300         * loader/FrameLoader.cpp:
32301         (WebCore::FrameLoader::receivedFirstData):
32302         (WebCore::FrameLoader::begin):
32303         Changed to call dispatchDidClearWindowObjectsInAllWorlds.
32304
32305         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
32306         Added. Retrieves all the worlds, then calls through to
32307         dispatchDidClearWindowObjectInWorld for each one.
32308         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): Replaces
32309         dispatchWindowObjectAvailable. Calls up to the client, then, if the
32310         world is the mainThreadNormalWorld(), tells the Inspector about it,
32311         too.
32312
32313         * loader/FrameLoader.h: Replaced dispatchWindowObjectAvailable with
32314         dispatchDidClearWindowObjectInWorld. Added
32315         dispatchDidClearWindowObjectsInAllWorlds.
32316
32317         * loader/FrameLoaderClient.h: Replaced windowObjectCleared with
32318         dispatchDidClearWindowObjectForWorld.
32319
32320 2009-11-13  Vitaly Repeshko  <vitalyr@chromium.org>
32321
32322         Reviewed by Dimitri Glazkov.
32323
32324         [V8] Fix SVG context assignment for pod types.
32325         https://bugs.webkit.org/show_bug.cgi?id=31497
32326
32327         I broke this in r50958.
32328
32329         Tested by svg/custom/viewport-update2.svg.
32330
32331         * bindings/scripts/CodeGeneratorV8.pm:
32332
32333 2009-11-13  Andrei Popescu  <andreip@google.com>
32334
32335         Reviewed by Dmitry Titov.
32336
32337         Bring the platform/android files inline with Android 2.0
32338         https://bugs.webkit.org/show_bug.cgi?id=31423
32339
32340         No new tests required: these are all Android-specific files.
32341
32342         * platform/android/ClipboardAndroid.cpp:
32343         (WebCore::ClipboardAndroid::files):
32344         * platform/android/ClipboardAndroid.h:
32345         * platform/android/FileChooserAndroid.cpp:
32346         (WebCore::FileChooser::basenameForWidth):
32347         (WebCore::fileButtonChooseFileLabel):
32348         * platform/android/KeyEventAndroid.cpp:
32349         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
32350         * platform/android/LocalizedStringsAndroid.cpp:
32351         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
32352         (WebCore::contextMenuItemTagDownloadLinkToDisk):
32353         (WebCore::contextMenuItemTagCopyLinkToClipboard):
32354         (WebCore::contextMenuItemTagOpenImageInNewWindow):
32355         (WebCore::contextMenuItemTagDownloadImageToDisk):
32356         (WebCore::contextMenuItemTagCopyImageToClipboard):
32357         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
32358         (WebCore::contextMenuItemTagCopy):
32359         (WebCore::contextMenuItemTagGoBack):
32360         (WebCore::contextMenuItemTagGoForward):
32361         (WebCore::contextMenuItemTagStop):
32362         (WebCore::contextMenuItemTagReload):
32363         (WebCore::contextMenuItemTagCut):
32364         (WebCore::contextMenuItemTagPaste):
32365         (WebCore::contextMenuItemTagNoGuessesFound):
32366         (WebCore::contextMenuItemTagIgnoreSpelling):
32367         (WebCore::contextMenuItemTagLearnSpelling):
32368         (WebCore::contextMenuItemTagSearchWeb):
32369         (WebCore::contextMenuItemTagLookUpInDictionary):
32370         (WebCore::contextMenuItemTagOpenLink):
32371         (WebCore::contextMenuItemTagIgnoreGrammar):
32372         (WebCore::contextMenuItemTagSpellingMenu):
32373         (WebCore::contextMenuItemTagShowSpellingPanel):
32374         (WebCore::contextMenuItemTagCheckSpelling):
32375         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
32376         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
32377         (WebCore::contextMenuItemTagFontMenu):
32378         (WebCore::contextMenuItemTagBold):
32379         (WebCore::contextMenuItemTagItalic):
32380         (WebCore::contextMenuItemTagUnderline):
32381         (WebCore::contextMenuItemTagOutline):
32382         (WebCore::contextMenuItemTagWritingDirectionMenu):
32383         (WebCore::contextMenuItemTagTextDirectionMenu):
32384         (WebCore::contextMenuItemTagDefaultDirection):
32385         (WebCore::contextMenuItemTagLeftToRight):
32386         (WebCore::contextMenuItemTagRightToLeft):
32387         (WebCore::mediaElementLoadingStateText):
32388         (WebCore::mediaElementLiveBroadcastStateText):
32389         (WebCore::searchableIndexIntroduction):
32390         (WebCore::resetButtonDefaultLabel):
32391         (WebCore::submitButtonDefaultLabel):
32392         (WebCore::inputElementAltText):
32393         * platform/android/RenderThemeAndroid.cpp:
32394         (WebCore::RenderTheme::themeForPage):
32395         (WebCore::RenderThemeAndroid::baselinePosition):
32396         (WebCore::RenderThemeAndroid::paintButton):
32397         (WebCore::adjustMenuListStyleCommon):
32398         (WebCore::RenderThemeAndroid::paintCombo):
32399         * platform/android/ScreenAndroid.cpp:
32400         * platform/android/ScrollViewAndroid.cpp:
32401         (WebCore::ScrollView::platformOffscreenContentRectangle):
32402         * platform/android/TemporaryLinkStubs.cpp:
32403         (JSC::Bindings::dispatchJNICall):
32404         * platform/android/WidgetAndroid.cpp:
32405         (WebCore::Widget::setFrameRect):
32406
32407 2009-11-13  Norbert Leser  <norbert.leser&nokia.com>
32408
32409         Reviewed by Eric Seidel.
32410
32411         Added macros for USERINCLUDE paths within symbian blocks
32412         to guarantee inclusion of respective header files from local path
32413         first (to avoid clashes with same names of header files in system include path).
32414
32415         * WebCore.pro:
32416
32417 2009-11-13  Hironori Bono  <hbono@chromium.org>
32418
32419         Reviewed by Oliver Hunt.
32420
32421         Implement composition events introduced in DOM Level 3.
32422         This change adds a new IDL which defines the composition events, adds a class which
32423         implements the composition events, and sends the composition events according to
32424         the specification.
32425         https://bugs.webkit.org/show_bug.cgi?id=26310
32426
32427         Test: fast/events/ime-composition-events-001.html
32428
32429         * DerivedSources.make: Added CompositionEvent so we can compile "CompositionEvent.idl".
32430         * GNUmakefile.am: Added "CompositionEvent.{cpp,h,idl}".
32431         * WebCore.gypi: ditto.
32432         * WebCore.pro: ditto
32433         * WebCore.vcproj/WebCore.vcproj: ditto.
32434         * WebCore.xcodeproj/project.pbxproj: Added "CompositionEvent.{cpp,h,idl}" and "JSCompositionEvent.{cpp,h}".
32435         * WebCoreSources.bkl: Added "JSCompositionEvent.{cpp,h}".
32436         * bindings/js/JSEventCustom.cpp:
32437         (WebCore::toJS): Call isCompositionEvent() to create the CompositionEvent wrapper.
32438         * bindings/v8/DOMObjectsInclude.h: Added "JSCompositionEvent.h".
32439         * bindings/v8/DerivedSourcesAllInOne.cpp: Added "JSCompositionEvent.cpp".
32440         * bindings/v8/V8DOMWrapper.cpp: Call isCompositionEvent() to identify an event as a CompositionEvent.
32441         (WebCore::V8DOMWrapper::convertEventToV8Object):
32442         * bindings/v8/V8Index.cpp: Added "V8CompositionEvent.h".
32443         * bindings/v8/V8Index.h: Added V8Index::COMPOSITIONEVENT.
32444         * dom/CompositionEvent.cpp: Implements the CompositionEvent class.
32445         (WebCore::CompositionEvent::CompositionEvent):
32446         (WebCore::CompositionEvent::~CompositionEvent):
32447         (WebCore::CompositionEvent::initCompositionEvent):
32448         (WebCore::CompositionEvent::isCompositionEvent):
32449         * dom/CompositionEvent.h: Declares the CompositionEvent class.
32450         (WebCore::CompositionEvent::create):
32451         (WebCore::CompositionEvent::data):
32452         * dom/CompositionEvent.idl: Added the IDL of DOM CompositionEvent.
32453         * dom/Event.cpp:
32454         (WebCore::Event::isCompositionEvent): Added a method to identify an event is a CompositionEvent.
32455         * dom/Event.h:
32456         * dom/EventNames.h: Added composition{start,update,end} to eventNames.
32457         * editing/Editor.cpp:
32458         (WebCore::Editor::confirmComposition): Sent a CompositionEnd event.
32459         (WebCore::Editor::setComposition): Sent a Composition{Start,Update,End} event.
32460
32461 2009-11-13  Jens Alfke  <snej@chromium.org>
32462
32463         Reviewed by Dimitri Glazkov.
32464
32465         Fix a link error in unofficial GCC 4.4 builds on Linux.
32466         https://bugs.webkit.org/show_bug.cgi?id=31477
32467
32468         * bindings/v8/V8Binding.cpp:  Add explicit instantiations of v8StringToWebCoreString template.
32469
32470 2009-11-13  Eric Seidel  <eric@webkit.org>
32471
32472         No review, build fix only.
32473
32474         Fix Debug build after http://trac.webkit.org/changeset/50960.
32475
32476         The CounterNode class does not support all methods necessary to efficiently update the counter tree as needed per CSS2.1
32477         https://bugs.webkit.org/show_bug.cgi?id=31213
32478
32479         * rendering/CounterNode.cpp:
32480         (WebCore::showTreeAndMark):
32481         * rendering/RenderCounter.cpp:
32482         (WebCore::destroyCounterNodeChildren):
32483
32484 2009-11-13  Dirk Schulze  <krit@webkit.org>
32485
32486         Reviewed by Gustavo Noronha.
32487
32488         [CAIRO] shadow support for Canvas and SVG
32489         [https://bugs.webkit.org/show_bug.cgi?id=30960]
32490
32491         We currently fill a path with solid color instead of filling
32492         a clipping path. This causes problems on some composite operators,
32493         since Cairo modifies the area outside the path.
32494         This fixes the behavior of WebKitGtk on fast/canvas/canvas-composite-alpha.html
32495
32496         Thanks to Benjamin Otte for tracking the bug down.
32497
32498         * platform/graphics/cairo/GraphicsContextCairo.cpp:
32499         (WebCore::setPlatformFill):
32500
32501 2009-11-12  Dumitru Daniliuc  <dumi@chromium.org>
32502
32503         Reviewed by Dimitri Glazkov.
32504
32505         Adding Chromium's DatabaseTracker implementation.
32506
32507         https://bugs.webkit.org/show_bug.cgi?id=31440
32508
32509         * WebCore.gyp/WebCore.gyp:
32510         * WebCore.gypi:
32511         * storage/DatabaseTracker.h:
32512         * storage/chromium/DatabaseTrackerChromium.cpp:
32513         (WebCore::DatabaseTracker::fullPathForDatabase):
32514         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
32515         * storage/chromium/QuotaTracker.cpp:
32516         (WebCore::QuotaTracker::updateDatabaseSize):
32517         * storage/chromium/QuotaTracker.h:
32518
32519 2009-11-13  Carol Szabo  <carol.szabo@nokia.com>
32520
32521         Reviewed by Darin Adler.
32522
32523         The CounterNode class is missing some basic tree navigation methods common in other WebKit trees such as the rendering tree
32524         https://bugs.webkit.org/show_bug.cgi?id=31213
32525         Added tree navigation methods that permit full implementation of CSS2.1
32526         counter feature without using recursion proportional to the counter
32527         tree depth.
32528         No new tests because I did not find any bug that is fixed by this
32529         commit yet, this just reduces the size of the patch for 11031 and
32530         helps respond to some concerns regarding that patch.
32531
32532         * rendering/CounterNode.cpp:
32533         (WebCore::CounterNode::CounterNode):
32534
32535         (WebCore::CounterNode::nextInPreOrderAfterChildren):
32536         (WebCore::CounterNode::nextInPreOrder):
32537         Added to support non-recursive tree traversal necessary for
32538         efficient full implementation of CSS2.1 counters.
32539
32540         (WebCore::CounterNode::lastDescendant):
32541         (WebCore::CounterNode::previousInPreOrder):
32542         Moved this methods such that they occupy a place similar to that of
32543         identically named methods on the render tree. This allows for their
32544         broader use needed in full implementation of CSS2.1 counters.
32545
32546         (WebCore::CounterNode::resetRenderer):
32547         (WebCore::CounterNode::resetRenderers):
32548         (WebCore::CounterNode::recount):
32549         (WebCore::CounterNode::insertAfter):
32550         (WebCore::CounterNode::removeChild):
32551         Changed such that insertion/removal of a counter, triggers not only
32552         recalculation of PrefixWidths, but also reassesment of values in
32553         counter nodes. This is the basis full implementation of CSS2.1
32554         counters. It does not change current behavior by much because of
32555         changes needed to the recalculation algorithm, but those are comming
32556         in the patch for 11031.
32557         (WebCore::showTreeAndMark):
32558         * rendering/CounterNode.h:
32559         * rendering/RenderCounter.cpp:
32560         (WebCore::counter):
32561         Only changed argument type to prepare for implementation of Darin
32562         Adler's recommendation for the patch to 11031.
32563
32564         (WebCore::RenderCounter::invalidate):
32565         (WebCore::destroyCounterNodeChildren):
32566         (WebCore::RenderCounter::destroyCounterNodes):
32567         * rendering/RenderCounter.h:
32568         * rendering/RenderObjectChildList.cpp:
32569         (WebCore::invalidateCountersInContainer):
32570         (WebCore::RenderObjectChildList::invalidateCounters):
32571         * rendering/RenderObjectChildList.h:
32572         Added the ability to restrict invalidation to counters with a given
32573         identifier.
32574         Also invalidated counters that are on the child container itself
32575         which were missed by the previous algorithm, but were a valid case.
32576
32577 2009-11-13  Vitaly Repeshko  <vitalyr@chromium.org>
32578
32579         Reviewed by Dimitri Glazkov.
32580
32581         [V8] Protect SVG animated properties from destruction in bindings.
32582         https://bugs.webkit.org/show_bug.cgi?id=31474
32583
32584         See http://crbug.com/26719.
32585
32586         Tested by LayoutTests/svg/custom/js-update-transform-addition.svg
32587         under Valgrind.
32588
32589         Made sure we keep a reference to SVG properties while setting a
32590         context:
32591         * bindings/scripts/CodeGeneratorV8.pm:
32592         * bindings/v8/V8Proxy.h:
32593         (WebCore::V8Proxy::withSVGContext):
32594
32595 2009-11-13  Brent Fulgham  <bfulgham@webkit.org>
32596
32597         Reviewed by Alexey Proskuryakov.
32598
32599         [CAIRO] shadow support for Canvas and SVG.
32600         [https://bugs.webkit.org/show_bug.cgi?id=30960]
32601
32602         Incorporate Benjamin Otte's recommendations to avoid
32603         a buffer overrun, and small performance improvement.
32604
32605         * platform/graphics/cairo/GraphicsContextCairo.cpp:
32606         (WebCore::copyContextProperties): Correctly size output
32607          storage for cairo_get_dash to avoid buffer overrun.
32608         (WebCore::drawPathShadow): Prefer cairo_fill_extents
32609          to slower cairo_stroke_extents when not drawing shadows.
32610
32611 2009-11-13  Dumitru Daniliuc  <dumi@chromium.org>
32612
32613         Reviewed by Dimitri Glazkov.
32614
32615         Do not register Chromium's HTML5 DB VFS as the default
32616         VFS. Otherwise, other sqlite DB users in the same process will
32617         stop working.
32618
32619         https://bugs.webkit.org/show_bug.cgi?id=31462
32620
32621         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
32622         (WebCore::SQLiteFileSystem::openDatabase):
32623         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
32624         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
32625         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
32626         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
32627
32628 2009-11-13  Alexey Proskuryakov  <ap@apple.com>
32629
32630         Windows build fix
32631
32632         * platform/network/cf/SocketStreamHandleCFNet.cpp:
32633         (WebCore::SocketStreamHandle::SocketStreamHandle): Explicitly cast "-1" to CFOptionFlags,
32634         avoiding a sign mismatch warning.
32635
32636 2009-11-13  Alexey Proskuryakov  <ap@apple.com>
32637
32638         Release build fix.
32639
32640         * platform/network/cf/SocketStreamHandleCFNet.cpp:
32641         (WebCore::SocketStreamHandle::readStreamCallback):
32642         (WebCore::SocketStreamHandle::writeStreamCallback):
32643         Use ASSERT_UNUSED for unused stream parameter.
32644
32645 2009-11-12  Alexey Proskuryakov  <ap@apple.com>
32646
32647         Reviewed by Darin Adler.
32648
32649         https://bugs.webkit.org/show_bug.cgi?id=31441
32650         Implement SocketStreamHandleCFNet
32651
32652         Existing WebSocket tests now pass on Mac. No proxy support yet.
32653
32654         * platform/network/SocketStreamHandleClient.h:
32655         * platform/network/cf/SocketStreamHandle.h:
32656         (WebCore::SocketStreamHandle::shouldUseSSL):
32657         (WebCore::SocketStreamHandle::refAuthenticationClient):
32658         (WebCore::SocketStreamHandle::derefAuthenticationClient):
32659         (WebCore::SocketStreamHandle::):
32660         * platform/network/cf/SocketStreamHandleCFNet.cpp:
32661         (WebCore::SocketStreamHandle::SocketStreamHandle):
32662         (WebCore::SocketStreamHandle::chooseProxy):
32663         (WebCore::SocketStreamHandle::createStreams):
32664         (WebCore::SocketStreamHandle::copyCFStreamDescription):
32665         (WebCore::SocketStreamHandle::readStreamCallback):
32666         (WebCore::SocketStreamHandle::writeStreamCallback):
32667         (WebCore::SocketStreamHandle::~SocketStreamHandle):
32668         (WebCore::SocketStreamHandle::platformSend):
32669         (WebCore::SocketStreamHandle::platformClose):
32670         (WebCore::SocketStreamHandle::receivedCredential):
32671         (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential):
32672         (WebCore::SocketStreamHandle::receivedCancellation):
32673
32674 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
32675
32676         Reviewed by Timothy Hatcher.
32677
32678         Web Inspector: preload status bar button glyphs
32679         in order to prevent them from flickering (take 2).
32680
32681         https://bugs.webkit.org/show_bug.cgi?id=31439
32682
32683         * inspector/front-end/inspector.js:
32684         (preloadImages):
32685
32686 2009-11-13  Pavel Feldman  <pfeldman@chromium.org>
32687
32688         Reviewed by Adam Barth.
32689
32690         Chromium: [REGRESSION] Crash while stopping on a breakpoint.
32691         Rolling back r50890.
32692
32693         https://bugs.webkit.org/show_bug.cgi?id=31467
32694
32695         * bindings/v8/V8Proxy.cpp:
32696         (WebCore::V8Proxy::canAccessPrivate):
32697
32698 2009-11-13  Dirk Schulze  <krit@webkit.org>
32699
32700         Reviewed by Gustavo Noronha.
32701
32702         [CAIRO] shadow support for Canvas and SVG
32703         [https://bugs.webkit.org/show_bug.cgi?id=30960]
32704         
32705         This is the fix of a regression, caused by the shadow patch
32706         from the bug above. Reinserted the save and restore calls
32707         that were accidently removed by the previous patch.
32708
32709         * platform/graphics/cairo/GraphicsContextCairo.cpp:
32710         (WebCore::setPlatformFill):
32711         (WebCore::setPlatformStroke):
32712
32713 2009-11-13  Pavel Feldman  <pfeldman@chromium.org>
32714
32715         Not reviewed. Reverting r50908 since it makes inspector tests
32716         time out.
32717
32718         https://bugs.webkit.org/show_bug.cgi?id=31439
32719
32720         * inspector/front-end/inspector.js:
32721
32722 2009-11-13  Mikhail Naganov  <mnaganov@chromium.org>
32723
32724         Reviewed by Timothy Hatcher.
32725
32726         Enable 'console.profile()' and 'console.profileEnd()'
32727         regardless of JAVASCRIPT_DEBUGGER.
32728
32729         https://bugs.webkit.org/show_bug.cgi?id=31293
32730
32731         * WebCore.gypi:
32732         * bindings/js/JSConsoleCustom.cpp:
32733         (WebCore::JSConsole::profile):
32734         (WebCore::JSConsole::profileEnd):
32735         * bindings/v8/custom/V8ConsoleCustom.cpp: Added.
32736         (WebCore::CALLBACK_FUNC_DECL):
32737         * bindings/v8/custom/V8CustomBinding.h:
32738         * page/Console.idl:
32739
32740 2009-11-12  David Levin  <levin@chromium.org>
32741
32742         Reviewed by NOBODY.
32743
32744         Chromium build fix.
32745
32746         * bindings/v8/ScriptController.h:
32747         (WebCore::ScriptController::evaluateInWorld): Add a dummy
32748          method which isn't called in chromium to make things compile.
32749
32750 2009-11-12  Anantanarayanan G Iyengar  <ananta@chromium.org>
32751
32752         Reviewed by Adam Barth.
32753         
32754         The document-open.html test was flaky at times. The test invokes the layout test plugin
32755         which in its destroy stream handler opens a new document. This basically tears down the
32756         stream and the associated plugin instance, which causes a crash when the plugin stream
32757         dereferences an invalid m_client pointer which points to the PluginView instance which
32758         is invalid at this time. Fix is to set the m_client pointer to NULL in the stop function
32759         and check for the same.
32760        
32761         https://bugs.webkit.org/show_bug.cgi?id=31067
32762
32763         * plugins/PluginStream.cpp:
32764         (WebCore::PluginStream::stop):
32765         (WebCore::PluginStream::destroyStream):
32766
32767 2009-11-12  Dumitru Daniliuc  <dumi@chromium.org>
32768
32769         Reviewed by Dimitri Glazkov.
32770
32771         Renaming some parameters passed to DB-related methods to better
32772         indicate their purpose.
32773
32774         https://bugs.webkit.org/show_bug.cgi?id=31449
32775
32776         * platform/chromium/ChromiumBridge.h:
32777
32778 2009-11-12  Simon Fraser  <simon.fraser@apple.com>
32779
32780         Reviewed by Dan Bernstein.
32781
32782         Transformed reflected elements are clipped inside element with opacity
32783         https://bugs.webkit.org/show_bug.cgi?id=30957
32784         
32785         transparencyClipBox() attemped to minimize the size of the transparency layer by mapping
32786         each clip rect into painting space before taking the unions. This, however, did not work
32787         correctly with combinations of reflections and transforms. Fixed by unioning the
32788         clipRect and mapping through transforms along the way.
32789         
32790         Also leave some #ifdeffed code in beginTransparencyLayers() that makes it easy to see
32791         where the transparency layers are.
32792
32793         Test: fast/reflections/opacity-reflection-transform.html
32794
32795         * rendering/RenderLayer.cpp:
32796         (WebCore::expandClipRectForDescendantsAndReflection):
32797         (WebCore::transparencyClipBox):
32798         (WebCore::RenderLayer::beginTransparencyLayers):
32799
32800 2009-11-12  Adam Barth  <abarth@webkit.org>
32801
32802         Reviewed by Darin Fisher.
32803
32804         Improve SecurityOrigin::toString comment
32805         https://bugs.webkit.org/show_bug.cgi?id=31041
32806
32807         * page/SecurityOrigin.h:
32808
32809 2009-11-12  Shinichiro Hamaji  <hamaji@chromium.org>
32810
32811         Reviewed by Darin Adler.
32812
32813         externalRepresentation should take Frame as the argument
32814         https://bugs.webkit.org/show_bug.cgi?id=31393
32815
32816         No new tests as this is just a refactoring.
32817
32818         * WebCore.base.exp:
32819         * rendering/RenderTreeAsText.cpp:
32820         (WebCore::externalRepresentation):
32821         * rendering/RenderTreeAsText.h:
32822
32823 2009-11-12  Ben Murdoch  <benm@google.com>
32824
32825         Reviewed by Dimitri Glazkov.
32826
32827         [Android] The Android specific files in page/Android are out of date.
32828         https://bugs.webkit.org/show_bug.cgi?id=31437
32829
32830         No tests required.
32831
32832         * page/android/DragControllerAndroid.cpp:
32833         (WebCore::DragController::dragOperation): Added.
32834         (WebCore::DragController::cleanupAfterSystemDrag):
32835         * page/android/EventHandlerAndroid.cpp:
32836         (WebCore::EventHandler::accessKeyModifiers): Added.
32837         * page/android/InspectorControllerAndroid.cpp: Removed.
32838
32839 2009-11-12  Brent Fulgham  <bfulgham@webkit.org>
32840
32841         Reviewed by Simon Fraser.
32842
32843         [CAIRO] shadow support for Canvas and SVG.
32844         [https://bugs.webkit.org/show_bug.cgi?id=30960]
32845
32846         Implement Canvas/SVG shadow support for Cairo.  This patch
32847         uses the filter code from SVG Filters.  That means that it is
32848         necessary to activate filters to see the shadows.
32849
32850         Test: fast/canvas/canvas-shadow.html
32851
32852         * GNUmakefile.am:
32853         * WebCore.vcproj/WebCore.vcproj: Add new ImageBufferFilter files.
32854         * platform/graphics/GraphicsContext.h:
32855         * platform/graphics/cairo/GraphicsContextCairo.cpp:
32856         (GraphicsContext::calculateShadowBufferDimensions): New helper routine.
32857         (WebCore::setPlatformFill):
32858         (WebCore::setPlatformStroke):
32859         (WebCore::copyContextProperties):
32860         (WebCore::drawPathShadow):
32861         (WebCore::GraphicsContext::fillPath):
32862         (WebCore::GraphicsContext::strokePath):
32863         (WebCore::GraphicsContext::drawPath):
32864         (WebCore::GraphicsContext::setPlatformShadow):
32865         (WebCore::GraphicsContext::createPlatformShadow):
32866         * platform/graphics/cairo/ImageCairo.cpp:
32867         (WebCore::BitmapImage::draw): Add filter effect.
32868         * platform/graphics/filters/Filter.h: Correct 'const' signatures.
32869         * platform/graphics/filters/ImageBufferFilter.cpp: Added.
32870         * platform/graphics/filters/ImageBufferFilter.h: Added.
32871         * svg/graphics/filters/SVGFilter.cpp: Correct 'const' signatures.
32872         * svg/graphics/filters/SVGFilter.h: Correct 'const' signatures.
32873
32874 2009-11-12  Dmitry Titov  <dimich@chromium.org>
32875
32876         Reviewed by Alexey Proskuryakov.
32877
32878         Add postTaskToMainThread to ScriptExecutionContext.
32879         Move the code to post task to the main thread into a new method on ScriptExecutionContext,
32880         to use as a helper implementation of the virtual ScriptExecutionContext::postTask(Task) in
32881         contexts that live on the main thread.
32882         https://bugs.webkit.org/show_bug.cgi?id=31427
32883
32884         No new tests - simply moving the code.
32885
32886         * dom/Document.cpp:
32887         (WebCore::Document::postTask):
32888         * dom/ScriptExecutionContext.cpp:
32889         (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
32890         (WebCore::ScriptExecutionContextTaskTimer::fired):
32891         (WebCore::PerformTaskData::PerformTaskData):
32892         (WebCore::PerformTaskData::performTask):
32893         (WebCore::ScriptExecutionContext::postTaskToMainThread):
32894         * dom/ScriptExecutionContext.h:
32895
32896 2009-11-12  Simon Fraser  <simon.fraser@apple.com>
32897
32898         Reviewed by Darin Adler.
32899
32900         Fix crash when removing compositing layers when GC is enabled
32901         https://bugs.webkit.org/show_bug.cgi?id=31429
32902
32903         Workaround <rdar://problem/7390716> by special-casing the removal
32904         of all sublayers when GC is enabled.
32905
32906         * platform/graphics/mac/GraphicsLayerCA.mm:
32907         (WebCore::safeSetSublayers):
32908         (WebCore::GraphicsLayerCA::updateSublayerList):
32909         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
32910
32911 2009-11-12  Jens Alfke  <snej@chromium.org>
32912
32913         Reviewed by Dimitri Glazkov.
32914
32915         The last of the V8 binding optimizations.
32916         - Replace string-valued element accessors with a shared getter/setter function.
32917         - Change error handling flow of control to avoid extra branches and function calls.
32918         https://bugs.webkit.org/show_bug.cgi?id=31443
32919         
32920         * bindings/scripts/CodeGeneratorV8.pm:
32921         * bindings/v8/V8Binding.cpp:
32922         (WebCore::getElementStringAttr):  Body of string-valued Element getter function.
32923         (WebCore::setElementStringAttr):  Body of string-valued Element setter function.
32924         * bindings/v8/V8Binding.h:
32925
32926 2009-11-12  Sam Weinig  <sam@webkit.org>
32927
32928         Reviewed by Oliver Hunt.
32929
32930         Fix for <rdar://problem/7267951>
32931         Canvas methods should reject uses of NaN and Infinity.
32932
32933         Test: fast/canvas/canvas-with-illegal-args.html
32934
32935         * html/canvas/CanvasRenderingContext2D.cpp:
32936         (WebCore::CanvasRenderingContext2D::scale):
32937         (WebCore::CanvasRenderingContext2D::rotate):
32938         (WebCore::CanvasRenderingContext2D::translate):
32939         (WebCore::CanvasRenderingContext2D::transform):
32940         (WebCore::CanvasRenderingContext2D::setTransform):
32941
32942 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
32943
32944         Reviewed by Timothy Hatcher.
32945
32946         Web Inspector: profile timeline panel, fix obvious problems.
32947
32948         https://bugs.webkit.org/show_bug.cgi?id=31432
32949
32950         * inspector/front-end/AbstractTimelinePanel.js:
32951         (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
32952         * inspector/front-end/TimelinePanel.js:
32953         (WebInspector.TimelinePanel.prototype._setWindowPosition):
32954         (WebInspector.TimelineCalculator):
32955         (WebInspector.TimelineCalculator.prototype.get minimumBoundary):
32956         (WebInspector.TimelineCalculator.prototype.get maximumBoundary):
32957         (WebInspector.TimelineCalculator.prototype.reset):
32958         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
32959         (WebInspector.TimelineCalculator.prototype.formatValue):
32960         (WebInspector.TimelineGraph):
32961         (WebInspector.TimelineGraph.prototype.refresh):
32962         * inspector/front-end/utilities.js:
32963         (Element.prototype.hasStyleClass):
32964
32965 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
32966
32967         Reviewed by Timothy Hatcher.
32968
32969         Web Inspector: preload status bar button glyphs
32970         in order to prevent them from flickering.
32971
32972         https://bugs.webkit.org/show_bug.cgi?id=31439
32973
32974         * inspector/front-end/inspector.js:
32975         (preloadImages):
32976
32977 2009-11-12  Adam Roben  <aroben@apple.com>
32978
32979         Replace worldIDs with world objects
32980
32981         Part of <http://webkit.org/b/31414> Implement new SPI for dealing with
32982         user scripts/stylesheets and isolated worlds
32983
32984         Reviewed by Sam Weinig.
32985
32986         Covered by existing tests.
32987
32988         * WebCore.base.exp: Update exported symbols to match what now exists
32989         and is needed by WebKit.
32990
32991         * bindings/js/ScheduledAction.cpp:
32992         (WebCore::ScheduledAction::execute): Updated for function rename.
32993
32994         * bindings/js/ScriptController.cpp: Removed code that dealt with
32995         worldIDs.
32996         (WebCore::ScriptController::createWorld): Added. Returns a new world
32997         suitable for use on the main thread.
32998         (WebCore::ScriptController::executeScriptInWorld): Renamed from
32999         executeScriptInIsolatedWorld, since this works just fine with a
33000         "normal" world.
33001
33002         * bindings/js/ScriptController.h: Added createWorld, removed functions
33003         that took worldIDs, renamed executeScriptInIsolatedWorld to
33004         executeScriptInWorld.
33005
33006         * page/Frame.cpp:
33007         (WebCore::Frame::injectUserScripts):
33008         (WebCore::Frame::injectUserScriptsForWorld):
33009         Updated for changes to UserScriptMap and ScriptController.
33010
33011         * page/Frame.h: Changed injectUserScriptsForWorld to take a
33012         DOMWrapperWorld* instead of a worldID.
33013
33014         * page/PageGroup.cpp:
33015         (WebCore::PageGroup::addUserScriptToWorld):
33016         (WebCore::PageGroup::addUserStyleSheetToWorld):
33017         (WebCore::PageGroup::removeUserScriptFromWorld):
33018         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
33019         (WebCore::PageGroup::removeUserScriptsFromWorld):
33020         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
33021         * page/PageGroup.h:
33022         Changed these functions to take a DOMWrapperWorld* instead of a
33023         worldID. Also updated for changes to UserScript and UserStyleSheet.
33024
33025         * page/UserScript.h:
33026         * page/UserStyleSheet.h: Changed not to hold a worldID, since it was
33027         never used.
33028
33029         * page/UserScriptTypes.h:
33030         * page/UserStyleSheetTypes.h: Changed UserScriptMap and
33031         UserStyleSheetMap to use a RefPtr<DOMWrapperWorld> instead of a
33032         worldID as their key type.
33033
33034
33035 2009-11-12  Brian Weinstein  <bweinstein@apple.com>
33036
33037         Reviewed by Tim Hatcher.
33038
33039         Fixes <http://webkit.org/b/31260>.
33040         Web Inspector: Main Resources Other than HTML are mis-detected.
33041         
33042         Even if the resource is a main resource, look at its CachedResource type, 
33043         because it might be an image, stylesheet, or JavaScript file, and we
33044         want to show them all correctly.
33045
33046         * inspector/InspectorResource.cpp:
33047         (WebCore::InspectorResource::cachedResourceType): Move this method out so it can be called in multiple places.
33048         (WebCore::InspectorResource::type): 
33049         * inspector/InspectorResource.h:
33050
33051 2009-11-12  Jens Alfke  <snej@chromium.org>
33052
33053         Reviewed by Dimitri Glazkov.
33054
33055         Table-driven setup for V8 binding template callback functions. 100k in code savings.
33056         https://bugs.webkit.org/show_bug.cgi?id=31420
33057
33058         * bindings/scripts/CodeGeneratorV8.pm:  Change generated ConfigureXXXTemplate fn
33059             to call configureTemplate().
33060         * bindings/v8/V8Binding.cpp:
33061         (WebCore::configureTemplate):  New function; does all the standard configuration work.
33062         (WebCore::createCallback):  De-inlined wrapper for FunctionTemplate creation.
33063         * bindings/v8/V8Binding.h:
33064         * bindings/v8/V8Proxy.cpp:
33065         (WebCore::batchConfigureAttributes):  Just wrapped the very long fn parameter list.
33066         (WebCore::batchConfigureCallbacks):  New function, used by configureTemplate.
33067         (WebCore::batchConfigureConstants):  Just wrapped the very long fn parameter list.
33068         * bindings/v8/V8Proxy.h:
33069
33070 2009-11-12  Dumitru Daniliuc  <dumi@chromium.org>
33071
33072         Unreviewed, fix Chromium build after http://trac.webkit.org/changeset/50876.
33073
33074         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
33075
33076 2009-11-12  Eric Carlson  <eric.carlson@apple.com>
33077
33078         Reviewed by Dan Bernstein.
33079
33080         <rdar://problem/7388969> Add DOM API for fullscreen video
33081         
33082         DOM API for fullscreen <video>.
33083
33084         Tests: media/media-fullscreen-inline.html
33085                media/media-fullscreen-not-in-document.html
33086
33087         * dom/EventNames.h:
33088             Add webkitbeginfullscreen and webkitendfullscreen.
33089
33090         * html/HTMLAttributeNames.in:
33091             Add onwebkitbeginfullscreen and onwebkitendfullscreen.
33092
33093         * html/HTMLMediaElement.cpp:
33094         (WebCore::HTMLMediaElement::parseMappedAttribute):
33095             Deal with onwebkitbeginfullscreen and onwebkitendfullscreen.
33096         (WebCore::HTMLMediaElement::enterFullscreen):
33097             Schedule webkitbeginfullscreenEvent event, don't set m_isFullscreen unless we
33098             actually do enter fullscreen.
33099         (WebCore::HTMLMediaElement::exitFullscreen):
33100             Schedule webkitendfullscreenEvent event.
33101         (WebCore::HTMLMediaElement::webkitEnterFullScreen):
33102         (WebCore::HTMLMediaElement::webkitExitFullScreen):
33103         (WebCore::HTMLMediaElement::webkitSupportsFullscreen):
33104         (WebCore::HTMLMediaElement::webkitDisplayingFullscreen):
33105             New, access to fullscreen properties and methods.
33106
33107         * html/HTMLMediaElement.h:
33108         * html/HTMLMediaElement.idl:
33109             Declare methods needed for fullscreen API.
33110
33111         * html/HTMLVideoElement.cpp:
33112         (WebCore::HTMLVideoElement::supportsFullscreen):
33113             Return false if a movie does not have video.
33114
33115         * page/DOMWindow.h:
33116             Add webkitbeginfullscreen and webkitendfullscreen.
33117
33118 2009-11-12  Adam Barth  <abarth@webkit.org>
33119
33120         Reviewed by Dimitri Glazkov.
33121
33122         [Chromium] Sify compose button alerts error
33123         https://bugs.webkit.org/show_bug.cgi?id=31394
33124
33125         Test: http/tests/security/calling-versus-current.html
33126
33127         We're supposed to use the calling context for security checks.  In JSC
33128         land, this is the lexicalGlobalObject.
33129
33130         * bindings/v8/V8Proxy.cpp:
33131         (WebCore::V8Proxy::canAccessPrivate):
33132
33133 2009-11-12  Daniel Bates  <dbates@webkit.org>
33134
33135         Reviewed by Darin Adler.
33136
33137         https://bugs.webkit.org/show_bug.cgi?id=30291
33138
33139         Fixes an issue where the returned drop effect is incorrect when
33140         effectAllowed == "uninitialized".
33141
33142         According to section 7.9.2 of the HTML 5 spec.
33143         <http://dev.w3.org/html5/spec/Overview.html#the-dragevent-and-datatransfer-interfaces>
33144         when effectAllowed = "uninitialized" the resulting dropEffect should be the
33145         user-specified dropEffect (i.e. "copy", "move", "link") and "none" for any
33146         other case.
33147         
33148         No test cases are included because we have an existing test case from
33149         bug #24731.
33150
33151         * dom/Clipboard.cpp:
33152         (WebCore::dragOpFromIEOp): Added case for op == "uninitialized".
33153
33154 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
33155
33156         Reviewed by Timothy Hatcher.
33157
33158         Web Inspector: Do not highlight node on refresh.
33159
33160         https://bugs.webkit.org/show_bug.cgi?id=31419
33161
33162         * inspector/front-end/ElementsPanel.js:
33163         (WebInspector.ElementsPanel.prototype.reset):
33164
33165 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
33166
33167         Reviewed by Timothy Hatcher.
33168
33169         Web Inspector: Minor timeline fixes.
33170
33171         https://bugs.webkit.org/show_bug.cgi?id=31417
33172
33173         * inspector/front-end/TimelinePanel.js:
33174         (WebInspector.TimelinePanel.prototype._getRecordDetails):
33175         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
33176         (WebInspector.TimelineRecordTreeElement.prototype._updateDetails):
33177         (WebInspector.TimelineRecordTreeElement.prototype.refresh):
33178
33179 2009-11-12  Alexey Proskuryakov  <ap@apple.com>
33180
33181         SnowLeopard build fix.
33182
33183         Renamed initWithClient to initWithAuthenticationClient.
33184
33185         * platform/network/mac/AuthenticationMac.mm:
33186         (-[WebCoreAuthenticationClientAsChallengeSender initWithAuthenticationClient:]):
33187         (WebCore::AuthenticationChallenge::setAuthenticationClient):
33188
33189 2009-11-12  Chris Fleizach  <cfleizach@apple.com>
33190
33191         Reviewed by Darin Adler.
33192
33193         ARIA: add alert type roles
33194         https://bugs.webkit.org/show_bug.cgi?id=31392
33195
33196         Test: platform/mac/accessibility/aria-alerts.html
33197
33198         * accessibility/AccessibilityObject.h:
33199         * accessibility/AccessibilityRenderObject.cpp:
33200         * accessibility/mac/AccessibilityObjectWrapper.mm:
33201
33202 2009-11-11  Alexey Proskuryakov  <ap@apple.com>
33203
33204         Reviewed by Darin Adler.
33205
33206         https://bugs.webkit.org/show_bug.cgi?id=31386
33207         Make Mac AuthenticationChallenge usable from cross-platform code
33208
33209         No change in behavior, so no tests.
33210
33211         * platform/network/ResourceHandle.cpp:
33212         (WebCore::ResourceHandle::clearAuthentication):
33213         * platform/network/ResourceHandleInternal.h:
33214         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
33215         Don't store m_currentCFChallenge, which was only used for a single assertion. Unlike the
33216         NSURLConnection case, CF challenge doesn't carry a sender with it, so the copy in web challenge
33217         is identical.
33218
33219         * platform/network/cf/AuthenticationChallenge.h:
33220         (WebCore::AuthenticationChallenge::setAuthenticationClient): Added a setter to match the new
33221         Mac interface. Previously, one had to create a new AuthenticationChallenge to replace client.
33222
33223         * platform/network/cf/ResourceHandleCFNet.cpp:
33224         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Fixed assertions after removal
33225         of m_currentCFChallenge. Also, there is no need to set client now, as it's guaranteed to
33226         be already set.
33227
33228         * platform/network/mac/AuthenticationChallenge.h:
33229         (WebCore::AuthenticationChallenge::m_sender): Explained the existence of this member to the
33230         best of my understanding.
33231         (WebCore::AuthenticationChallenge::m_nsChallenge): Renamed from m_macChallenge to prevent
33232         confusion with "mac" and "web" challenges in ResourceHandleInternal.
33233
33234         * platform/network/mac/AuthenticationMac.mm:
33235         (WebCoreAuthenticationClientAsChallengeSender): Added a Obj-C wrapper for AuthenticationClient,
33236         making it possible to use the latter with NSURLAuthenticationChallenge.
33237         (WebCore::AuthenticationChallenge::AuthenticationChallenge): Updated for m_macChallenge ->
33238         m_nsChallenge renaming.
33239         (WebCore::AuthenticationChallenge::setAuthenticationClient): Wrap the client in Obj-C and
33240         set it as sender (or unset, if client is null).
33241
33242         * platform/network/mac/ResourceHandleMac.mm:
33243         (WebCoreResourceHandleAsDelegate) WebCoreResourceHandleAsDelegate no longer doubles as
33244         authentication challenge sender.
33245         (WebCore::ResourceHandle::~ResourceHandle): A navigation can happen underneath an
33246         authentication sheet.
33247         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Form m_currentWebChallenge
33248         using the new setAuthenticationClient() method.
33249         (WebCore::ResourceHandle::didCancelAuthenticationChallenge): Fixed an incorrect assertion.
33250         Since didCancelAuthenticationChallenge is called by connection, the passed challenge is
33251         the original Mac one, not the one we created for use with authentication sheet. I don't
33252         know when a connection would cancel authentication in practice, so I haven't tested this.
33253
33254 2009-11-12  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
33255
33256         Reviewed by Timothy Hatcher.
33257
33258         Web Inspector: breakpoint sidebar entries should allow click over entire list item
33259         https://bugs.webkit.org/show_bug.cgi?id=31411
33260
33261         No new tests; no new functionality, small usability change. 
33262
33263         * inspector/front-end/BreakpointsSidebarPane.js:
33264         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
33265         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.breakpointClicked):
33266
33267 2009-11-12  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
33268
33269         Reviewed by Timothy Hatcher.
33270
33271         Web Inspector: breakpoints in named evals are not restored after a reload
33272         https://bugs.webkit.org/show_bug.cgi?id=31375
33273
33274         Manual test added
33275
33276         * inspector/front-end/ScriptsPanel.js:
33277         (WebInspector.ScriptsPanel.prototype.addScript):
33278         * manual-tests/inspector/bp-in-named-eval-after-reload.html: Added.
33279
33280 2009-11-12  Benjamin Poulain  <benjamin.poulain@nokia.com>
33281
33282         Reviewed by Kenneth Rohde Christiansen.
33283
33284         Custom printing shrink factors
33285         https://bugs.webkit.org/show_bug.cgi?id=29042
33286
33287         This reverts commit r49769. The public API for this needs to be reviewed
33288         before its inclusion in Qt.
33289
33290         * page/PrintContext.cpp:
33291         (WebCore::PrintContext::begin):
33292         * page/Settings.cpp:
33293         (WebCore::Settings::Settings):
33294         * page/Settings.h:
33295
33296 2009-11-12  Alexander Pavlov  <apavlov@chromium.org>
33297
33298         Reviewed by Pavel Feldman.
33299
33300         Web Inspector: Resource errors/warnings not shown in the Resource tree.
33301
33302         Error/Warning bubbles are not displayed next to the resource in the 
33303         Resources panel if those occur before the resource is attached to the tree.
33304         https://bugs.webkit.org/show_bug.cgi?id=31404
33305
33306         Test: manual-tests/inspector/styled-error-bubbles-in-scripts.html
33307
33308         * inspector/front-end/AbstractTimelinePanel.js:
33309         (WebInspector.AbstractTimelinePanel.prototype.removeItem):
33310         * inspector/front-end/ResourcesPanel.js:
33311         (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
33312
33313 2009-11-12  Philippe Normand  <pnormand@igalia.com>
33314
33315         Reviewed by Jan Alonzo.
33316
33317         https://bugs.webkit.org/show_bug.cgi?id=31047
33318         [GTK] Failing test media/video-played-ranges-1.html
33319
33320         Follow-up of r50726, don't block the UI thread when calling
33321         gst_element_get_state(). Also fixed a compilation warning and some
33322         static casts.
33323
33324         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
33325         (WebCore::playbackPosition):
33326         (WebCore::MediaPlayerPrivate::seek):
33327         (WebCore::MediaPlayerPrivate::setRate):
33328
33329 2009-11-12  Philippe Normand  <pnormand@igalia.com>
33330
33331         Reviewed by Jan Alonzo.
33332
33333         https://bugs.webkit.org/show_bug.cgi?id=31047
33334         [GTK] Failing test media/video-played-ranges-1.html
33335
33336         don't pause pipeline if already paused, same for play()
33337
33338         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
33339         (WebCore::MediaPlayerPrivate::play):
33340         (WebCore::MediaPlayerPrivate::pause):
33341
33342 2009-11-12  Kinuko Yasuda  <kinuko@google.com>
33343
33344         Reviewed by David Levin.
33345
33346         Support Gtk scrollwheel behavior for horizontal scrollbars on Linux
33347         Chromium too.
33348         https://bugs.webkit.org/show_bug.cgi?id=31292
33349
33350         No new tests. (Corresponding test for Gtk+ is
33351         platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html)
33352
33353         * page/EventHandler.cpp:
33354         * page/chromium/EventHandlerChromium.cpp:
33355
33356 2009-11-12  Yuta Kitamura  <yutak@chromium.org>
33357
33358         Reviewed by Eric Seidel.
33359
33360         Prevent text inside a multi-column block from being split into columns.
33361         
33362         If the tentative height of a multi-column block was too small, we need to
33363         expand the block height and try to layout again, in order to prevent text
33364         from being split into different columns.
33365
33366         CSS Multicolumn text is split awkwardly
33367         https://bugs.webkit.org/show_bug.cgi?id=22249
33368
33369         Test: fast/multicol/single-line.html
33370
33371         * rendering/RenderBlock.cpp:
33372         (WebCore::RenderBlock::layoutColumns):
33373         * rendering/RenderBlock.h:
33374         * rendering/RenderLineBoxList.cpp:
33375         (WebCore::RenderLineBoxList::paint):
33376         * rendering/RenderView.h:
33377         (WebCore::RenderView::setTruncatedAt):
33378         (WebCore::RenderView::setMinimumColumnHeight):
33379         (WebCore::RenderView::minimumColumnHeight):
33380
33381 2009-11-11  Kent Tamura  <tkent@chromium.org>
33382
33383         Reviewed by Darin Adler.
33384
33385         Fix a bug that RenderFileUploadControl isn't initialized with multiple files.
33386         https://bugs.webkit.org/show_bug.cgi?id=31195
33387
33388         Test: fast/forms/input-file-re-render.html
33389
33390         * rendering/RenderFileUploadControl.cpp:
33391         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
33392
33393 2009-11-09  Dumitru Daniliuc  <dumi@chromium.org>
33394
33395         Reviewed by Dimitri Glazkov.
33396
33397         Fixing Chromium's POSIX VFS implementation, by adding the required
33398         "used file descriptors" logic.
33399
33400         https://bugs.webkit.org/show_bug.cgi?id=31275
33401
33402         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
33403
33404 2009-11-11  Chris Fleizach  <cfleizach@apple.com>
33405
33406         Reviewed by Oliver Hunt.
33407
33408         need to implement aria tree roles
33409         https://bugs.webkit.org/show_bug.cgi?id=31284
33410
33411         Tests: platform/mac/accessibility/aria-multiselectable.html
33412                platform/mac/accessibility/aria-tree.html
33413
33414         * accessibility/AccessibilityList.cpp:
33415         (WebCore::AccessibilityList::accessibilityIsIgnored):
33416         * accessibility/AccessibilityObject.cpp:
33417         (WebCore::AccessibilityObject::ariaTreeRows):
33418         (WebCore::AccessibilityObject::ariaTreeItemContent):
33419         (WebCore::AccessibilityObject::ariaTreeItemDisclosedRows):
33420         * accessibility/AccessibilityObject.h:
33421         (WebCore::):
33422         (WebCore::AccessibilityObject::isTree):
33423         (WebCore::AccessibilityObject::isTreeItem):
33424         (WebCore::AccessibilityObject::setIsExpanded):
33425         (WebCore::AccessibilityObject::canSetExpandedAttribute):
33426         (WebCore::AccessibilityObject::hierarchicalLevel):
33427         (WebCore::AccessibilityObject::setSelectedRows):
33428         (WebCore::AccessibilityObject::performDefaultAction):
33429         * accessibility/AccessibilityRenderObject.cpp:
33430         (WebCore::AccessibilityRenderObject::hierarchicalLevel):
33431         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
33432         (WebCore::AccessibilityRenderObject::isExpanded):
33433         (WebCore::AccessibilityRenderObject::setElementAttributeValue):
33434         (WebCore::AccessibilityRenderObject::elementAttributeValue):
33435         (WebCore::AccessibilityRenderObject::setIsExpanded):
33436         (WebCore::AccessibilityRenderObject::isSelected):
33437         (WebCore::AccessibilityRenderObject::setSelected):
33438         (WebCore::AccessibilityRenderObject::setSelectedRows):
33439         (WebCore::createARIARoleMap):
33440         (WebCore::AccessibilityRenderObject::canSetExpandedAttribute):
33441         (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
33442         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
33443         (WebCore::AccessibilityRenderObject::selectedChildren):
33444         * accessibility/AccessibilityRenderObject.h:
33445         * accessibility/mac/AccessibilityObjectMac.mm:
33446         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
33447         * accessibility/mac/AccessibilityObjectWrapper.mm:
33448         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
33449         (RoleEntry::):
33450         (-[AccessibilityObjectWrapper subrole]):
33451         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
33452         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
33453         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
33454         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
33455         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
33456         * html/HTMLAttributeNames.in:
33457
33458 2009-11-11  Brent Fulgham  <bfulgham@webkit.org>
33459
33460         Build fix after @r50760 with ENABLE_FILTERS.
33461
33462         * platform/graphics/filters/SourceAlpha.cpp:
33463         (WebCore::SourceAlpha::apply): Supply ColorSpace to fillRect.
33464         * svg/graphics/filters/SVGFEFlood.cpp: Supply ColorSpace argument
33465           to fillRect.
33466
33467 2009-11-11  Fumitoshi Ukai  <ukai@chromium.org>
33468
33469         Reviewed by Alexey Proskuryakov.
33470
33471         Fix WebSocket frame parser of frame_type with high-order bit set.
33472         https://bugs.webkit.org/show_bug.cgi?id=30668
33473
33474         If buffer is smaller than frame's length, it should break the loop
33475         instead of reading next byte.
33476
33477         Tests: websocket/tests/frame-length-longer-than-buffer.html
33478                websocket/tests/frame-length-skip.html
33479
33480         * websockets/WebSocketChannel.cpp:
33481         (WebCore::WebSocketChannel::didReceiveData):
33482
33483 2009-11-11  Yusuke Sato  <yusukes@chromium.org>
33484
33485         Reviewed by Adam Barth.
33486
33487         [chromium] Remove t2embed.dll functions from FontCustomPlatformData.cpp for Chromium
33488         https://bugs.webkit.org/show_bug.cgi?id=31345
33489
33490         Remove dependency on t2embed.dll so that Chromium for Windows can start even if t2embed.dll cannot be accessed.
33491
33492         * platform/graphics/chromium/FontCustomPlatformData.cpp:
33493         (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Remove TTDeleteEmbeddedFont() call. Always use RemoveFontMemResourceEx().
33494         (WebCore::FontCustomPlatformData::fontPlatformData): Remove TTGetNewFontName() call.
33495         (WebCore::createFontCustomPlatformData): Remove TTLoadEmbeddedFont() call. Always use AddFontMemResourceEx() via renameAndActivateFont() in opentype/OpenTypeUtility.h. Remove EOTStream class as well.
33496
33497 2009-11-11  Beth Dakin  <bdakin@apple.com>
33498
33499         Build fix. No review needed.
33500
33501         * platform/graphics/gtk/FontGtk.cpp:
33502         (WebCore::Font::drawComplexText):
33503
33504 2009-11-11  Beth Dakin  <bdakin@apple.com>
33505
33506         Build fix. No review needed.
33507
33508         * platform/graphics/cairo/FontCairo.cpp:
33509         (WebCore::Font::drawGlyphs):
33510
33511 2009-11-11  Beth Dakin  <bdakin@apple.com>
33512
33513         Windows build fix. No review needed. 
33514
33515         * platform/graphics/win/FontCGWin.cpp:
33516         (WebCore::Font::drawGlyphs):
33517
33518 2009-11-11  Beth Dakin  <bdakin@apple.com>
33519
33520         Reviewed by Simon Fraser.
33521
33522         Fix for https://bugs.webkit.org/show_bug.cgi?id=31382
33523         Make -webkit-color-correction work with shadows
33524
33525         From canvas, just send DeviceColorSpace to setShadow() for now. 
33526         Will fix soon when I address https://bugs.webkit.org/show_bug.cgi?id=31319
33527         * html/canvas/CanvasRenderingContext2D.cpp:
33528         (WebCore::CanvasRenderingContext2D::setShadow):
33529         (WebCore::CanvasRenderingContext2D::applyShadow):
33530
33531         setShadow() and setPlatformShadow() now take a ColorSpace.
33532         * platform/graphics/GraphicsContext.cpp:
33533         (WebCore::GraphicsContext::setShadow):
33534         * platform/graphics/GraphicsContext.h:
33535         * platform/graphics/cg/GraphicsContextCG.cpp:
33536         (WebCore::createCGColorWithColorSpace): New helper to create a 
33537         color in a ColorSpace.
33538         (WebCore::setCGFillColor): Call new helper.
33539         (WebCore::setCGStrokeColor): Call new helper.
33540         (WebCore::GraphicsContext::setPlatformShadow): Call new helper.
33541         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
33542         (WebCore::GraphicsContext::setPlatformShadow):
33543
33544         Send appropriate ColorSpace to setShadow().
33545         * platform/graphics/mac/FontMac.mm:
33546         (WebCore::Font::drawGlyphs):
33547         * rendering/EllipsisBox.cpp:
33548         (WebCore::EllipsisBox::paint):
33549         * rendering/InlineFlowBox.cpp:
33550         (WebCore::InlineFlowBox::paintTextDecorations):
33551         * rendering/InlineTextBox.cpp:
33552         (WebCore::paintTextWithShadows):
33553         (WebCore::InlineTextBox::paintDecoration):
33554         * rendering/RenderBoxModelObject.cpp:
33555         (WebCore::RenderBoxModelObject::paintBoxShadow):
33556         * rendering/SVGInlineTextBox.cpp:
33557         (WebCore::SVGInlineTextBox::paintCharacters):
33558         * rendering/SVGRenderSupport.cpp:
33559         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
33560
33561         Attempt to keep ports building.
33562         * platform/graphics/cairo/GraphicsContextCairo.cpp:
33563         (WebCore::GraphicsContext::setPlatformShadow):
33564         * platform/graphics/qt/GraphicsContextQt.cpp:
33565         (WebCore::GraphicsContext::setPlatformShadow):
33566         * platform/graphics/skia/GraphicsContextSkia.cpp:
33567         (WebCore::GraphicsContext::setPlatformShadow):
33568         * platform/graphics/wince/GraphicsContextWince.cpp:
33569         (WebCore::GraphicsContext::setPlatformShadow):
33570         * platform/graphics/wx/GraphicsContextWx.cpp:
33571         (WebCore::GraphicsContext::setPlatformShadow):
33572
33573 2009-11-11  Kent Tamura  <tkent@chromium.org>
33574
33575         Reviewed by Darin Adler.
33576
33577         Print the file text of a file upload control in DumpRenderTree for ease of tests.
33578         https://bugs.webkit.org/show_bug.cgi?id=31195
33579
33580         * rendering/RenderFileUploadControl.cpp:
33581         (WebCore::RenderFileUploadControl::paintObject):
33582         (WebCore::RenderFileUploadControl::fileTextValue):
33583         * rendering/RenderFileUploadControl.h:
33584         (WebCore::RenderFileUploadControl::isFileUploadControl):
33585         (WebCore::toRenderFileUploadControl):
33586         * rendering/RenderObject.h:
33587         (WebCore::RenderObject::isFileUploadControl):
33588         * rendering/RenderTreeAsText.cpp:
33589         (WebCore::operator<<):
33590
33591 2009-11-11  Gavin Barraclough  <barraclough@apple.com>
33592
33593         Reviewed by Sam Weinig.
33594
33595         DOM Wrappers for some nodes may not be marked.
33596         https://bugs.webkit.org/show_bug.cgi?id=31380
33597
33598         Some markChildren methods are calling getCachedDOMNodeWrapper, which will find
33599         the wrapper for the current world only.  This means that wrappers may be GC'ed
33600         prematurely, and properties lost.
33601
33602         Move to a model more like markDOMObjectWrapper, mark wrappers for all worlds.
33603
33604         * bindings/js/JSAttrCustom.cpp:
33605         (WebCore::JSAttr::markChildren):
33606         * bindings/js/JSDOMBinding.cpp:
33607         (WebCore::markDOMNodeWrapper):
33608         * bindings/js/JSDOMBinding.h:
33609         * bindings/js/JSNamedNodeMapCustom.cpp:
33610         (WebCore::JSNamedNodeMap::markChildren):
33611         * bindings/js/JSNodeCustom.cpp:
33612         (WebCore::JSNode::markChildren):
33613         * bindings/js/JSSVGElementInstanceCustom.cpp:
33614         (WebCore::JSSVGElementInstance::markChildren):
33615         * bindings/js/JSStyleSheetCustom.cpp:
33616         (WebCore::JSStyleSheet::markChildren):
33617
33618 2009-11-11  Ben Murdoch  <benm@google.com>
33619
33620         Reviewed by Darin Adler.
33621
33622         bindings/js/ScriptObject.cpp is missing and ENABLE(INSPECTOR) guard.
33623         https://bugs.webkit.org/show_bug.cgi?id=31384
33624
33625         No functionality change so no tests required.
33626
33627         * bindings/js/ScriptObject.cpp: Add ENABLE(INSPECTOR) guard around the JSInspectorBackend.h include.
33628
33629 2009-11-11  Jens Alfke  <snej@chromium.org>
33630
33631         Reviewed by Dimitri Glazkov.
33632
33633         The Big De-Inlining. 450k code size reduction (32-bit x86.)
33634         - Various inline functions in V8Binding.h made non-inline.
33635         - Some renaming for consistency.
33636         - New function createRawTemplate().
33637         https://bugs.webkit.org/show_bug.cgi?id=31383
33638
33639         * bindings/scripts/CodeGeneratorV8.pm:
33640         * bindings/v8/V8Binding.cpp:
33641         (WebCore::v8DOMWrapperToNative):
33642         (WebCore::v8ValueToWebCoreString):
33643         (WebCore::v8ValueToAtomicWebCoreString):
33644         (WebCore::toInt32):
33645         (WebCore::toWebCoreString):
33646         (WebCore::toWebCoreStringWithNullCheck):
33647         (WebCore::toAtomicWebCoreStringWithNullCheck):
33648         (WebCore::toWebCoreStringWithNullOrUndefinedCheck):
33649         (WebCore::isUndefinedOrNull):
33650         (WebCore::v8Boolean):
33651         (WebCore::v8UndetectableString):
33652         (WebCore::v8StringOrNull):
33653         (WebCore::v8StringOrUndefined):
33654         (WebCore::v8StringOrFalse):
33655         (WebCore::v8StringToWebCoreString):
33656         (WebCore::v8ExternalString):
33657         (WebCore::createRawTemplate):  New function.
33658         * bindings/v8/V8Binding.h:
33659         (WebCore::v8DOMWrapperTo):
33660         (WebCore::v8DOMWrapperToNode):
33661         (WebCore::v8StringToWebCoreString):
33662         (WebCore::v8StringToAtomicWebCoreString):
33663
33664 2009-11-11  Jens Alfke  <snej@chromium.org>
33665
33666         Reviewed by Dimitri Glazkov.
33667
33668         More V8 de-inlining (outlining?) Abstracted a chunk of boilerplate code from every
33669         event-listener setter into a new subroutine transferHiddenDependency().
33670         https://bugs.webkit.org/show_bug.cgi?id=31377
33671
33672         * bindings/scripts/CodeGeneratorV8.pm:  Replace boilerplate with call to transferHiddenDependency().
33673         * bindings/v8/V8Utilities.cpp:
33674         (WebCore::transferHiddenDependency):  New.
33675         * bindings/v8/V8Utilities.h:  Declaration of transferHiddenDependency.
33676
33677 2009-11-11  Brian Weinstein  <bweinstein@apple.com>
33678
33679         Reviewed by Beth Dakin.
33680
33681         If we are on Windows, don't try and get the kCGColorSpaceSRGB ColorSpace,
33682         because there is a CG bug preventing this from working.
33683
33684         * platform/graphics/cg/GraphicsContextCG.cpp:
33685         (WebCore::sRGBColorSpaceRef):
33686
33687 2009-11-11  Pavel Feldman  <pfeldman@chromium.org>
33688
33689         Reviewed by Timothy Hatcher.
33690
33691         Check that if Storage panel exists before calling its methods
33692
33693         https://bugs.webkit.org/show_bug.cgi?id=31343
33694
33695         * inspector/front-end/inspector.js:
33696         (WebInspector.addDatabase):
33697         (WebInspector.addCookieDomain):
33698         (WebInspector.addDOMStorage):
33699         (WebInspector.updateDOMStorage):
33700
33701 2009-11-11  Jens Alfke  <snej@chromium.org>
33702
33703         Reviewed by Dimitri Glazkov.
33704
33705         De-inline convertNodeToV8Object(), which expands to a lot of asm code and is inlined 136
33706         times in the generated V8 bindings.
33707         https://bugs.webkit.org/show_bug.cgi?id=31368
33708
33709         * bindings/v8/V8DOMWrapper.cpp:
33710         (WebCore::V8DOMWrapper::convertNodeToV8Object):  Moved body here from .h file
33711         * bindings/v8/V8DOMWrapper.h:  Removed inline method body.
33712
33713 2009-11-11  Jessie Berlin  <jberlin@webkit.org>
33714
33715         Reviewed by Timothy Hatcher.
33716
33717         Display the correct summary in the web inspector for the shorthands
33718         border-color, border-width, border-style, margin, and padding.
33719         https://bugs.webkit.org/show_bug.cgi?id=7987
33720
33721         Test: fast/css/shorthands-four-values.html
33722
33723         * css/CSSMutableStyleDeclaration.cpp:
33724         (WebCore::CSSMutableStyleDeclaration::get4Values):
33725         Display the summary information in the same way the shorthand would be
33726         specified in a css rule.
33727
33728 2009-11-11  Jens Alfke  <snej@chromium.org>
33729
33730         Reviewed by Dimitri Glazkov.
33731
33732         Make V8 bindings return NULL handles instead of calling v8::Undefined(). This has equivalent
33733         meaning to the caller, saves code, and appears to save a few cycles at runtime too.
33734         https://bugs.webkit.org/show_bug.cgi?id=31367
33735
33736         * bindings/scripts/CodeGeneratorV8.pm: Change "v8::Undefined()" to "v8::Handle<v8::Value>()"
33737
33738 2009-11-11  Jens Alfke  <snej@chromium.org>
33739
33740         Reviewed by Dimitri Glazkov.
33741
33742         Optimize V8 getDOMNodeMap(), a hot function in Dromaeo DOM tests, by increasing inlining.
33743
33744         * bindings/v8/DOMData.cpp:
33745         (WebCore::DOMData::getCurrent):  Moved getCurrentMainThread to MainThreadDOMData::getCurrent
33746             so it can be inlined by its caller.
33747         * bindings/v8/DOMData.h:
33748         * bindings/v8/MainThreadDOMData.cpp:
33749         (WebCore::MainThreadDOMData::getCurrent):  Moved here from DOMData.cpp.
33750         (WebCore::MainThreadDOMData::getMainThreadStore):  Added UNLIKELY macro to improve codegen.
33751         (WebCore::MainThreadDOMData::getCurrentMainThreadStore):  Combination of getCurrentMainThread
33752             and getStore, which inline both calls together.
33753         * bindings/v8/MainThreadDOMData.h:
33754         (WebCore::MainThreadDOMData::getStore):  Broke out nonvirtual getMainThreadStore for inlineability.
33755         * bindings/v8/V8DOMMap.cpp:
33756         (WebCore::getDOMNodeMap):  Call new getCurrentMainThreadStore, which is faster.
33757
33758 2009-11-11  Nate Chapin  <japhet@chromium.org>
33759
33760         Reviewed by Dimitri Glazkov.
33761
33762         Add methods to KURLGoogle.cpp declared in http://trac.webkit.org/changeset/50784 but not defined when using KURLGoogle.
33763
33764         https://bugs.webkit.org/show_bug.cgi?id=31357
33765
33766         * platform/KURLGoogle.cpp:
33767         (WebCore::isSchemeFirstChar):
33768         (WebCore::isSchemeChar):
33769         (WebCore::KURL::hasPort):
33770         (WebCore::KURL::removePort):
33771         (WebCore::protocolIsValid):
33772
33773 2009-11-11  Brent Fulgham  <bfulgham@webkit.org>
33774
33775         Build fix, no reviewed.
33776
33777         Correct setPlatformFillColor and setPlatformStrokeColor calls
33778         to match new ColorSpace-supporting signatures.
33779
33780         * platform/graphics/win/GraphicsContextCairoWin.cpp:  Add the
33781           color space to the set[...]Color calls.
33782
33783 2009-11-10  Alexey Proskuryakov  <ap@apple.com>
33784
33785         Reviewed by Sam Weinig.
33786
33787         https://bugs.webkit.org/show_bug.cgi?id=31327
33788         Clean up SocketStreamHandleClient interface
33789
33790         No change in behavior.
33791
33792         * platform/network/SocketStreamHandleClient.h: Removed willOpenStream and willSendData.
33793         (WebCore::SocketStreamHandleClient::willOpenStream): Removed. This is currently not used by
33794         the only client (WebSocketChannel), and it's not clear what this callback's semantics
33795         should be.
33796         (WebCore::SocketStreamHandleClient::willSendData): Ditto.
33797         (WebCore::SocketStreamHandleClient::receivedCancellation): Removed, because it was misplaced.
33798         For ResourceHandle, this method is called when the user cancels authentication sheet,
33799         not when something happens with the stream.
33800
33801         * websockets/WebSocketChannel.h: Some WebSocketChannel methods were virtual without any
33802         reason. Also, added didReceiveAuthenticationChallenge/didCancelAuthenticationChallenge.
33803
33804         * websockets/WebSocketChannel.cpp: Adjusted for the above change. Authentication-related
33805         callbacks have no real implementation yet.
33806
33807 2009-11-11  Zoltan Horvath  <zoltan@webkit.org>
33808
33809         Reviewed by Eric Seidel.
33810
33811         Allow custom memory allocation control for the part of page directory in WebCore
33812         https://bugs.webkit.org/show_bug.cgi?id=31350
33813
33814         Inherits the following classes from Noncopyable because these are instantiated
33815         by 'new' and these are no need to be copyable:
33816
33817         class DragController         - instantiated at: WebCore/page/Page.cpp:107
33818         class FocusController        - instantiated at: WebCore/page/Page.cpp:109
33819         class Settings               - instantiated at: WebCore/page/Page.cpp:116
33820         class PluginHalter           - instantiated at: WebCore/page/Page.cpp:160
33821         struct ScheduledEvent        - instantiated at: WebCore/page/FrameView.cpp:1275
33822         class UserScript             - instantiated at: WebCore/page/PageGroup.cpp:208
33823         struct EventHandlerDragState - instantiated at: WebCore/page/EventHandler.cpp:182
33824         class XSSAuditor             - instantiated at: WebCore/bindings/js/ScriptController.cpp:70
33825         class UserStyleSheet         - instantiated at: WebCore/page/PageGroup.cpp:222
33826
33827         Inherits PropertyWrapperBase class from Noncopyable because (its child class) 
33828         PropertyWrapper is instantiated by 'new' in 
33829         WebCore/page/animation/AnimationBase.cpp:564 it is no need to be copyable.
33830
33831         * page/DragController.h:
33832         * page/EventHandler.h:
33833         * page/FocusController.h:
33834         * page/FrameView.cpp:
33835         * page/PluginHalter.h:
33836         * page/Settings.h:
33837         * page/UserScript.h:
33838         * page/UserStyleSheet.h:
33839         * page/XSSAuditor.h:
33840         * page/animation/AnimationBase.cpp:
33841
33842 2009-11-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
33843
33844         Reviewed by Kenneth Rohde Christiansen.
33845
33846         https://bugs.webkit.org/show_bug.cgi?id=31323
33847         Fix a few compiler warnings
33848
33849         No new tests as there is no new functionality.
33850
33851         * editing/htmlediting.cpp:
33852         (WebCore::isRenderedAsNonInlineTableImageOrHR): Use explicit
33853         parentheses to silence gcc 4.4 -Wparentheses warnings
33854
33855 2009-11-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
33856
33857         Reviewed by Mark Rowe.
33858
33859         Set m_hasPendingGeometryChange to true by default, so that
33860         at least one call to NPP_SetWindow is executed, which is
33861         needed by the DRT plugin testing framework.
33862
33863         * plugins/PluginView.cpp:
33864         (WebCore::PluginView::PluginView):
33865
33866 2009-11-11  Csaba Osztrogonác  <ossy@webkit.org>
33867
33868         Rubber-stamped by Kenneth Rohde Christiansen.
33869
33870         https://bugs.webkit.org/show_bug.cgi?id=31348
33871         [Qt] Remove unnecessary LUT creator from WebCore.pro
33872
33873         * WebCore.pro:
33874
33875 2009-11-11  Simon Hausmann  <simon.hausmann@nokia.com>
33876
33877         Reviewed by Tor Arne Vestbø.
33878
33879         Introduce a function for querying the input method status
33880         in QWebPageClient.
33881
33882         * platform/qt/QWebPageClient.h:
33883
33884 2009-11-11  Benjamin Otte  <otte@gnome.org>
33885
33886         Reviewed by Jan Alonzo.
33887
33888         [GTK] Black artifacts in youtube.com/html5
33889
33890         Paint the video to the given size. It's the job of the callers to keep
33891         track of aspect ratio. RenderVideo.cpp does it for the <video>
33892         element.
33893         https://bugs.webkit.org/show_bug.cgi?id=30925
33894
33895         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
33896         (WebCore::MediaPlayerPrivate::paint):
33897
33898 2009-11-11  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
33899
33900         Reviewed by Reviewed by Jan Alonzo.
33901
33902         https://bugs.webkit.org/show_bug.cgi?id=30901
33903         [Gtk] Need to de-lint the Atk a11y code
33904
33905         Cleaned up some missed capitalization style-guideline violations.
33906
33907         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
33908
33909 2009-11-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
33910
33911         Reviewed by Eric Seidel.
33912
33913         [Qt] Make the default style background color valid.
33914         Currently the color is transparent but invalid, this causes
33915         list boxes in QtWebKit to be drawn with a black background
33916         since r49242.
33917         https://bugs.webkit.org/show_bug.cgi?id=31295
33918
33919         * rendering/style/RenderStyle.h:
33920         (WebCore::InheritedFlags::initialBackgroundColor):
33921         * rendering/style/StyleBackgroundData.cpp:
33922         (WebCore::StyleBackgroundData::StyleBackgroundData):
33923
33924 2009-11-10  Gavin Barraclough  <barraclough@apple.com>
33925
33926         Reviewed by Geoff Garen.
33927
33928         Simplify the ownership model for worlds - rather than having a pair of weak references
33929         between DOMWrapperWorld and ScriptController/ScriptCachedFrameData, give the latter an
33930         ref pointer to the former.  This reduces complexity & cost of the caching entries in the
33931         back forward cache.
33932
33933         * WebCore.base.exp:
33934         * bindings/js/JSDOMBinding.cpp:
33935         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
33936         * bindings/js/JSDOMBinding.h:
33937         (WebCore::DOMWrapperWorld::forgetDocument):
33938         * bindings/js/ScriptCachedFrameData.cpp:
33939         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
33940         (WebCore::ScriptCachedFrameData::restore):
33941         (WebCore::ScriptCachedFrameData::clear):
33942         * bindings/js/ScriptCachedFrameData.h:
33943         * bindings/js/ScriptController.cpp:
33944         (WebCore::ScriptController::~ScriptController):
33945         (WebCore::ScriptController::clearWindowShell):
33946         (WebCore::ScriptController::initScript):
33947         (WebCore::ScriptController::updateDocument):
33948         * bindings/js/ScriptController.h:
33949
33950 2009-11-10  Shinichiro Hamaji  <hamaji@chromium.org>
33951
33952         Reviewed by Darin Adler.
33953
33954         rename counter to makeCounterNode in RenderCounter.cpp
33955         https://bugs.webkit.org/show_bug.cgi?id=31289
33956
33957         No new test because this is just a small refactoring.
33958
33959         * rendering/RenderCounter.cpp:
33960         (WebCore::findPlaceForCounter):
33961         (WebCore::makeCounterNode):
33962         (WebCore::RenderCounter::originalText):
33963
33964 2009-11-10  Daniel Bates  <dbates@webkit.org>
33965
33966         Reviewed by Oliver Hunt.
33967
33968         https://bugs.webkit.org/show_bug.cgi?id=30754
33969
33970         Patch 2 of 2.
33971
33972         Removed method EventHandler::dragSourceMovedTo, since it is no longer
33973         needed. This method fired a drag event whenever the mouse moved, but
33974         section 7.9.4 of the HTML 5 spec. defines the drag-and-drop processing
33975         model independent of when the mouse moves. See "Among other changes..."
33976         in the change log for patch 1 for more details.
33977
33978         * WebCore.DragSupport.exp:
33979         * page/EventHandler.cpp: Removed method EventHandler::dragSourceMovedTo.
33980         (WebCore::EventHandler::handleDrag): Updated comment about reentrancy issue.
33981         * page/EventHandler.h:
33982
33983 2009-11-10  Daniel Bates  <dbates@webkit.org>
33984
33985         Reviewed by Oliver Hunt.
33986
33987         https://bugs.webkit.org/show_bug.cgi?id=30754
33988
33989         Patch 1 of 2.
33990
33991         As per Section 7.9.4 of the HTML 5 spec. <http://dev.w3.org/html5/spec/Overview.html#drag-and-drop-processing-model>,
33992         the drag event should always fire before the dragover event.
33993
33994         In fixing this bug, this patch also makes our drag processing model
33995         conform to the HTML 5 spec.
33996
33997         Among the changes, this patch ensures that the drag event isn't fired outside
33998         of the drag-and-drop processing loop, WebCore::EventHandler::updateDragAndDrop.
33999         Currently, the drag event is fired whenever the mouse button is down and the OS
34000         detects the mouse moved. But, as per the spec, the drag event should
34001         fire approx. every 350ms so long as the mouse button is down.
34002
34003         Test: fast/events/drag-and-drop-fire-drag-dragover.html
34004
34005         * page/EventHandler.cpp:
34006         (WebCore::EventHandler::clear):
34007         (WebCore::EventHandler::canHandleDragAndDropForTarget): Formerly named handleDragAndDropForTarget.
34008         Modified to determine when we are in the correct instance of EventHandler to service the drag
34009         and drop operation.
34010         (WebCore::EventHandler::updateDragAndDrop): Moved code from WebCore::EventHandler::dragSourceMovedTo
34011         into this method.
34012         (WebCore::EventHandler::cancelDragAndDrop):
34013         (WebCore::EventHandler::performDragAndDrop):
34014         (WebCore::EventHandler::clearDragState):
34015         * page/EventHandler.h: Added field m_shouldOnlyFireDragOverEvent to determine whether
34016         we should fire both drag and dragover events or only the dragover event.
34017
34018 2009-11-10  Vitaly Repeshko  <vitalyr@chromium.org>
34019
34020         Reviewed by Dimitri Glazkov.
34021
34022         [V8] Fix crash in V8CustomXPathNSResolver (http://crbug.com/26726).
34023         https://bugs.webkit.org/show_bug.cgi?id=31301
34024
34025         Tested by new fast/xpath/xpath-detached-iframe-resolver-crash.html.
34026
34027         Allowed passing V8Proxy for the calling JS context:
34028         * bindings/v8/V8DOMWrapper.h:
34029         (WebCore::V8DOMWrapper::getXPathNSResolver):
34030         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
34031         (WebCore::V8CustomXPathNSResolver::create):
34032         (WebCore::V8CustomXPathNSResolver::V8CustomXPathNSResolver):
34033         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
34034         * bindings/v8/custom/V8CustomXPathNSResolver.h:
34035         * bindings/v8/custom/V8DocumentCustom.cpp:
34036         (WebCore::CALLBACK_FUNC_DECL):
34037
34038 2009-11-10  Yael Aharon  <yael.aharon@nokia.com>
34039
34040         Reviewed by Timothy Hatcher.
34041
34042         Implement URL decomposition IDL attributes for HTMLAnchorElement.
34043         https://bugs.webkit.org/show_bug.cgi?id=29972.
34044
34045         Add methods for setting different parts of the URL in href attribute.
34046
34047         Tests: fast/dom/HTMLAnchorElement/set-href-attribute-hash.html
34048                fast/dom/HTMLAnchorElement/set-href-attribute-host.html
34049                fast/dom/HTMLAnchorElement/set-href-attribute-hostname.html
34050                fast/dom/HTMLAnchorElement/set-href-attribute-pathname.html
34051                fast/dom/HTMLAnchorElement/set-href-attribute-port.html
34052                fast/dom/HTMLAnchorElement/set-href-attribute-protocol.html
34053                fast/dom/HTMLAnchorElement/set-href-attribute-search.html
34054
34055         * bindings/js/JSLocationCustom.cpp:
34056         (WebCore::JSLocation::setPort):
34057         * html/HTMLAnchorElement.cpp:
34058         (WebCore::parsePortFromStringPosition):
34059         (WebCore::HTMLAnchorElement::setHash):
34060         (WebCore::HTMLAnchorElement::setHost):
34061         (WebCore::HTMLAnchorElement::setHostname):
34062         (WebCore::HTMLAnchorElement::setPathname):
34063         (WebCore::HTMLAnchorElement::setPort):
34064         (WebCore::HTMLAnchorElement::setProtocol):
34065         (WebCore::HTMLAnchorElement::setSearch):
34066         * html/HTMLAnchorElement.h:
34067         * html/HTMLAnchorElement.idl:
34068         * loader/FrameLoader.cpp:
34069         (WebCore::FrameLoader::iconURL):
34070         * platform/KURL.cpp:
34071         (WebCore::KURL::removePort):
34072         (WebCore::KURL::setPort):
34073         (WebCore::KURL::prettyURL):
34074         (WebCore::protocolIsValid):
34075         * platform/KURL.h:
34076         (WebCore::KURL::canSetHostOrPort):
34077         (WebCore::KURL::canSetPathname):
34078         (WebCore::KURL::hasPort):
34079         * platform/network/soup/ResourceHandleSoup.cpp:
34080         (WebCore::):
34081
34082 2009-11-10  Nate Chapin  <japhet@chromium.org>
34083
34084         Unreviewed, fix Chromium build after http://trac.webkit.org/changeset/50760.
34085
34086         * platform/chromium/PopupMenuChromium.cpp:
34087         (WebCore::PopupContainer::paintBorder):
34088         (WebCore::PopupListBox::paint):
34089         (WebCore::PopupListBox::paintRow):
34090         * platform/graphics/chromium/TransparencyWin.cpp:
34091         (WebCore::TransparencyWin::setupLayerForWhiteLayer):
34092         * platform/graphics/skia/GraphicsContextSkia.cpp:
34093         (WebCore::GraphicsContext::fillRect):
34094         (WebCore::GraphicsContext::fillRoundedRect):
34095         (WebCore::GraphicsContext::setPlatformFillColor):
34096         (WebCore::GraphicsContext::setPlatformStrokeColor):
34097         * rendering/RenderMediaControlsChromium.cpp:
34098         (WebCore::paintMediaSlider):
34099         (WebCore::paintMediaVolumeSlider):
34100         (WebCore::paintMediaTimelineContainer):
34101         * rendering/RenderThemeChromiumMac.mm:
34102         (WebCore::RenderThemeChromiumMac::paintMenuListButton):
34103
34104 2009-11-10  Brady Eidson  <beidson@apple.com>
34105
34106         Reviewed by Sam Weinig.
34107
34108         Repro crash saving pcmag.com article as a webarchive.
34109         <rdar://problem/7381219> and https://webkit.org/b/31322
34110
34111         Test: http/tests/webarchive/cross-origin-stylesheet-crash.html
34112
34113         * css/CSSStyleSheet.cpp:
34114         (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Walk the stylesheet itself instead
34115           of creating a CSSRuleList (and subjecting ourselves to the security origin check)
34116
34117 2009-11-10  Beth Dakin  <bdakin@apple.com>
34118
34119         Attempt 2 to fix Tiger build. No review needed.
34120
34121         * platform/graphics/cg/GraphicsContextCG.cpp:
34122         (WebCore::deviceRGBColorSpaceRef):
34123         (WebCore::sRGBColorSpaceRef):
34124
34125 2009-11-10  Kevin Ollivier  <kevino@theolliviers.com>
34126
34127         wx build fix. Changes needed after r50760.
34128
34129         * platform/graphics/wx/GraphicsContextWx.cpp:
34130         (WebCore::GraphicsContext::GraphicsContext):
34131         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
34132         (WebCore::drawTextWithSpacing):
34133
34134 2009-11-10  Alexey Proskuryakov  <ap@apple.com>
34135
34136         Qt build fix.
34137
34138         * platform/network/ResourceHandle.h: Only inherit from AuthenticationClient on platforms
34139         that use ResourceHandle as a delegate (Mac, CFNetwork, Curl).
34140
34141 2009-11-10  Beth Dakin  <bdakin@apple.com>
34142
34143         Tiger build fix. No review needed.
34144
34145         * platform/graphics/cg/GraphicsContextCG.cpp:
34146         (WebCore::sRGBColorSpaceRef):
34147
34148 2009-11-10  Alexey Proskuryakov  <ap@apple.com>
34149
34150         Reviewed by Dan Bernstein.
34151
34152         https://bugs.webkit.org/show_bug.cgi?id=31312
34153         Decouple authentication panel callbacks from ResourceHandle
34154
34155         No change in functionality.
34156
34157         SocketStreamHandle also needs to request credentials, so it's not appropriate to store
34158         ResourceHandle as delegate.
34159
34160         * WebCore.vcproj/WebCore.vcproj:
34161         * platform/network/AuthenticationClient.h: Added.
34162         Added a new interface for listening to authentication panel notifications.
34163
34164         * WebCore.xcodeproj/project.pbxproj: Added AuthenticationClient.h. Let Visual Studio do what
34165         it wants with the project file.
34166
34167         (WebCore::AuthenticationClient::ref): Using our usual method of exposing refcounting on an
34168         interface class.
34169         (WebCore::AuthenticationClient::deref): Ditto.
34170
34171         * platform/network/ResourceHandle.h:
34172         (WebCore::ResourceHandle::refAuthenticationClient): Ditto.
34173         (WebCore::ResourceHandle::derefAuthenticationClient): Ditto.
34174
34175         * platform/network/cf/AuthenticationCF.cpp:
34176         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
34177         (WebCore::AuthenticationChallenge::platformCompare):
34178         * platform/network/cf/AuthenticationChallenge.h:
34179         (WebCore::AuthenticationChallenge::authenticationClient):
34180         * platform/network/chromium/AuthenticationChallenge.h:
34181         (WebCore::AuthenticationChallenge::authenticationClient):
34182         * platform/network/curl/AuthenticationChallenge.h:
34183         (WebCore::AuthenticationChallenge::authenticationClient):
34184         Keeping a reference to AuthenticationClient, not to ResourceHandle.
34185
34186 2009-11-10  Beth Dakin  <bdakin@apple.com>
34187
34188        Second attempted gtk build fix. No review needed.
34189
34190         * html/canvas/CanvasStyle.cpp:
34191         (WebCore::CanvasStyle::applyStrokeColor):
34192
34193
34194 2009-11-10  Gavin Barraclough  <barraclough@apple.com>
34195
34196         Reviewed by Geoff Garen.
34197
34198         Fix back/forwards cache with JSC isolated worlds.
34199         https://bugs.webkit.org/show_bug.cgi?id=31310
34200         <rdar://problem/7328111> Cached back navigation doesn't restore global object in extension isolated world
34201
34202         Store the global object for all worlds, not just the normal world.
34203         Also maintain bidirectional weak references between the ScriptCachedFrameData and the DOMWrapperWorld,
34204         so we can forget global objects if a world goes away.
34205
34206         * bindings/js/JSDOMBinding.cpp:
34207         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
34208         * bindings/js/JSDOMBinding.h:
34209         (WebCore::DOMWrapperWorld::rememberScriptCachedFrameData):
34210         (WebCore::DOMWrapperWorld::forgetScriptCachedFrameData):
34211         * bindings/js/ScriptCachedFrameData.cpp:
34212         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
34213         (WebCore::ScriptCachedFrameData::forgetWorld):
34214         (WebCore::ScriptCachedFrameData::domWindow):
34215         (WebCore::ScriptCachedFrameData::restore):
34216         (WebCore::ScriptCachedFrameData::clear):
34217         * bindings/js/ScriptCachedFrameData.h:
34218         * bindings/js/ScriptController.h:
34219
34220 2009-11-10  Csaba Osztrogonác  <ossy@webkit.org>
34221
34222         [Qt] Unreviewed buildfix after r50760.
34223
34224         * platform/graphics/qt/GraphicsContextQt.cpp:
34225         (WebCore::GraphicsContext::GraphicsContext):
34226
34227 2009-11-10  Beth Dakin  <bdakin@apple.com>
34228
34229         Attempted build fix. (No review needed.)
34230
34231         * GNUmakefile.am: Adding ColorSpace.h
34232
34233 2009-11-10  Brian Weinstein  <bweinstein@apple.com>
34234
34235         Reviewed by NOBODY - Build Fix.
34236
34237         Updated function calls to take a ColorSpace argument, passing
34238         in DeviceColorSpace for now - this should be fixed. Also added
34239         ColorSpace.h to WebCore project.
34240
34241         * WebCore.vcproj/WebCore.vcproj:
34242         * platform/graphics/win/FontCGWin.cpp:
34243         (WebCore::Font::drawGlyphs):
34244         * platform/graphics/win/GraphicsContextCGWin.cpp:
34245         (WebCore::GraphicsContext::GraphicsContext):
34246         * platform/win/PopupMenuWin.cpp:
34247         (WebCore::PopupMenu::paint):
34248         * platform/win/WebCoreTextRenderer.cpp:
34249         (WebCore::doDrawTextAtPoint):
34250         * rendering/RenderThemeSafari.cpp:
34251         (WebCore::RenderThemeSafari::paintMenuListButton):
34252
34253 2009-11-10  Jens Alfke  <snej@chromium.org>
34254
34255         Reviewed by Darin Adler.
34256
34257         Optimizations to Element::getAttribute
34258         https://bugs.webkit.org/show_bug.cgi?id=30926
34259
34260         * dom/Element.cpp:
34261         (WebCore::Element::getAttribute):  User case-insensitive compare instead of lowercasing the name.
34262         * dom/NamedAttrMap.cpp:
34263         (WebCore::NamedNodeMap::getAttributeItem):  Avoid redundant compares, and do fast/likely compares first.
34264         * platform/text/PlatformString.h:
34265         (WebCore::equalPossiblyIgnoringCase):  New inline method, used by both of the above.
34266
34267 2009-11-10  Beth Dakin  <bdakin@apple.com>
34268
34269         Reviewed by Darin Adler.
34270
34271         Fix for <rdar://problem/7059710> 
34272         -and corresponding-
34273         https://bugs.webkit.org/show_bug.cgi?id=31196 Implement -webkit-
34274         color-correction for CSS colors
34275
34276         New exported symbol for GraphicsContext::fillColor() which now 
34277         accepts a ColorSpace as an optional parameter.
34278         * WebCore.base.exp:
34279
34280         Added a new file, ColorSpace.h, to define the ColorSpace enum.
34281         * WebCore.xcodeproj/project.pbxproj:
34282
34283         Computed Style for -webkit-color-correction
34284         * css/CSSComputedStyleDeclaration.cpp:
34285         (WebCore::):
34286         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
34287
34288         Parse -webkit-color-correction
34289         * css/CSSParser.cpp:
34290         (WebCore::CSSParser::parseValue):
34291
34292        Map CSS identifiers to the appropriate values of the ColorSpace enum
34293         * css/CSSPrimitiveValueMappings.h:
34294         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
34295         (WebCore::CSSPrimitiveValue::operator ColorSpace):
34296
34297         New property -webkit-color-correction
34298         * css/CSSPropertyNames.in:
34299
34300         Map -webkit-color-correction into the RenderStyle.
34301         * css/CSSStyleSelector.cpp:
34302         (WebCore::CSSStyleSelector::applyProperty):
34303
34304         Add new value sRGB.
34305         * css/CSSValueKeywords.in:
34306
34307         Comment out the reference to sRGB since it will now be inherited as 
34308         a value from CSSValueKeywords.
34309         * css/SVGCSSValueKeywords.in:
34310
34311         Definition of the ColorSpace enum.
34312         * platform/graphics/ColorSpace.h: Added.
34313         (WebCore::):
34314
34315         These functions all now take a ColorSpace as a parameter.
34316         * platform/graphics/GraphicsContext.cpp:
34317         (WebCore::GraphicsContext::setStrokeColor):
34318         (WebCore::GraphicsContext::setFillColor):
34319         (WebCore::GraphicsContext::drawHighlightForText):
34320
34321         Return the appropriate ColorSpace.
34322         (WebCore::GraphicsContext::strokeColorSpace):
34323         (WebCore::GraphicsContext::fillColorSpace):
34324
34325         These functions all call other functions which require a ColorSpace 
34326         as a parameter.
34327         (WebCore::GraphicsContext::setStrokePattern):
34328         (WebCore::GraphicsContext::setFillPattern):
34329         (WebCore::GraphicsContext::setStrokeGradient):
34330         (WebCore::GraphicsContext::setFillGradient):
34331
34332         All of the GraphicsContext functions that take a Color should now 
34333         also take a ColorSpace.
34334         * platform/graphics/GraphicsContext.h:
34335
34336         Added new member variables stokeColorSpace and fillColorSpace.
34337         * platform/graphics/GraphicsContextPrivate.h:
34338         (WebCore::GraphicsContextState::GraphicsContextState):
34339
34340         Attempt to keep the Cairo port building with all of the massive 
34341         changes to GraphicsContext.        
34342         * platform/graphics/cairo/GraphicsContextCairo.cpp:
34343         (WebCore::GraphicsContext::fillRect):
34344         (WebCore::GraphicsContext::setPlatformFillColor):
34345         (WebCore::GraphicsContext::setPlatformStrokeColor):
34346         (WebCore::GraphicsContext::fillRoundedRect):
34347
34348         
34349         * platform/graphics/cg/GraphicsContextCG.cpp:
34350         (WebCore::sRGBColorSpaceRef): New static function that returns a 
34351         CGColorSpaceRef for the sRGB color space.
34352         (WebCore::deviceRGBColorSpaceRef): New static function that returns 
34353         a CGColorSpaceRef for the device RGB color space.
34354
34355         (WebCore::setCGFillColor): Now takes a ColorSpace parameter and 
34356         sets the fill color to the specified color in the given ColorSpace.
34357         (WebCore::setCGStrokeColor): Same, but for stroke.
34358
34359         (WebCore::setCGFillColorSpace): New static to set the 
34360         CGFillColorSpace to the given ColorSpace
34361         (WebCore::setCGStrokeColorSpace): Same, but for stroke.
34362
34363         Send ColorSpaces when appropriate, set ColorSpaces when 
34364         appropriate, and check ColorSpaces when appropriate.
34365         (WebCore::GraphicsContext::GraphicsContext):
34366         (WebCore::GraphicsContext::drawRect):
34367         (WebCore::GraphicsContext::drawLine):
34368         (WebCore::GraphicsContext::fillPath):
34369         (WebCore::GraphicsContext::strokePath):
34370         (WebCore::GraphicsContext::fillRect):
34371         (WebCore::GraphicsContext::fillRoundedRect):
34372         (WebCore::GraphicsContext::strokeRect):
34373         (WebCore::GraphicsContext::drawLineForText):
34374         (WebCore::GraphicsContext::setPlatformStrokeColor):
34375         (WebCore::GraphicsContext::setPlatformFillColor):
34376
34377         Attempt to keep Haiku building.
34378         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
34379         (WebCore::GraphicsContext::fillRect):
34380         (WebCore::GraphicsContext::fillRoundedRect):
34381         (WebCore::GraphicsContext::setPlatformStrokeColor):
34382         (WebCore::GraphicsContext::setPlatformFillColor):
34383
34384         Attempt to keep QT building.
34385         * platform/graphics/qt/GraphicsContextQt.cpp:
34386         (WebCore::GraphicsContext::fillRect):
34387         (WebCore::GraphicsContext::fillRoundedRect):
34388         (WebCore::GraphicsContext::setPlatformStrokeColor):
34389         (WebCore::GraphicsContext::setPlatformFillColor):
34390
34391         Attempt to keep Wince building.
34392         * platform/graphics/wince/GraphicsContextWince.cpp:
34393         (WebCore::GraphicsContext::fillRect):
34394         (WebCore::GraphicsContext::setPlatformFillColor):
34395         (WebCore::GraphicsContext::setPlatformStrokeColor):
34396         (WebCore::GraphicsContext::clearRect):
34397         (WebCore::GraphicsContext::fillRoundedRect):
34398         (WebCore::GraphicsContext::setPlatformShadow):
34399
34400         Attempt to keep WX building.
34401         * platform/graphics/wx/GraphicsContextWx.cpp:
34402         (WebCore::GraphicsContext::fillRect):
34403         (WebCore::GraphicsContext::fillRoundedRect):
34404         (WebCore::GraphicsContext::setPlatformStrokeColor):
34405         (WebCore::GraphicsContext::setPlatformFillColor):
34406
34407         Added functions colorSpace() and setColorSpace()
34408         * rendering/style/RenderStyle.h:
34409         (WebCore::InheritedFlags::colorSpace):
34410         (WebCore::InheritedFlags::setColorSpace):
34411
34412         The ColorSpace is stored here.
34413         * rendering/style/StyleRareInheritedData.cpp:
34414         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
34415         (WebCore::StyleRareInheritedData::operator==):
34416         * rendering/style/StyleRareInheritedData.h:
34417
34418         All of these call sites call GraphicsContext functions which now 
34419         require ColorSpaces.
34420         * editing/SelectionController.cpp:
34421         (WebCore::SelectionController::paintCaret):
34422         * html/canvas/CanvasRenderingContext2D.cpp:
34423         (WebCore::CanvasRenderingContext2D::drawTextInternal):
34424         * html/canvas/CanvasStyle.cpp:
34425         (WebCore::CanvasStyle::applyStrokeColor):
34426         (WebCore::CanvasStyle::applyFillColor):
34427         * inspector/InspectorController.cpp:
34428         (WebCore::drawOutlinedQuad):
34429         * page/FrameView.cpp:
34430         (WebCore::FrameView::paintContents):
34431         * platform/ScrollbarTheme.h:
34432         (WebCore::ScrollbarTheme::paintScrollCorner):
34433         * platform/ScrollbarThemeComposite.cpp:
34434         (WebCore::ScrollbarThemeComposite::paintScrollCorner):
34435         * platform/graphics/Image.cpp:
34436         (WebCore::Image::fillWithSolidColor):
34437         * platform/graphics/mac/FontMac.mm:
34438         (WebCore::Font::drawGlyphs):
34439         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
34440         (WebCore::MediaPlayerPrivate::paint):
34441         * rendering/EllipsisBox.cpp:
34442         (WebCore::EllipsisBox::paint):
34443         * rendering/InlineFlowBox.cpp:
34444         (WebCore::InlineFlowBox::paintTextDecorations):
34445         * rendering/InlineTextBox.cpp:
34446         (WebCore::updateGraphicsContext):
34447         (WebCore::paintTextWithShadows):
34448         (WebCore::InlineTextBox::paint):
34449         (WebCore::InlineTextBox::paintSelection):
34450         (WebCore::InlineTextBox::paintCompositionBackground):
34451         (WebCore::InlineTextBox::paintDecoration):
34452         (WebCore::InlineTextBox::paintTextMatchMarker):
34453         (WebCore::InlineTextBox::paintCompositionUnderline):
34454         * rendering/InlineTextBox.h:
34455         * rendering/RenderBlock.cpp:
34456         (WebCore::RenderBlock::fillHorizontalSelectionGap):
34457         (WebCore::RenderBlock::fillVerticalSelectionGap):
34458         (WebCore::RenderBlock::fillLeftSelectionGap):
34459         (WebCore::RenderBlock::fillRightSelectionGap):
34460         * rendering/RenderBoxModelObject.cpp:
34461         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
34462         (WebCore::RenderBoxModelObject::paintBoxShadow):
34463         * rendering/RenderFileUploadControl.cpp:
34464         (WebCore::RenderFileUploadControl::paintObject):
34465         * rendering/RenderFrameSet.cpp:
34466         (WebCore::RenderFrameSet::paintColumnBorder):
34467         (WebCore::RenderFrameSet::paintRowBorder):
34468         * rendering/RenderImage.cpp:
34469         (WebCore::RenderImage::paintReplaced):
34470         * rendering/RenderLayer.cpp:
34471         (WebCore::RenderLayer::paintScrollCorner):
34472         (WebCore::RenderLayer::paintResizer):
34473         * rendering/RenderListBox.cpp:
34474         (WebCore::RenderListBox::paintItemForeground):
34475         (WebCore::RenderListBox::paintItemBackground):
34476         * rendering/RenderListMarker.cpp:
34477         (WebCore::RenderListMarker::paint):
34478         * rendering/RenderObject.cpp:
34479         (WebCore::RenderObject::drawLineForBoxSide):
34480         (WebCore::RenderObject::drawArcForBoxSide):
34481         * rendering/RenderReplaced.cpp:
34482         (WebCore::RenderReplaced::paint):
34483         * rendering/RenderScrollbarTheme.cpp:
34484         (WebCore::RenderScrollbarTheme::paintScrollCorner):
34485         * rendering/RenderThemeMac.mm:
34486         (WebCore::RenderThemeMac::paintMenuListButton):
34487         * rendering/RenderView.cpp:
34488         (WebCore::RenderView::paintBoxDecorations):
34489         * rendering/RenderWidget.cpp:
34490         (WebCore::RenderWidget::paint):
34491         * rendering/SVGInlineTextBox.cpp:
34492         (WebCore::SVGInlineTextBox::paintSelection):
34493         * svg/graphics/SVGPaintServerGradient.cpp:
34494         (WebCore::SVGPaintServerGradient::setup):
34495         * svg/graphics/SVGPaintServerSolid.cpp:
34496         (WebCore::SVGPaintServerSolid::setup):
34497
34498 2009-11-10  Keishi Hattori  <casey.hattori@gmail.com>
34499
34500         Reviewed by Timothy Hatcher.
34501
34502         Web Inspector: Speed up syntax highlighter
34503         https://bugs.webkit.org/show_bug.cgi?id=31291
34504
34505         * inspector/front-end/SourceFrame.js:
34506         (WebInspector.SourceFrame.prototype._loaded):
34507         (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine): Replace the line content node.
34508         (WebInspector.SourceSyntaxHighlighter.prototype.process):
34509         (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken):
34510         (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode):
34511         (WebInspector.CSSSourceSyntaxHighlighter):
34512         (WebInspector.JavaScriptSourceSyntaxHighlighter):
34513
34514 2009-11-09  Jeremy Orlow  <jorlow@chromium.org>
34515
34516         Reviewed by Eric Seidel.
34517
34518         Remove session storage setting
34519         https://bugs.webkit.org/show_bug.cgi?id=31279
34520
34521         Remove session storage from Settings.  It was added temporarily so we could
34522         disable it by default at runtime in Chromium.  We now disable these things in a
34523         different way, so it's time to remove it.  Qt also depended on this setting for
34524         a short period of time, but after talking to them we agreed that it should be
34525         removed.
34526
34527         This bug is the second half of https://bugs.webkit.org/show_bug.cgi?id=30602
34528
34529         * page/DOMWindow.cpp:
34530         (WebCore::DOMWindow::sessionStorage):
34531         * page/Settings.cpp:
34532         (WebCore::Settings::Settings):
34533         * page/Settings.h:
34534
34535 2009-11-10  Dan Bernstein  <mitz@apple.com>
34536
34537         Reviewed by Eric Carlson and Darin Adler.
34538
34539         WebCore part of making full-screen video pause during scrubbing.
34540
34541         * WebCore.Video.exp: Sorted and added HTMLMediaElement::beginScrubbing()
34542         and HTMLMediaElement::endScrubbing().
34543
34544 2009-11-10  Anton Muhin  <antonm@chromium.org>
34545
34546         Reviewed by Adam Barth.
34547
34548         Reapply 50562 reverted by 50588 due to issues with sandboxing (should be fine now).
34549         https://bugs.webkit.org/show_bug.cgi?id=31051
34550
34551         * bindings/v8/V8GCController.cpp:
34552         (WebCore::V8GCController::gcEpilogue):
34553         (WebCore::V8GCController::checkMemoryUsage):
34554         * bindings/v8/V8GCController.h:
34555         * bindings/v8/V8Proxy.cpp:
34556         (WebCore::V8Proxy::evaluate):
34557         (WebCore::V8Proxy::runScript):
34558         (WebCore::V8Proxy::callFunction):
34559
34560 2009-11-10  Zoltan Horvath  <zoltan@webkit.org>
34561
34562         Reviewed by Darin Adler.
34563
34564         Allow custom memory allocation control for the part of loader directory in WebCore
34565         https://bugs.webkit.org/show_bug.cgi?id=31161
34566
34567         Inherits the following classes from Noncopyable because these are instantiated
34568         by 'new' and these are no need to be copyable:
34569
34570         class Request - WebCore/loader/loader.cpp:100
34571         struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164
34572         class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121
34573         class ApplicationCacheHost -  WebCore/loader/DocumentLoader.cpp:151
34574         class ImageEventSender - WebCore/loader/ImageLoader.cpp:54
34575         struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169
34576
34577         Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 
34578         MainThreadBridge is instantiated by 'new' in 
34579         WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable.
34580
34581         ThreadableLoaderClient's inheriting has been changed to public.
34582
34583         * loader/ImageLoader.cpp:
34584         * loader/ProgressTracker.cpp:
34585         * loader/RedirectScheduler.cpp:
34586         * loader/Request.h:
34587         * loader/ThreadableLoaderClient.h:
34588         * loader/WorkerThreadableLoader.h:
34589         * loader/appcache/ApplicationCacheHost.h:
34590         * loader/appcache/ApplicationCacheStorage.h:
34591
34592 2009-11-10  Philippe Normand  <pnormand@igalia.com>
34593
34594         Reviewed by Eric Seidel.
34595
34596         https://bugs.webkit.org/show_bug.cgi?id=31047
34597         [GTK] Failing test media/video-played-ranges-1.html
34598
34599         WebKit coding style fixes.
34600
34601         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
34602         (WebCore::mediaPlayerPrivateMessageCallback):
34603         (WebCore::MediaPlayerPrivate::naturalSize):
34604         (WebCore::MediaPlayerPrivate::paint):
34605         (WebCore::mimeTypeCache):
34606
34607 2009-11-10  Oliver Hunt  <oliver@apple.com>
34608
34609         Remove build failure introduced by earlier build fix.
34610
34611         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
34612
34613 2009-11-10  Oliver Hunt  <oliver@apple.com>
34614
34615         Is this the last build fix? grep tells me yes.
34616
34617         * bindings/v8/custom/V8DocumentCustom.cpp:
34618         (WebCore::CALLBACK_FUNC_DECL):
34619
34620 2009-11-10  Oliver Hunt  <oliver@apple.com>
34621
34622         Hopefully the last one.  Why aren't these autogenerated?
34623
34624         * bindings/v8/V8DOMWrapper.cpp:
34625         (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray):
34626         (WebCore::V8DOMWrapper::getTemplate):
34627         (WebCore::V8DOMWrapper::convertToV8Object):
34628
34629 2009-11-10  Oliver Hunt  <oliver@apple.com>
34630
34631         Another chrome build fix.
34632
34633         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
34634         (WebCore::CALLBACK_FUNC_DECL):
34635
34636 2009-11-10  Oliver Hunt  <oliver@apple.com>
34637
34638         Yet another chrome buildfix
34639
34640         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
34641         (WebCore::CALLBACK_FUNC_DECL):
34642         * bindings/v8/custom/V8WebGLArrayCustom.h:
34643         (WebCore::constructCanvasArray):
34644         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
34645         (WebCore::CALLBACK_FUNC_DECL):
34646         (WebCore::INDEXED_PROPERTY_GETTER):
34647         (WebCore::INDEXED_PROPERTY_SETTER):
34648         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
34649         (WebCore::CALLBACK_FUNC_DECL):
34650         (WebCore::INDEXED_PROPERTY_GETTER):
34651         (WebCore::INDEXED_PROPERTY_SETTER):
34652         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
34653         (WebCore::CALLBACK_FUNC_DECL):
34654         (WebCore::INDEXED_PROPERTY_GETTER):
34655         (WebCore::INDEXED_PROPERTY_SETTER):
34656         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
34657         (WebCore::CALLBACK_FUNC_DECL):
34658         (WebCore::vertexAttribAndUniformHelperf):
34659         (WebCore::uniformHelperi):
34660         (WebCore::uniformMatrixHelper):
34661         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
34662         (WebCore::CALLBACK_FUNC_DECL):
34663         (WebCore::INDEXED_PROPERTY_GETTER):
34664         (WebCore::INDEXED_PROPERTY_SETTER):
34665         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
34666         (WebCore::CALLBACK_FUNC_DECL):
34667         (WebCore::INDEXED_PROPERTY_GETTER):
34668         (WebCore::INDEXED_PROPERTY_SETTER):
34669         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
34670         (WebCore::CALLBACK_FUNC_DECL):
34671         (WebCore::INDEXED_PROPERTY_GETTER):
34672         (WebCore::INDEXED_PROPERTY_SETTER):
34673         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
34674         (WebCore::CALLBACK_FUNC_DECL):
34675         (WebCore::INDEXED_PROPERTY_GETTER):
34676         (WebCore::INDEXED_PROPERTY_SETTER):
34677
34678 2009-11-10  Oliver Hunt  <oliver@apple.com>
34679
34680         Chrome build fix.
34681
34682         * bindings/v8/V8Index.h:
34683
34684 2009-11-10  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
34685
34686         Reviewed by Reviewed by Jan Alonzo.
34687
34688         https://bugs.webkit.org/show_bug.cgi?id=30901
34689         [Gtk] Need to de-lint the Atk a11y code
34690
34691         Removal of various and sundry style-violating nits.
34692
34693         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
34694
34695 2009-11-10  Philippe Normand  <pnormand@igalia.com>
34696
34697         Reviewed by Jan Alonzo.
34698
34699         https://bugs.webkit.org/show_bug.cgi?id=31047
34700         [GTK] Failing test media/video-played-ranges-1.html
34701
34702         Fix playback rate setter by remembering the rate was changed. Also
34703         correctly handle reverse playback by doing a seek from end to
34704         beginning of the media.
34705
34706         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
34707         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
34708         (WebCore::MediaPlayerPrivate::currentTime):
34709         (WebCore::MediaPlayerPrivate::seek):
34710         (WebCore::MediaPlayerPrivate::hasAudio):
34711         (WebCore::MediaPlayerPrivate::setVolume):
34712         (WebCore::MediaPlayerPrivate::setRate):
34713         (WebCore::MediaPlayerPrivate::updateStates):
34714         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
34715
34716 2009-11-10  Oliver Hunt  <oliver@apple.com>
34717
34718         Reviewed by Maciej Stachowiak.
34719
34720         Rename 3D Canvas related classes to use WebGL prefix
34721         https://bugs.webkit.org/show_bug.cgi?id=29095
34722
34723         Automatic rename of all WebGL related types from Canvas* to
34724         WebGL* per more recent version of the WebGL spec.
34725
34726         Due to the automatic rename I've removed the 600+ line change list.
34727
34728 2009-11-09  Dirk Schulze  <krit@webkit.org>
34729
34730         Reviewed by Oliver Hunt.
34731
34732         SVG feDisplacementMap is not implemented
34733         [https://bugs.webkit.org/show_bug.cgi?id=31255]
34734
34735         This is the implementation of the SVG filter effect
34736         feDisplacementMap. 
34737
34738         Test: svg/filters/feDisplacementMap.svg
34739
34740         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
34741         (WebCore::FEDisplacementMap::apply):
34742
34743 2009-11-09  Kent Tamura  <tkent@chromium.org>
34744
34745         Reviewed by Darin Adler.
34746
34747         Add a comment about null strings and hash functions.
34748         https://bugs.webkit.org/show_bug.cgi?id=29118
34749
34750         * platform/text/StringHash.h:
34751
34752 2009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
34753
34754         Reviewed by Darin Adler.
34755
34756         Compiler warnings in InspectorResource.h
34757         https://bugs.webkit.org/show_bug.cgi?id=29231
34758
34759         Fix compilation warnings by removing addition operation on an enum type.
34760
34761         * inspector/InspectorResource.h:
34762         (WebCore::InspectorResource::):
34763         (WebCore::InspectorResource::Changes::hasChange):
34764         (WebCore::InspectorResource::Changes::set):
34765         (WebCore::InspectorResource::Changes::setAll):
34766
34767 2009-11-09  Anders Carlsson  <andersca@apple.com>
34768
34769         Reviewed by Darin Adler and Dan Bernstein.
34770
34771         <rdar://problem/7328395>
34772         https://bugs.webkit.org/show_bug.cgi?id=31277
34773
34774         When an object tag's style changes (for example when child nodes are added/removed),
34775         reuse its Frame (if it has one) instead of creating multiple Frames.
34776
34777         Test: fast/dom/HTMLObjectElement/children-changed.html
34778
34779         * loader/FrameLoader.cpp:
34780         (WebCore::FrameLoader::requestObject):
34781
34782 2009-11-09  Norbert Leser  <norbert.leser@nokia.com>
34783
34784         Reviewed by Kenneth Rohde Christiansen.
34785
34786         Moved macro MMP_RULES (LINKEROPTION) into symbian instead of symbian-sbsv2,
34787         since adjustment of RW-section base address will be needed for all new symbian
34788         tool chains, specifically for arm and gcc compilation targets.
34789         Also, change target address to 0xE00000 to be sufficient for all targets.
34790
34791         * WebCore.pro:
34792
34793 2009-11-09  Pavel Feldman  <pfeldman@chromium.org>
34794
34795         Reviewed by Timothy Hatcher.
34796
34797         Web Inspector: Crash when inspecting
34798         WebCore\manual-tests\inspector\dom-mutation.html
34799
34800         https://bugs.webkit.org/show_bug.cgi?id=31259
34801
34802         * inspector/InspectorDOMAgent.cpp:
34803         (WebCore::InspectorDOMAgent::handleEvent):
34804
34805 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
34806
34807         Reviewed by Kenneth Rohde Christiansen.
34808
34809         [Qt] Few classes have virtual functions but non-virtual destructor
34810         https://bugs.webkit.org/show_bug.cgi?id=31269
34811
34812         No new tests as there is no functional change.
34813
34814         * platform/qt/QWebPageClient.h:
34815         (QWebPageClient::~QWebPageClient): Add virtual destructor.
34816
34817 2009-11-09  Yael Aharon  <yael.aharon@nokia.com>
34818
34819         Reviewed by Kenneth Rohde Christiansen.
34820
34821         [Qt] Allow setting HTTP headers with empty value in XMLHTTPRequest
34822         https://bugs.webkit.org/show_bug.cgi?id=31140
34823
34824         QtNetwork interprets null string as request to remove the header, not add it.
34825         Replace null values with empty values before passing them to QtNetwork.
34826
34827         Test: http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html
34828
34829         * platform/network/qt/ResourceRequestQt.cpp:
34830         (WebCore::ResourceRequest::toNetworkRequest):
34831
34832 2009-11-09  Vadim Zeitlin  <vadim@wxwidgets.org>
34833
34834         Reviewed by Kevin Ollivier.
34835
34836         [wx] Fix handling of alpha channel when using wxWidgets 2.9: it was
34837         simply ignored before resulting in transparent areas being black in PNG
34838         images for example.
34839         
34840         https://bugs.webkit.org/show_bug.cgi?id=30823
34841
34842         * platform/image-decoders/wx/ImageDecoderWx.cpp:
34843         (WebCore::RGBA32Buffer::asNewNativeImage):
34844
34845 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
34846
34847         Reviewed by Kenneth Rohde Christiansen.
34848
34849         Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings
34850         https://bugs.webkit.org/show_bug.cgi?id=31040
34851
34852         No new tests as there is no functional change.
34853
34854         * dom/Document.cpp:
34855         (WebCore::Document::recalcStyleSelector):
34856         * editing/TextIterator.cpp:
34857         (WebCore::pushFullyClippedState):
34858         * editing/VisibleSelection.cpp:
34859         (WebCore::VisibleSelection::appendTrailingWhitespace):
34860         * html/HTMLLinkElement.cpp:
34861         (WebCore::HTMLLinkElement::process):
34862         * loader/RedirectScheduler.cpp:
34863         (WebCore::RedirectScheduler::mustLockBackForwardList):
34864         * loader/appcache/ApplicationCacheGroup.cpp:
34865         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
34866         * platform/graphics/qt/FontCacheQt.cpp:
34867         (WebCore::FontPlatformDataCacheKey::computeHash):
34868         * rendering/RenderBlock.cpp:
34869         (WebCore::RenderBlock::handleRunInChild):
34870         * rendering/RenderBox.cpp:
34871         (WebCore::RenderBox::calcHeight):
34872         * rendering/RenderTextControlMultiLine.cpp:
34873         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
34874         * rendering/style/RenderStyle.cpp:
34875         (WebCore::RenderStyle::diff):
34876         * svg/SVGAnimateElement.cpp:
34877         (WebCore::parseNumberValueAndUnit):
34878         * svg/SVGAnimationElement.cpp:
34879         (WebCore::SVGAnimationElement::startedActiveInterval):
34880         * svg/SVGPreserveAspectRatio.cpp:
34881         (WebCore::SVGPreserveAspectRatio::getCTM):
34882
34883 2009-11-09  Shinichiro Hamaji  <hamaji@chromium.org>
34884
34885         Reviewed by Dimitri Glazkov.
34886
34887         Win chromium is slow to draw transparent texts
34888         https://bugs.webkit.org/show_bug.cgi?id=31258
34889
34890         Clip graphics context to reduce calculation.
34891
34892         No new tests because this change only affects performance.
34893
34894         * platform/graphics/chromium/FontChromiumWin.cpp:
34895         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
34896         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
34897
34898 2009-11-09  Carol Szabo  <carol.szabo@nokia.com>
34899
34900         Reviewed by Darin Adler.
34901
34902         showTree(CounterNode*) generates too little info and has too many spaces.
34903         https://bugs.webkit.org/show_bug.cgi?id=31212
34904
34905         No new tests as the change has no functional effect it is just for
34906         improved debugging.
34907
34908         * rendering/CounterNode.cpp:
34909         (WebCore::showTreeAndMark):
34910         Changed to also show addresses of parent, next and previous
34911         siblings.
34912
34913 2009-11-09  Stuart Morgan  <stuartmorgan@chromium.org>
34914
34915         Reviewed by Darin Adler.
34916
34917         Moves Mac implementation of setUseSecureKeyboardEntry to Frame.cpp and
34918         enables it PLATFORM(CHROMIUM) in addition to PLATFORM(MAC).
34919
34920         https://bugs.webkit.org/show_bug.cgi?id=31083
34921
34922         No new tests; implementation is unchanged.
34923
34924         * page/Frame.cpp:
34925         (WebCore::Frame::setUseSecureKeyboardEntry):
34926         * page/mac/FrameMac.mm:
34927
34928 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
34929
34930         Reviewed by Jan Alonzo.
34931
34932         Make XP_UNIX tests consistent
34933         https://bugs.webkit.org/show_bug.cgi?id=31250
34934
34935         No new tests as there is no functional change.
34936
34937         * plugins/PluginView.cpp:
34938         (WebCore::PluginView::setFrameRect): Test if XP_UNIX is defined
34939         instead of the value of the macro
34940
34941         * plugins/gtk/PluginViewGtk.cpp:
34942         (WebCore::PluginView::setNPWindowIfNeeded): Test if the XP_UNIX is
34943         defined instead of using the PLATFORM macro to be consistent
34944         (WebCore::PluginView::getValue): Ditto.
34945
34946 2009-11-09  Kevin Watters  <kevinwatters@gmail.com>
34947
34948         Reviewed by Darin Adler.
34949
34950         Thunk to the main thread from ~Database to deref Database's m_document.
34951
34952         If the Database was the Document's last referrer, then ~Document occurs on the
34953         Database thread, and ASSERT(!m_styleRecalcTimer.isActive()) hits a main thread
34954         ASSERT in debug builds.
34955
34956         * storage/Database.cpp:
34957         (WebCore::derefDocument):
34958         (WebCore::Database::~Database):
34959
34960 2009-11-09  Mark Mentovai  <mark@chromium.org>
34961
34962         Reviewed by Dan Bernstein.
34963
34964         Track "can have scrollbar" state within FrameView independently of the
34965         individual scrollbar states in ScrollView.
34966
34967         rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
34968         REGRESSION (r48064): mint.com loses scrollbars after coming out of
34969         edit mode.
34970
34971         rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
34972         REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.
34973
34974         Test: fast/overflow/scrollbar-restored.html
34975
34976         * WebCore.base.exp:
34977         * page/FrameView.cpp:
34978         (WebCore::FrameView::FrameView):
34979         (WebCore::FrameView::resetScrollbars):
34980         (WebCore::FrameView::setCanHaveScrollbars):
34981         (WebCore::FrameView::updateCanHaveScrollbars):
34982         (WebCore::FrameView::layout):
34983         * page/FrameView.h:
34984         * platform/ScrollView.h:
34985
34986 2009-11-09  Keishi Hattori  <casey.hattori@gmail.com>
34987
34988         Reviewed by Timothy Hatcher.
34989
34990         Web Inspector: CSS syntax highlighter doesn't recognize negative numbers
34991         https://bugs.webkit.org/show_bug.cgi?id=31257
34992
34993         * inspector/front-end/SourceFrame.js:
34994
34995 2009-11-09  Alexander Pavlov  <apavlov@chromium.org>
34996
34997         Reviewed by Timothy Hatcher.
34998
34999         Web Inspector: Debugger shortcuts (F8, F10, F11) have no effect if the Console view is open
35000         https://bugs.webkit.org/show_bug.cgi?id=31252
35001
35002         Route F1-F12 keypresses in the Console view to the current panel if there is one.
35003
35004         Test: manual-tests/inspector/debugger-shortcuts-with-console-opened.html
35005
35006         * inspector/front-end/ConsoleView.js:
35007         (WebInspector.ConsoleView.prototype._promptKeyDown):
35008         * inspector/front-end/utilities.js:
35009         ():
35010         * manual-tests/inspector/debugger-shortcuts-with-console-opened.html: Added.
35011
35012 2009-11-09  Yael Aharon  <yael.aharon@nokia.com>
35013
35014         Reviewed by Kenneth Rohde Christiansen.
35015
35016         [Qt] Pass credentials provided by XMLHTTPRequest to the network request.
35017         https://bugs.webkit.org/show_bug.cgi?id=31208
35018
35019         After r42483, the credentials are no longer passed to the network request
35020         in the URL of the request.
35021         Pass the credentials from XMLHTTPRequest to the network request, the same
35022         way that other ports do.
35023
35024         After this patch LayoutTests/http/xmlhttprequest/basic-auth.html passes.
35025
35026         * platform/network/qt/ResourceHandleQt.cpp:
35027         (WebCore::ResourceHandle::start):
35028         (WebCore::ResourceHandle::loadResourceSynchronously):
35029
35030 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
35031
35032         Unreviewed.
35033
35034         https://bugs.webkit.org/show_bug.cgi?id=31161
35035
35036         Roll back r50657 because it breaks the MAC builds.
35037
35038         * loader/ImageLoader.cpp:
35039         * loader/ProgressTracker.cpp:
35040         * loader/RedirectScheduler.cpp:
35041         * loader/Request.h:
35042         * loader/ThreadableLoaderClient.h:
35043         * loader/WorkerThreadableLoader.h:
35044         * loader/appcache/ApplicationCacheHost.h:
35045         * loader/appcache/ApplicationCacheStorage.h:
35046         * loader/icon/IconDatabaseClient.h:
35047
35048 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
35049
35050         Reviewed by Darin Adler.
35051
35052         Allow custom memory allocation control for the part of loader directory in WebCore
35053         https://bugs.webkit.org/show_bug.cgi?id=31161
35054
35055         Inherits the following classes from Noncopyable because these are instantiated
35056         by 'new' and these are no need to be copyable:
35057
35058         class Request - WebCore/loader/loader.cpp:100
35059         struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164
35060         class IconDatabaseClient - WebCore/loader/icon/IconDatabase.cpp:89
35061         class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121
35062         class ApplicationCacheHost -  WebCore/loader/DocumentLoader.cpp:151
35063         class ImageEventSender - WebCore/loader/ImageLoader.cpp:54
35064         struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169
35065
35066         Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 
35067         MainThreadBridge is instantiated by 'new' in 
35068         WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable.
35069
35070         ThreadableLoaderClient's inheriting has been changed to public.
35071
35072         * loader/ImageLoader.cpp:
35073         * loader/ProgressTracker.cpp:
35074         * loader/RedirectScheduler.cpp:
35075         * loader/Request.h:
35076         * loader/ThreadableLoaderClient.h:
35077         * loader/WorkerThreadableLoader.h:
35078         * loader/appcache/ApplicationCacheHost.h:
35079         * loader/appcache/ApplicationCacheStorage.h:
35080         * loader/icon/IconDatabaseClient.h:
35081
35082 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
35083
35084         Reviewed by Darin Adler.
35085
35086         Allow custom memory allocation control for WebCore's DocLoader
35087         https://bugs.webkit.org/show_bug.cgi?id=31163
35088
35089         Inherits DocLoader class from Noncopyable because it is
35090         instantiated by 'new' in WebCore/dom/Document.cpp:370 and 
35091         it is no need to be copyable.
35092
35093         * loader/DocLoader.h:
35094
35095 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
35096
35097         Reviewed by Darin Adler.
35098
35099         Allow custom memory allocation control for WebCore's Tokenizer
35100         https://bugs.webkit.org/show_bug.cgi?id=31162
35101
35102         Inherits Tokenizer class from Noncopyable because (its child class)
35103         ImageTokenizer instantiated by 'new' in WebCore/loader/ImageDocument.cpp:178 
35104         and it is no need to be copyable.
35105
35106         * dom/Tokenizer.h:
35107
35108 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
35109
35110         Reviewed by Darin Adler.
35111
35112         Allow custom memory allocation control for WebCore's DeleteButtonController
35113         https://bugs.webkit.org/show_bug.cgi?id=31105
35114
35115         Inherits DeleteButtonController class from Noncopyable because it is 
35116         instantiated by 'new' in WebCore/editing/Editor.cpp:919 and
35117         it is no need to be copyable.  
35118
35119         * editing/DeleteButtonController.h:
35120
35121 2009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
35122
35123         Reviewed by Jan Alonzo.
35124
35125         [GTK] Expose Page::tabKeyCyclesThroughElements in the API
35126         https://bugs.webkit.org/show_bug.cgi?id=30482
35127
35128         Expose Page::tabKeyCyclesThroughElements as a property of
35129         WebKitWebView.
35130
35131         No new tests; fast/events/keypress-insert-tab.html is no longer skipped.
35132
35133         * platform/gtk/KeyEventGtk.cpp: Correct m_text for tab key presses.
35134         (WebCore::singleCharacterString):
35135
35136 2009-11-09  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
35137
35138         Reviewed by Xan Lopez.
35139
35140         https://bugs.webkit.org/show_bug.cgi?id=25415
35141         [GTK][ATK] Please implement support for get_text_at_offset
35142
35143         Fix a crasher that occurred with text which included newline
35144         chars in the markup.
35145
35146         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
35147         (convertUniCharToUTF8):
35148
35149 2009-11-05  Jakub Wieczorek  <faw217@gmail.com>
35150
35151         Reviewed by Holger Freyther.
35152
35153         [Qt] The XML tokenizer reports a parse error twice if it occurs before the document element is found.
35154         https://bugs.webkit.org/show_bug.cgi?id=31144
35155
35156         XMLTokenizer::doEnd() uses an additional logic to report a parse failure in
35157         documents that end prematurely but are not considered invalid by QXmlStream.
35158         This is to stay compatible with the libxml2 implementation.
35159         However, that code path would be also hit in situations when it should not,
35160         i.e. the error would have already been caught and handled. As a result, the
35161         same error would be reported twice.
35162
35163         No new tests, because the problem is already covered by
35164         fast/parser/xml-declaration-missing-ending-mark.html.
35165
35166         * dom/XMLTokenizerQt.cpp:
35167         (WebCore::XMLTokenizer::doEnd):
35168
35169 2009-11-08  Keishi Hattori  <casey.hattori@gmail.com>
35170
35171         Reviewed by Pavel Feldman.
35172
35173         Web Inspector: Inspector should support copy() in the command line
35174         https://bugs.webkit.org/show_bug.cgi?id=31238
35175
35176         * inspector/InspectorBackend.cpp:
35177         (WebCore::InspectorBackend::copyText): Added.
35178         * inspector/InspectorBackend.h: Added copyText
35179         * inspector/InspectorBackend.idl: Added copyText
35180         * inspector/front-end/InjectedScript.js:
35181         (InjectedScript._copy): Added.
35182         (InjectedScript._ensureCommandLineAPIInstalled):
35183
35184 2009-11-08  Drew Wilson  <atwilson@chromium.org>
35185
35186         Reviewed by Dimitri Glazkov.
35187
35188         V8 WorkerContextExecutionProxy does not handle SharedWorkers
35189         https://bugs.webkit.org/show_bug.cgi?id=31226
35190
35191         Now checks to see what type of context is active and creates the
35192         appropriate wrapper (DEDICATEDWORKERCONTEXT vs SHAREDWORKERCONTEXT).
35193
35194         Added support for converting to SharedWorkers and SharedWorkerContexts.
35195
35196         Test: Existing layout tests cover this case (start passing in Chrome).
35197
35198         * bindings/v8/WorkerContextExecutionProxy.cpp:
35199         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
35200         Now generates the right type of DOMWrapper for SharedWorkerContexts.
35201         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
35202         Added support for SHAREDWORKERCONTEXT.
35203         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
35204         Added support for SharedWorker and SharedWorkerContext.
35205
35206 2009-11-08  Johnny Ding  <johnnyding.webkit@gmail.com>
35207
35208         Reviewed by Dimitri Glazkov.
35209
35210         https://bugs.webkit.org/show_bug.cgi?id=31224
35211         [V8] Return StyleSheet object instead of HTMLStyleElement w/document.styleSheets named property getter.
35212
35213         Test: fast/dom/StyleSheet/get-stylesheet-byname.html
35214
35215         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
35216         (WebCore::NAMED_PROPERTY_GETTER):
35217
35218 2009-11-08  Pavel Feldman  <pfeldman@chromium.org>
35219
35220         Reviewed by Timothy Hatcher.
35221
35222         Web Inspector: "Search again" on scripts panel switches
35223         to the script this search started with.
35224
35225         https://bugs.webkit.org/show_bug.cgi?id=31243
35226
35227         * inspector/front-end/Panel.js:
35228         (WebInspector.Panel.prototype.jumpToNextSearchResult):
35229
35230 2009-11-08  Kent Tamura  <tkent@chromium.org>
35231
35232         Reviewed by Darin Adler.
35233
35234         Simplify Icon interface.
35235         https://bugs.webkit.org/show_bug.cgi?id=31154
35236
35237         - Remove Icon::createIconForFile().  createIconForFiles() covers
35238           createIconForFile()'s role.
35239         - Remove FileChooser::chooseIcon()
35240         - Change the parameter types of FileChooser constructor and the
35241           factory method, String -> const Vector<String>&, in order to
35242           support initialization with multiple files.
35243         - Remove the icon loading code in IconChromiumWin.cpp, which
35244           doesn't work because of the sandbox.
35245
35246         No tests because it's just a refactoring.
35247
35248         * platform/FileChooser.cpp:
35249         (WebCore::FileChooser::FileChooser):
35250         (WebCore::FileChooser::create):
35251         (WebCore::FileChooser::chooseFile):
35252         (WebCore::FileChooser::chooseFiles):
35253         * platform/FileChooser.h:
35254         * platform/graphics/Icon.h:
35255         * platform/graphics/chromium/IconChromiumLinux.cpp:
35256         * platform/graphics/chromium/IconChromiumMac.cpp:
35257         * platform/graphics/chromium/IconChromiumWin.cpp:
35258         (WebCore::Icon::createIconForFiles):
35259         * platform/graphics/gtk/IconGtk.cpp:
35260         (WebCore::Icon::createIconForFiles):
35261         * platform/graphics/haiku/IconHaiku.cpp:
35262         * platform/graphics/mac/IconMac.mm:
35263         (WebCore::Icon::createIconForFiles):
35264         * platform/graphics/qt/IconQt.cpp:
35265         (WebCore::Icon::createIconForFiles):
35266         * platform/graphics/win/IconWin.cpp:
35267         (WebCore::Icon::createIconForFiles):
35268         * platform/graphics/wx/IconWx.cpp:
35269         * rendering/RenderFileUploadControl.cpp:
35270         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
35271
35272 2009-11-08  Daniel Bates  <dbates@webkit.org>
35273
35274         Reviewed by Adam Barth.
35275
35276         https://bugs.webkit.org/show_bug.cgi?id=31098
35277
35278         Allows same-origin plugin-based content to load.
35279
35280         Test: http/tests/security/xssAuditor/object-src-inject.html
35281
35282         * page/XSSAuditor.cpp:
35283         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): Modified to call XSSAuditor::isSameOriginResource.
35284         (WebCore::XSSAuditor::canLoadObject): Ditto.
35285         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto. 
35286         (WebCore::XSSAuditor::isSameOriginResource): Added.
35287         * page/XSSAuditor.h:
35288
35289 2009-11-08  David Levin  <levin@chromium.org>
35290
35291         Reviewed by NOBODY (chromium build fix).
35292
35293         * platform/network/HTTPParsers.cpp:
35294         (WebCore::parseDate): Changed this to not
35295         use a date parser that needs ExecState passed.
35296         
35297 2009-11-08  David Levin  <levin@chromium.org>
35298
35299         Unreviewed build fix for chromium.
35300
35301         * platform/graphics/skia/GraphicsContextSkia.cpp:
35302         (WebCore::GraphicsContext::fillPath):
35303         (WebCore::GraphicsContext::fillRect):
35304         (WebCore::GraphicsContext::strokePath):
35305         (WebCore::GraphicsContext::strokeRect):
35306
35307 2009-11-08  David Levin  <levin@chromium.org>
35308
35309         Unreviewed build fix for chromium.
35310
35311         Build fix for https://bugs.webkit.org/show_bug.cgi?id=31219
35312         Clean up GraphicsContext's current concept of ColorSpace
35313
35314         * platform/graphics/skia/GraphicsContextSkia.cpp:
35315         (WebCore::GraphicsContext::fillPath):
35316         (WebCore::GraphicsContext::fillRect):
35317         (WebCore::GraphicsContext::strokePath):
35318         (WebCore::GraphicsContext::strokeRect):
35319
35320 2009-11-08  Pavel Feldman  <pfeldman@chromium.org>
35321
35322         Reviewed by Timothy Hatcher.
35323
35324         Web Inspector: [REGRESSION] committing style edit
35325         clears elements panel selection.
35326
35327         https://bugs.webkit.org/show_bug.cgi?id=31242
35328
35329         * inspector/front-end/ElementsTreeOutline.js:
35330         (WebInspector.ElementsTreeOutline.prototype.update):
35331         * inspector/front-end/StylesSidebarPane.js:
35332         (WebInspector.StylePropertyTreeElement.prototype.):
35333         (WebInspector.StylePropertyTreeElement.prototype):
35334
35335 2009-11-08  Janne Koskinen  <janne.p.koskinen@digia.com>
35336
35337         Reviewed by Holger Freyther.
35338
35339         ResourceRequest to be class instead of struct
35340         https://bugs.webkit.org/show_bug.cgi?id=30670
35341
35342         Started as a compilation fix for Symbian where the compiler makes a distinction between
35343         class and struct in function argument signatures.
35344         Changed all forward declarations of ResourceRequest to have class in the forward
35345         declaration instead of struct and changed the definition of ResourceRequest to be class
35346         and added access qualifiers where missing. Additionally two references of friend
35347         struct ResourceRequestBase changed to class instead.
35348
35349         * history/HistoryItem.h:
35350         * inspector/InspectorController.h:
35351         * inspector/InspectorResource.h:
35352         * loader/DocumentThreadableLoader.h:
35353         * loader/FrameLoaderClient.h:
35354         * loader/MainResourceLoader.h:
35355         * loader/ResourceLoadNotifier.h:
35356         * loader/SubresourceLoader.h:
35357         * loader/SubresourceLoaderClient.h:
35358         * loader/ThreadableLoader.h:
35359         * loader/WorkerThreadableLoader.h:
35360         * loader/appcache/ApplicationCache.h:
35361         * loader/appcache/ApplicationCacheHost.h:
35362         * platform/CrossThreadCopier.h:
35363         * platform/network/ResourceHandle.h:
35364         * platform/network/ResourceHandleClient.h:
35365         * platform/network/ResourceRequestBase.h:
35366         * platform/network/cf/ResourceRequest.h:
35367         * platform/network/cf/ResourceRequestCFNet.h:
35368         * platform/network/chromium/ResourceRequest.h:
35369         * platform/network/curl/ResourceRequest.h:
35370         * platform/network/qt/ResourceRequest.h:
35371         * platform/network/soup/ResourceRequest.h:
35372         * xml/XMLHttpRequest.h:
35373
35374 2009-11-08  Dan Bernstein  <mitz@apple.com>
35375
35376         Reviewed by Simon Fraser.
35377
35378         <rdar://problem/7363434> Crash inside RenderObject::localToAbsolute
35379         below FrameView::layout
35380         https://bugs.webkit.org/show_bug.cgi?id=31093
35381
35382         Test: fast/block/positioning/relative-positioned-inline-container.html
35383
35384         In <http://trac.webkit.org/changeset/19148>, setStaticY() was changed
35385         to mark the object for layout, doing so without marking its ancestors.
35386         However, RenderBlock::skipLeadingWhitespace and
35387         RenderBlock::skipTrailingWhitespace() call setStaticY() on a relative-
35388         positioned inline container, causing it to be marked for layout without
35389         ever going back to give it layout, and thus layout could end with a
35390         dirty object still in the tree, leading to all sorts of badness.
35391
35392         The fix is to revert setStaticY() to not marking the object dirty, and
35393         instead do it in the call sites that require it, which are in
35394         RenderBlock and RenderFlexibleBox.
35395
35396         * rendering/RenderBlock.cpp:
35397         (WebCore::RenderBlock::adjustPositionedBlock):
35398         * rendering/RenderFlexibleBox.cpp:
35399         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
35400         (WebCore::RenderFlexibleBox::layoutVerticalBox):
35401         * rendering/RenderLayer.cpp:
35402         * rendering/RenderLayer.h:
35403         (WebCore::RenderLayer::setStaticY):
35404
35405 2009-11-07  Daniel Bates  <dbates@webkit.org>
35406
35407         Reviewed by Darin Adler.
35408
35409         https://bugs.webkit.org/show_bug.cgi?id=20780
35410         
35411         Fixes an issue where the onchange event handler is not fired when the 
35412         input field is autocompleted.
35413         
35414         We cannot test this using DRT since DRT cannot emulate autocompletion.
35415         So, a manual-test is included.
35416
35417         Tests: manual-tests/autocompletion-fire-onchange.html
35418
35419         * manual-tests/autocompletion-fire-onchange.html: Added.
35420         * rendering/RenderTextControl.cpp:
35421         (WebCore::RenderTextControl::setInnerTextValue):
35422
35423 2009-11-07  Benjamin Otte  <otte@gnome.org>
35424
35425         Reviewed by Holger Freyther.
35426
35427         Mark redrawn areas on image surfaces as dirty.
35428
35429         This is required to conform to the Cairo API, but is currently only
35430         used by debugging tools like cairo-trace.
35431
35432         * platform/graphics/cairo/ImageBufferCairo.cpp:
35433         (WebCore::ImageBuffer::platformTransformColorSpace):
35434         (WebCore::putImageData):
35435
35436 2009-11-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
35437
35438         Reviewed by Xan Lopez.
35439
35440         https://bugs.webkit.org/show_bug.cgi?id=30878
35441         [Gtk] atk_text_get_text() fails in entries when the end_offset is -1
35442
35443         If the end_offset is -1, use the String length as the end_offset.
35444
35445         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
35446         (webkit_accessible_text_get_text):
35447
35448 2009-11-06  Beth Dakin  <bdakin@apple.com>
35449
35450         Reviewed by Adele Peterson.
35451
35452         Fix for https://bugs.webkit.org/show_bug.cgi?id=31219 Clean up 
35453         GraphicsContext's current concept of ColorSpace
35454
35455         ColorSpace is now called ColorType. The variables on the state we 
35456         appropriately re-named as well. I removed strokeColorSpace() and 
35457         fillColorSpace() from GraphicsContext since they were never called. 
35458
35459         * platform/graphics/GraphicsContext.cpp:
35460         (WebCore::GraphicsContext::setStrokeColor):
35461         (WebCore::GraphicsContext::setFillColor):
35462         (WebCore::GraphicsContext::setStrokePattern):
35463         (WebCore::GraphicsContext::setFillPattern):
35464         (WebCore::GraphicsContext::setStrokeGradient):
35465         (WebCore::GraphicsContext::setFillGradient):
35466         * platform/graphics/GraphicsContext.h:
35467         (WebCore::):
35468         * platform/graphics/GraphicsContextPrivate.h:
35469         (WebCore::GraphicsContextState::GraphicsContextState):
35470         * platform/graphics/cairo/GraphicsContextCairo.cpp:
35471         (WebCore::GraphicsContext::fillPath):
35472         (WebCore::GraphicsContext::strokePath):
35473         * platform/graphics/cg/GraphicsContextCG.cpp:
35474         (WebCore::calculateDrawingMode):
35475         (WebCore::GraphicsContext::drawPath):
35476         (WebCore::GraphicsContext::fillPath):
35477         (WebCore::GraphicsContext::strokePath):
35478         (WebCore::GraphicsContext::fillRect):
35479         (WebCore::GraphicsContext::strokeRect):
35480         * platform/graphics/qt/GraphicsContextQt.cpp:
35481         (WebCore::GraphicsContext::fillPath):
35482         (WebCore::GraphicsContext::strokePath):
35483         (WebCore::GraphicsContext::fillRect):
35484         * platform/graphics/wince/GraphicsContextWince.cpp:
35485         (WebCore::GraphicsContext::fillPath):
35486         (WebCore::GraphicsContext::fillRect):
35487
35488 2009-11-06  Brian Weinstein  <bweinstein@apple.com>
35489
35490         Reviewed by Tim Hatcher.
35491
35492         Fixes <http://webkit.org/b/31177>.
35493         Web Inspector: Bind backspace to delete cookies and DOM Storage.
35494         
35495         Refactor editing code from DOMStorageDataGrid to DataGrid, so other
35496         places in the inspector can use editing in DataGrid (added a FIXME for
35497         some stuff that needs to be generalized).
35498         
35499         Also added deleting functionality to DataGrid, and implemented it for
35500         Cookies and DOM Storage. The reason this patch is so big is because of
35501         the refactoring of editing code, which won't be used yet in a cross-datagrid
35502         way, but should be able to.
35503         
35504         Additionally, moved the callbacks members from DOMStorageDataGrid to
35505         DOMStorageItemsView, which allowed us to delete DOMStorageDataGrid, to 
35506         make the architecture of DOM Storage look a lot more like the Cookies view.
35507         
35508         Lastly, added a preventDefault call in ElementsTreeOutline to prevent the 
35509         inspector from beeping at you when you delete an element.
35510
35511         * WebCore.gypi: Removed DOMStorageDataGrid.
35512         * WebCore.vcproj/WebCore.vcproj: Removed DOMStorageDataGrid.
35513         * inspector/front-end/CookieItemsView.js:
35514         (WebInspector.CookieItemsView.prototype.dataGridForCookies):
35515         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
35516         (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
35517         * inspector/front-end/DOMStorageDataGrid.js: Removed.
35518         * inspector/front-end/DOMStorageItemsView.js:
35519         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
35520         (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked):
35521         (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
35522         (WebInspector.DOMStorageItemsView.prototype._editingCallback):
35523         (WebInspector.DOMStorageItemsView.prototype.deleteSelectedRow):
35524         (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
35525         * inspector/front-end/DataGrid.js:
35526         (WebInspector.DataGrid):
35527         (WebInspector.DataGrid.prototype._ondblclick): Moved from DOMStorageDataGrid to DataGrid + Refactoring.
35528         (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode): Ditto.
35529         (WebInspector.DataGrid.prototype._startEditing): Ditto.
35530         (WebInspector.DataGrid.prototype._editingCommitted.moveToNextIfNeeded): Ditto.
35531         (WebInspector.DataGrid.prototype._editingCommitted): Ditto.
35532         (WebInspector.DataGrid.prototype._editingCancelled): Ditto.
35533         (WebInspector.DataGrid.prototype.handleKeyEvent): Added case for delete/backspace.
35534         * inspector/front-end/ElementsTreeOutline.js:
35535         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): Added preventDefault call.
35536         * inspector/front-end/WebKit.qrc: Removed DOMStorageDataGrid.
35537         * inspector/front-end/inspector.html: Removed DOMStorageDataGrid.
35538
35539 2009-11-06  Geoffrey Garen  <ggaren@apple.com>
35540
35541         Qt build fix: added an ExecState parameter.
35542
35543         * bridge/qt/qt_runtime.cpp:
35544         (JSC::Bindings::convertValueToQVariant):
35545         (JSC::Bindings::convertQVariantToValue):
35546
35547 2009-11-06  Geoffrey Garen  <ggaren@apple.com>
35548
35549         https://bugs.webkit.org/show_bug.cgi?id=31197
35550         Implemented a timezone cache not based on Mac OS X's notify_check API.
35551
35552         Updated for JavaScriptCore internal API change.
35553
35554         * bridge/qt/qt_runtime.cpp:
35555         (JSC::Bindings::convertValueToQVariant):
35556         (JSC::Bindings::convertQVariantToValue): Updated for namespace change.
35557
35558         * platform/network/HTTPParsers.cpp:
35559         (WebCore::parseDate): Pass 0 for ExecState, since we don't have one.
35560         (This function probably shouldn't be using a JavaScript date parser
35561         to begin with, but oh well.)
35562
35563 2009-11-06  Anantanarayanan G Iyengar  <ananta@chromium.org>
35564
35565         Reviewed by Adam Barth.
35566
35567         The associated webkit bug is https://bugs.webkit.org/show_bug.cgi?id=31067,
35568         which affects Chromium only.
35569         
35570         Changes to V8HTMLDocumentCustom.cpp are as below:-
35571         1. The HTMLDocumentOpen function would cause a crash in Chromium if
35572            there was no calling javascript context. We now check for this case
35573            and pass in NULL to the HTMLDocument::open function which can handle
35574            a NULL document parameter.
35575         2. The other functions like HTMLDocumentWrite, HTMLDocumentWriteln, etc
35576            had ASSERTS for a NULL caller frame, which was bogus as it would crash
35577            anyway. We now check for this case and return a failure.
35578            
35579         Changes to V8DOMWindowCustom.cpp are as below:-
35580         1. Instead of failing the window.open call made by NPAPI for lack of a
35581            calling javascript context, we now use the entered context as the calling
35582            context.
35583
35584         Tests: plugins/document-open.html
35585                plugins/window-open.html
35586
35587         * bindings/v8/custom/V8DOMWindowCustom.cpp:
35588         (WebCore::CALLBACK_FUNC_DECL):
35589         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
35590         (WebCore::CALLBACK_FUNC_DECL):
35591
35592 2009-11-06  Steve Block  <steveblock@google.com>
35593
35594         Reviewed by Eric Seidel.
35595
35596         Geolocation error code UNKNOWN_ERROR is deprecated.
35597         https://bugs.webkit.org/show_bug.cgi?id=31184
35598
35599         Remove this error code from PositionError, both for use from C++ code and from the JS object.
35600
35601         Updated fast/dom/Geolocation/error.html to test this.
35602
35603         * page/PositionError.h: Modified.
35604         (WebCore::PositionError::): Remove ErrorCode::UNKNOWN_ERROR.
35605         * page/PositionError.idl: Modified. Remove UNKNOWN_ERROR constant.
35606         * page/Geolocation.cpp: Modified.
35607         (WebCore::Geolocation::startRequest): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE.
35608         * platform/gtk/GeolocationServiceGtk.cpp: Modified.
35609         (WebCore::GeolocationServiceGtk::startUpdating): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE.
35610
35611 2009-11-06  Dirk Schulze  <krit@webkit.org>
35612
35613         Reviewed by Nikolas Zimmermann.
35614
35615         feMorphology filter is not implemented
35616         [https://bugs.webkit.org/show_bug.cgi?id=5863]
35617
35618         The Implementation of feMorphology.
35619         
35620         Test: We have allready a test for feMorphology
35621               svg/W3C-SVG-1.1/filters-morph-01-f.svg
35622
35623         * svg/graphics/filters/SVGFEMorphology.cpp:
35624         (WebCore::FEMorphology::apply):
35625
35626 2009-11-06  Steve Block  <steveblock@google.com>
35627
35628         Reviewed by Eric Seidel.
35629
35630         V8DOMWindowCustom.cpp is missing WEB_SOCKETS guard on include.
35631         https://bugs.webkit.org/show_bug.cgi?id=31209
35632
35633         Build fix only. No new tests possible.
35634
35635         * bindings/v8/custom/V8DOMWindowCustom.cpp: Modified. Added WEB_SOCKETS guard on inclue of WebSockets.h.
35636
35637 2009-11-06  Drew Wilson  <atwilson@chromium.org>
35638
35639         Reviewed by David Levin.
35640
35641         V8 bindings do not support SharedWorkers as event targets
35642         https://bugs.webkit.org/show_bug.cgi?id=31199
35643
35644         No new tests because existing layout tests suffice (they currently
35645         crash on Chromium)
35646
35647         * bindings/v8/V8DOMWrapper.cpp:
35648         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
35649         Added clause to create a DOM wrapper for SharedWorkers.
35650
35651 2009-11-06  Anton Muhin  <antonm@chromium.org>
35652
35653         Reviewed by Adam Barth.
35654
35655         Do not unnecessarly synchronzie in weak reference callbacks.
35656         https://bugs.webkit.org/show_bug.cgi?id=31191
35657
35658         * bindings/v8/DOMData.h:
35659         (WebCore::DOMData::handleWeakObject):
35660
35661 2009-11-06  Alexander Pavlov  <apavlov@chromium.org>
35662
35663         Reviewed by Pavel Feldman.
35664
35665         Fix resource content search.
35666         https://bugs.webkit.org/show_bug.cgi?id=31202
35667
35668         * inspector/front-end/AbstractTimelinePanel.js:
35669         (WebInspector.AbstractTimelinePanel.prototype.refresh):
35670         (WebInspector.AbstractTimelinePanel.prototype.removeItem):
35671         * inspector/front-end/TimelinePanel.js:
35672         (WebInspector.TimelineGraph.prototype.refresh):
35673
35674 2009-11-05  Yuta Kitamura  <yutak@chromium.org>
35675
35676         Reviewed by Eric Seidel.
35677
35678         Fix ASSERT(currentStyle = renderStyle()).
35679         https://bugs.webkit.org/show_bug.cgi?id=31152
35680
35681         * dom/Element.cpp:
35682         (WebCore::Element::pseudoStyleCacheIsInvalid): We should have used "==" instead of "=".
35683
35684 2009-11-05  Alpha Lam  <hclam@chromium.org>
35685
35686         Revert 50562 because it broke Chromium. Not reviewed since this is a build fix and revert.
35687
35688         * bindings/v8/V8GCController.cpp:
35689         (WebCore::V8GCController::gcEpilogue):
35690         * bindings/v8/V8GCController.h:
35691         * bindings/v8/V8Proxy.cpp:
35692         (WebCore::V8Proxy::evaluate):
35693         (WebCore::V8Proxy::runScript):
35694         (WebCore::V8Proxy::callFunction):
35695
35696 2009-11-05  Adam Barth  <abarth@webkit.org>
35697
35698         Reviewed by Sam Weinig.
35699
35700         Cross-domain access to stylesheet text should not be allowed
35701         https://bugs.webkit.org/show_bug.cgi?id=20527
35702
35703         Check whether whether the current document can read the cssRules from
35704         the style sheet.  Firefox throws a security error here, but we return
35705         null instead because that's what we usually do in these cases.
35706
35707         Test: http/tests/security/cannot-read-cssrules-redirect.html
35708               http/tests/security/cannot-read-cssrules.html
35709
35710         * css/CSSStyleSheet.cpp:
35711         (WebCore::CSSStyleSheet::cssRules):
35712
35713 2009-11-05  Steve Block  <steveblock@google.com>
35714
35715         Reviewed by Eric Seidel.
35716
35717         If the Geolocation service fails to start, invoke the error callback asynchronously.
35718         https://bugs.webkit.org/show_bug.cgi?id=28276
35719
35720         All Geolocation callbacks must be invoked asynchronously.
35721         See http://www.w3.org/TR/geolocation-API/#geolocation_interface
35722
35723         No new tests possible with current LayoutTestController.
35724
35725         * page/Geolocation.cpp:
35726         (WebCore::Geolocation::getCurrentPosition): Modified. Asserts that startRequest returned a notifier.
35727         (WebCore::Geolocation::watchPosition): Modified. Asserts that startRequest returned a notifier.
35728         (WebCore::Geolocation::startRequest): Modified. If the Geolocation service fails to start, set a fatal error on the notifier.
35729
35730 2009-11-05  Chris Jerdonek  <chris.jerdonek@gmail.com>
35731
35732         Reviewed by Eric Seidel.
35733
35734         Removed the "this is part of the KDE project" comments from 
35735         all *.h, *.cpp, *.idl, and *.pm files.
35736         
35737         https://bugs.webkit.org/show_bug.cgi?id=31167
35738         
35739         The maintenance and architecture page in the project wiki lists
35740         this as a task.
35741         
35742         This change includes no changes or additions to test cases 
35743         since the change affects only comments.
35744
35745         * bindings/scripts/CodeGeneratorV8.pm:
35746         * bindings/scripts/IDLParser.pm:
35747         * bindings/scripts/IDLStructure.pm:
35748         * css/CSSInheritedValue.cpp:
35749         * css/CSSInitialValue.cpp:
35750         * css/CSSMediaRule.cpp:
35751         * css/CSSNamespace.h:
35752         * css/CSSProperty.cpp:
35753         * css/CSSProperty.h:
35754         * css/CSSRuleList.cpp:
35755         * css/CSSRuleList.h:
35756         * css/CSSSelector.h:
35757         * css/CSSValueList.cpp:
35758         * css/FontValue.cpp:
35759         * css/MediaFeatureNames.cpp:
35760         * css/MediaFeatureNames.h:
35761         * css/Pair.h:
35762         * css/SVGCSSStyleSelector.cpp:
35763         * css/ShadowValue.cpp:
35764         * css/StyleSheet.cpp:
35765         * css/StyleSheetList.cpp:
35766         * css/maketokenizer:
35767         * dom/BeforeUnloadEvent.cpp:
35768         * dom/BeforeUnloadEvent.h:
35769         * dom/CSSMappedAttributeDeclaration.cpp:
35770         * dom/EventNames.cpp:
35771         * dom/EventTarget.cpp:
35772         * dom/MappedAttributeEntry.h:
35773         * dom/MouseRelatedEvent.h:
35774         * dom/RangeException.h:
35775         * dom/StyleElement.h:
35776         * dom/Tokenizer.h:
35777         * html/HTMLHeadElement.h:
35778         * html/HTMLHeadingElement.cpp:
35779         * html/HTMLHeadingElement.h:
35780         * html/HTMLHtmlElement.h:
35781         * html/HTMLImageLoader.h:
35782         * html/HTMLMetaElement.h:
35783         * html/HTMLModElement.cpp:
35784         * html/HTMLModElement.h:
35785         * html/HTMLOptionsCollection.cpp:
35786         * html/HTMLPlugInElement.cpp:
35787         * html/HTMLPreElement.cpp:
35788         * html/HTMLPreElement.h:
35789         * html/HTMLTableCellElement.cpp:
35790         * html/HTMLTableCellElement.h:
35791         * html/HTMLTableColElement.cpp:
35792         * html/HTMLTableColElement.h:
35793         * html/HTMLTablePartElement.cpp:
35794         * html/HTMLTablePartElement.h:
35795         * html/HTMLTitleElement.h:
35796         * page/MouseEventWithHitTestResults.h:
35797         * platform/StaticConstructors.h:
35798         * platform/text/AtomicStringImpl.h:
35799         * platform/text/qt/TextBreakIteratorQt.cpp:
35800         * rendering/AutoTableLayout.h:
35801         * rendering/CounterNode.cpp:
35802         * rendering/EllipsisBox.cpp:
35803         * rendering/EllipsisBox.h:
35804         * rendering/FixedTableLayout.cpp:
35805         * rendering/FixedTableLayout.h:
35806         * rendering/HitTestRequest.h:
35807         * rendering/HitTestResult.h:
35808         * rendering/InlineRunBox.h:
35809         * rendering/PointerEventsHitRules.cpp:
35810         * rendering/PointerEventsHitRules.h:
35811         * rendering/RenderBR.cpp:
35812         * rendering/RenderBR.h:
35813         * rendering/RenderButton.cpp:
35814         * rendering/RenderButton.h:
35815         * rendering/RenderFieldset.cpp:
35816         * rendering/RenderFrameSet.cpp:
35817         * rendering/RenderListItem.cpp:
35818         * rendering/RenderTableRow.cpp:
35819         * rendering/RenderView.h:
35820         * rendering/RootInlineBox.h:
35821         * rendering/SVGInlineTextBox.cpp:
35822         * rendering/SVGInlineTextBox.h:
35823         * rendering/TableLayout.h:
35824         * rendering/break_lines.h:
35825         * rendering/style/SVGRenderStyle.cpp:
35826         * rendering/style/SVGRenderStyle.h:
35827         * rendering/style/SVGRenderStyleDefs.cpp:
35828         * rendering/style/SVGRenderStyleDefs.h:
35829         * svg/GradientAttributes.h:
35830         * svg/LinearGradientAttributes.h:
35831         * svg/PatternAttributes.h:
35832         * svg/RadialGradientAttributes.h:
35833         * svg/SVGAElement.cpp:
35834         * svg/SVGAngle.idl:
35835         * svg/SVGAnimateColorElement.cpp:
35836         * svg/SVGAnimateColorElement.h:
35837         * svg/SVGAnimateElement.cpp:
35838         * svg/SVGAnimateElement.h:
35839         * svg/SVGAnimateTransformElement.h:
35840         * svg/SVGAnimatedPathData.cpp:
35841         * svg/SVGAnimatedPathData.h:
35842         * svg/SVGAnimatedPoints.cpp:
35843         * svg/SVGAnimatedPoints.h:
35844         * svg/SVGAnimationElement.cpp:
35845         * svg/SVGCircleElement.cpp:
35846         * svg/SVGClipPathElement.cpp:
35847         * svg/SVGColor.cpp:
35848         * svg/SVGColor.idl:
35849         * svg/SVGComponentTransferFunctionElement.cpp:
35850         * svg/SVGComponentTransferFunctionElement.h:
35851         * svg/SVGCursorElement.cpp:
35852         * svg/SVGDefsElement.cpp:
35853         * svg/SVGDescElement.cpp:
35854         * svg/SVGDescElement.h:
35855         * svg/SVGDocument.idl:
35856         * svg/SVGElement.idl:
35857         * svg/SVGElementInstanceList.cpp:
35858         * svg/SVGElementInstanceList.h:
35859         * svg/SVGEllipseElement.cpp:
35860         * svg/SVGExternalResourcesRequired.cpp:
35861         * svg/SVGFEBlendElement.cpp:
35862         * svg/SVGFEBlendElement.h:
35863         * svg/SVGFEColorMatrixElement.cpp:
35864         * svg/SVGFEColorMatrixElement.h:
35865         * svg/SVGFEComponentTransferElement.cpp:
35866         * svg/SVGFEComponentTransferElement.h:
35867         * svg/SVGFECompositeElement.cpp:
35868         * svg/SVGFECompositeElement.h:
35869         * svg/SVGFEFloodElement.cpp:
35870         * svg/SVGFEFloodElement.h:
35871         * svg/SVGFEFuncAElement.cpp:
35872         * svg/SVGFEFuncAElement.h:
35873         * svg/SVGFEFuncBElement.cpp:
35874         * svg/SVGFEFuncBElement.h:
35875         * svg/SVGFEFuncGElement.cpp:
35876         * svg/SVGFEFuncGElement.h:
35877         * svg/SVGFEFuncRElement.cpp:
35878         * svg/SVGFEFuncRElement.h:
35879         * svg/SVGFEGaussianBlurElement.cpp:
35880         * svg/SVGFEGaussianBlurElement.h:
35881         * svg/SVGFEImageElement.cpp:
35882         * svg/SVGFEMergeElement.cpp:
35883         * svg/SVGFEMergeElement.h:
35884         * svg/SVGFEMergeNodeElement.cpp:
35885         * svg/SVGFEOffsetElement.cpp:
35886         * svg/SVGFEOffsetElement.h:
35887         * svg/SVGFETileElement.cpp:
35888         * svg/SVGFETileElement.h:
35889         * svg/SVGFETurbulenceElement.cpp:
35890         * svg/SVGFETurbulenceElement.h:
35891         * svg/SVGFilterElement.cpp:
35892         * svg/SVGGElement.cpp:
35893         * svg/SVGGradientElement.cpp:
35894         * svg/SVGHKernElement.idl:
35895         * svg/SVGLangSpace.cpp:
35896         * svg/SVGLangSpace.h:
35897         * svg/SVGLength.cpp:
35898         * svg/SVGLength.h:
35899         * svg/SVGLength.idl:
35900         * svg/SVGLengthList.cpp:
35901         * svg/SVGLengthList.h:
35902         * svg/SVGLineElement.cpp:
35903         * svg/SVGLinearGradientElement.h:
35904         * svg/SVGList.h:
35905         * svg/SVGListTraits.h:
35906         * svg/SVGLocatable.h:
35907         * svg/SVGMaskElement.cpp:
35908         * svg/SVGMatrix.idl:
35909         * svg/SVGMetadataElement.cpp:
35910         * svg/SVGMetadataElement.h:
35911         * svg/SVGMetadataElement.idl:
35912         * svg/SVGNumber.idl:
35913         * svg/SVGNumberList.cpp:
35914         * svg/SVGNumberList.h:
35915         * svg/SVGPaint.cpp:
35916         * svg/SVGPathElement.cpp:
35917         * svg/SVGPathSeg.h:
35918         * svg/SVGPathSegArc.cpp:
35919         * svg/SVGPathSegArc.h:
35920         * svg/SVGPathSegClosePath.cpp:
35921         * svg/SVGPathSegClosePath.h:
35922         * svg/SVGPathSegCurvetoCubic.cpp:
35923         * svg/SVGPathSegCurvetoCubic.h:
35924         * svg/SVGPathSegCurvetoCubicSmooth.cpp:
35925         * svg/SVGPathSegCurvetoCubicSmooth.h:
35926         * svg/SVGPathSegCurvetoQuadratic.cpp:
35927         * svg/SVGPathSegCurvetoQuadratic.h:
35928         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
35929         * svg/SVGPathSegCurvetoQuadraticSmooth.h:
35930         * svg/SVGPathSegLineto.cpp:
35931         * svg/SVGPathSegLineto.h:
35932         * svg/SVGPathSegLinetoHorizontal.cpp:
35933         * svg/SVGPathSegLinetoHorizontal.h:
35934         * svg/SVGPathSegLinetoVertical.cpp:
35935         * svg/SVGPathSegLinetoVertical.h:
35936         * svg/SVGPathSegMoveto.cpp:
35937         * svg/SVGPathSegMoveto.h:
35938         * svg/SVGPatternElement.cpp:
35939         * svg/SVGPoint.idl:
35940         * svg/SVGPointList.cpp:
35941         * svg/SVGPointList.h:
35942         * svg/SVGPolyElement.cpp:
35943         * svg/SVGPolygonElement.cpp:
35944         * svg/SVGPolygonElement.h:
35945         * svg/SVGPolylineElement.cpp:
35946         * svg/SVGPolylineElement.h:
35947         * svg/SVGPreserveAspectRatio.cpp:
35948         * svg/SVGPreserveAspectRatio.h:
35949         * svg/SVGRadialGradientElement.h:
35950         * svg/SVGRect.idl:
35951         * svg/SVGRectElement.cpp:
35952         * svg/SVGRenderingIntent.h:
35953         * svg/SVGSVGElement.idl:
35954         * svg/SVGScriptElement.cpp:
35955         * svg/SVGSetElement.cpp:
35956         * svg/SVGSetElement.h:
35957         * svg/SVGStopElement.cpp:
35958         * svg/SVGStringList.cpp:
35959         * svg/SVGStringList.h:
35960         * svg/SVGStylable.cpp:
35961         * svg/SVGStylable.h:
35962         * svg/SVGStyleElement.cpp:
35963         * svg/SVGStyleElement.h:
35964         * svg/SVGStyledElement.h:
35965         * svg/SVGStyledLocatableElement.cpp:
35966         * svg/SVGStyledLocatableElement.h:
35967         * svg/SVGStyledTransformableElement.cpp:
35968         * svg/SVGStyledTransformableElement.h:
35969         * svg/SVGSwitchElement.cpp:
35970         * svg/SVGSymbolElement.cpp:
35971         * svg/SVGTRefElement.cpp:
35972         * svg/SVGTSpanElement.cpp:
35973         * svg/SVGTSpanElement.h:
35974         * svg/SVGTests.h:
35975         * svg/SVGTextElement.cpp:
35976         * svg/SVGTextElement.h:
35977         * svg/SVGTextPathElement.cpp:
35978         * svg/SVGTextPositioningElement.cpp:
35979         * svg/SVGTextPositioningElement.h:
35980         * svg/SVGTitleElement.cpp:
35981         * svg/SVGTitleElement.h:
35982         * svg/SVGTransform.cpp:
35983         * svg/SVGTransform.h:
35984         * svg/SVGTransform.idl:
35985         * svg/SVGTransformList.cpp:
35986         * svg/SVGTransformList.h:
35987         * svg/SVGTransformable.h:
35988         * svg/SVGURIReference.h:
35989         * svg/SVGUnitTypes.h:
35990         * svg/SVGUseElement.cpp:
35991         * svg/SVGViewElement.cpp:
35992         * svg/SVGZoomAndPan.cpp:
35993         * svg/SVGZoomAndPan.h:
35994         * svg/SVGZoomEvent.cpp:
35995
35996 2009-11-05  Jeremy Orlow  <jorlow@chromium.org>
35997
35998         Reviewed by Dimitri Glazkov.
35999
36000         REGRESSION Clean up security origin usage in DOM Storage.
36001         https://bugs.webkit.org/show_bug.cgi?id=31188
36002
36003         Clean up security origin usage in DOM Storage.  This fixes a bug in my
36004         refactoring here: https://bugs.webkit.org/show_bug.cgi?id=31149
36005
36006         Instead of having StorageAreaSync's constructor (which is called in the
36007         constructor for StorageAreaImpl) calling a method on StoargeAreaImpl to get the
36008         database identifier, simply have StorageAreaImpl pass the identifier into
36009         StorageAreaSync.
36010
36011         No test because there's no change in externally observable behavior.
36012
36013         * storage/StorageAreaImpl.cpp:
36014         (WebCore::StorageAreaImpl::StorageAreaImpl):
36015         * storage/StorageAreaImpl.h:
36016         * storage/StorageAreaSync.cpp:
36017         (WebCore::StorageAreaSync::create):
36018         (WebCore::StorageAreaSync::StorageAreaSync):
36019         * storage/StorageAreaSync.h:
36020
36021 2009-11-05  Scott Violet  <sky@google.com>
36022
36023         Reviewed by Dimitri Glazkov.
36024
36025         Need notification of scrolling frame
36026         https://bugs.webkit.org/show_bug.cgi?id=31145
36027
36028         Adds FrameLoaderClient::didChangeScrollOffset that is called when
36029         the frame scrolls. This will be used to know when history state
36030         needs to be updated.
36031
36032         * loader/FrameLoaderClient.h:
36033         (WebCore::FrameLoaderClient::didChangeScrollOffset):
36034         * page/FrameView.cpp:
36035         (WebCore::FrameView::valueChanged):
36036
36037 2009-11-05  Kenneth Russell  <kbr@google.com>
36038
36039         Reviewed by Dimitri Glazkov.
36040
36041         [V8] Update bindings to use new API for external arrays
36042         https://bugs.webkit.org/show_bug.cgi?id=31181
36043
36044         No new tests; covered by existing WebGL tests.
36045
36046         * bindings/v8/V8DOMWrapper.cpp:
36047         (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray):
36048         (WebCore::V8DOMWrapper::getTemplate):
36049         (WebCore::V8DOMWrapper::convertToV8Object):
36050         * bindings/v8/V8DOMWrapper.h:
36051         * bindings/v8/custom/V8CanvasArrayCustom.h:
36052         (WebCore::constructCanvasArray):
36053
36054 2009-11-05  Alpha Lam  <hclam@chromium.org>
36055
36056         Not reviewed, Chromium build fix.
36057
36058         50561 introduces a custom method for SVGMatrix, we need to implement
36059         this in V8.
36060
36061         * bindings/v8/custom/V8CustomBinding.h:
36062         Adding definition for V8SVGMatrixMultiply.
36063         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
36064         (WebCore::CALLBACK_FUNC_DECL):
36065         Implement V8SVGMatrixMultiply according to the same method in JSC.
36066
36067 2009-11-05  Jeremy Orlow  <jorlow@chromium.org>
36068
36069         Revert 50569 since it broke QT.  Build fix and just a revert, so no review.
36070
36071         * page/DOMWindow.cpp:
36072         (WebCore::DOMWindow::sessionStorage):
36073         * page/Settings.cpp:
36074         (WebCore::Settings::Settings):
36075         (WebCore::Settings::setSessionStorageEnabled):
36076         * page/Settings.h:
36077         (WebCore::Settings::sessionStorageEnabled):
36078
36079 2009-11-05  Pavel Feldman  <pfeldman@chromium.org>
36080
36081         Reviewed by Timothy Hatcher.
36082
36083         REGRESSION: Web Inspector doesn't show CSS rules properly for iframes
36084
36085         https://bugs.webkit.org/show_bug.cgi?id=30884
36086
36087         Test: inspector/styles-iframe.html
36088
36089         * inspector/front-end/DOMAgent.js:
36090         (WebInspector.DOMNode):
36091         * inspector/front-end/InjectedScript.js:
36092         (InjectedScript.getStyles):
36093         (InjectedScript.getComputedStyle):
36094         (InjectedScript.addStyleSelector):
36095         * inspector/front-end/TestController.js:
36096         (WebInspector.TestController.prototype.notifyDone):
36097         (WebInspector.TestController.prototype.runAfterPendingDispatches):
36098         (WebInspector.evaluateForTestInFrontend.invokeMethod):
36099         (WebInspector.evaluateForTestInFrontend):
36100
36101 2009-11-05  Vitaly Repeshko  <vitalyr@chromium.org>
36102
36103         Reviewed by Geoffrey Garen and Dimitri Glazkov.
36104
36105         Rehashing of EventListenerMap leads to loss of EvenListenerList.
36106         https://bugs.webkit.org/show_bug.cgi?id=31027
36107
36108         Tested by new fast/events/event-listener-map-rehash-crash.html.
36109
36110         EventListenerMap modified to store pointers to listener vectors:
36111         * dom/EventTarget.cpp:
36112         (WebCore::EventTargetData::~EventTargetData):
36113         (WebCore::EventTarget::addEventListener):
36114         (WebCore::EventTarget::removeEventListener):
36115         (WebCore::EventTarget::fireEventListeners):
36116         (WebCore::EventTarget::getEventListeners):
36117         (WebCore::EventTarget::removeAllEventListeners):
36118         * dom/EventTarget.h:
36119
36120         Usages updated after interface changes:
36121         * inspector/InspectorDOMAgent.cpp:
36122         (WebCore::InspectorDOMAgent::getEventListenersForNode):
36123         * svg/SVGUseElement.cpp:
36124         (WebCore::SVGUseElement::transferEventListenersToShadowTree):
36125
36126 2009-11-05  Dan Kegel  <dank@chromium.org>
36127
36128         Reviewed by Dmitri Titov.
36129
36130         Add missing initialization for m_createdByParser.
36131         https://bugs.webkit.org/show_bug.cgi?id=31089
36132
36133         Test: fast/dom/beforeload/pi-before-load.xhtml in Valgrind
36134
36135         * dom/ProcessingInstruction.cpp:
36136         (WebCore::ProcessingInstruction::ProcessingInstruction):
36137
36138 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
36139
36140         Reviewed by Adam Barth.
36141
36142         DOM Storage runtime flag changes
36143         https://bugs.webkit.org/show_bug.cgi?id=30602
36144
36145         Part 2/2.
36146
36147         Revert my changes to Settings and instead implement DOM Storage enabling via
36148         the methods agreed upon in https://bugs.webkit.org/show_bug.cgi?id=30240
36149
36150         This stuff was (intentionally) never exposed to web pages or DRT, so there's no
36151         LayoutTest visible changes and thus no tests.
36152
36153         * bindings/v8/custom/V8CustomBinding.h:
36154         * bindings/v8/custom/V8DOMWindowCustom.cpp:
36155         (WebCore::ACCESSOR_RUNTIME_ENABLER):
36156         * page/DOMWindow.cpp:
36157         (WebCore::DOMWindow::sessionStorage):
36158         * page/DOMWindow.idl:
36159         * page/Settings.cpp:
36160         (WebCore::Settings::Settings):
36161         * page/Settings.h:
36162         * storage/Storage.cpp:
36163         (WebCore::Storage::setLocalStorageAvailable):
36164         (WebCore::Storage::localStorageAvailable):
36165         (WebCore::Storage::setSessionStorageAvailable):
36166         (WebCore::Storage::sessionStorageAvailable):
36167         * storage/Storage.h:
36168
36169 2009-11-05  Jian Li  <jianli@chromium.org>
36170
36171         Reviewed by Pavel Feldman.
36172
36173         Bug 31108 - [V8] REGRESSION: Pause on exception is broken
36174         https://bugs.webkit.org/show_bug.cgi?id=31108
36175
36176         * bindings/v8/V8AbstractEventListener.cpp:
36177         (WebCore::V8AbstractEventListener::invokeEventHandler):
36178         * bindings/v8/V8Utilities.cpp:
36179         (WebCore::reportException):
36180
36181 2009-11-05  Jian Li  <jianli@chromium.org>
36182
36183         Reviewed by Dmitri Titov.
36184
36185         We should not bubble up events if we drag something to an iframe that
36186         has an invalid source.
36187         https://bugs.webkit.org/show_bug.cgi?id=30469
36188
36189         Test: http/tests/misc/bubble-drag-events.html
36190
36191         * page/EventHandler.cpp:
36192         (WebCore::EventHandler::handleDragAndDropForTarget):
36193         (WebCore::EventHandler::updateDragAndDrop):
36194         (WebCore::EventHandler::cancelDragAndDrop):
36195         (WebCore::EventHandler::performDragAndDrop):
36196         * page/EventHandler.h:
36197         (WebCore::EventHandler::):
36198
36199 2009-11-05  Pavel Feldman  <pfeldman@chromium.org>
36200
36201         Reviewed by Timothy Hatcher.
36202
36203         Web Inspector: speed up Timelines Clear by a factor of thousands.
36204
36205         https://bugs.webkit.org/show_bug.cgi?id=31160
36206
36207         * inspector/front-end/utilities.js:
36208         (Element.prototype.removeChildren):
36209
36210 2009-11-05  Anton Muhin  <antonm@chromium.org>
36211
36212         Reviewed by Adam Barth.
36213
36214         If high memory usage is detected, hint to V8 that it might be due
36215         to external objects retained by V8 objects.
36216         https://bugs.webkit.org/show_bug.cgi?id=31051
36217
36218         * bindings/v8/V8GCController.cpp:
36219         (WebCore::GetMemoryUsageInMB):
36220         (WebCore::V8GCController::gcEpilogue):
36221         (WebCore::V8GCController::checkMemoryUsage):
36222         * bindings/v8/V8GCController.h:
36223         * bindings/v8/V8Proxy.cpp:
36224         (WebCore::V8Proxy::evaluate):
36225         (WebCore::V8Proxy::runScript):
36226         (WebCore::V8Proxy::callFunction):
36227
36228 2009-11-05  Jeff Schiller  <codedread@gmail.com>
36229
36230         Reviewed by Simon Fraser.
36231
36232         Correct order of matrix multiplication for SVGMatrix.
36233         https://bugs.webkit.org/show_bug.cgi?id=16062
36234
36235         Test: svg/dom/SVGMatrix-interface.xhtml
36236
36237         * bindings/js/JSSVGMatrixCustom.cpp:
36238         (WebCore::JSSVGMatrix::multiply):
36239         * svg/SVGMatrix.idl:
36240
36241 2009-11-04  Pavel Feldman  <pfeldman@chromium.org>
36242
36243         Reviewed by Timothy Hatcher.
36244
36245         Web Inspector: Make resource-related records in timeline
36246         actually take some time.
36247
36248         https://bugs.webkit.org/show_bug.cgi?id=31139
36249
36250         * English.lproj/localizedStrings.js:
36251         * inspector/front-end/TimelinePanel.js:
36252         (WebInspector.TimelinePanel):
36253         (WebInspector.TimelinePanel.prototype._formatRecord):
36254         (WebInspector.TimelinePanel.prototype._getRecordDetails):
36255         (WebInspector.TimelinePanel.prototype.reset):
36256
36257 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
36258
36259         Reviewed by Darin Fisher.
36260
36261         Simplify LocalStorageThread
36262         https://bugs.webkit.org/show_bug.cgi?id=30935
36263
36264         This is a re-submit of 50519.  LocalStorageTask should have never been ref
36265         counted.  I've removed that and switched a PassRefPtr over to a PassOwnPtr.
36266
36267         On LocalStoragethread: Remove reference counting. Get rid of locking. Make some
36268         of the method names a bit more clear. Assert proper thread usage. Join rather
36269         than detaching the thread and doing an ad-hoc form of join. Avoid touching
36270         variables on the background thread when simple to do so.  Also create a generic
36271         scheduleTask function rather than one for each task.
36272
36273         No behavior should have changed.
36274
36275         * storage/LocalStorageTask.h:
36276         * storage/LocalStorageThread.cpp:
36277         (WebCore::LocalStorageThread::create):
36278         (WebCore::LocalStorageThread::LocalStorageThread):
36279         (WebCore::LocalStorageThread::~LocalStorageThread):
36280         (WebCore::LocalStorageThread::start):
36281         (WebCore::LocalStorageThread::threadEntryPointCallback):
36282         (WebCore::LocalStorageThread::threadEntryPoint):
36283         (WebCore::LocalStorageThread::scheduleTask):
36284         (WebCore::LocalStorageThread::terminate):
36285         (WebCore::LocalStorageThread::performTerminate):
36286         * storage/LocalStorageThread.h:
36287         * storage/StorageSyncManager.cpp:
36288         (WebCore::StorageSyncManager::StorageSyncManager):
36289         (WebCore::StorageSyncManager::~StorageSyncManager):
36290         (WebCore::StorageSyncManager::scheduleImport):
36291         (WebCore::StorageSyncManager::scheduleSync):
36292         * storage/StorageSyncManager.h:
36293
36294 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
36295
36296         Reviewed by Darin Fisher.
36297
36298         Calling databaseIdentifier on LocalStorage's background thread is not safe.
36299         https://bugs.webkit.org/show_bug.cgi?id=31149
36300
36301         Calling SecurityOrigin::databaseIdentifier on LocalStorage's background thread
36302         is not safe.  databaseIdentifier does a bunch of string concatenation which
36303         ref-counts StringImpls in some cases.  This was caught by valgrind thread
36304         sanitizer: http://code.google.com/p/chromium/issues/detail?id=25645
36305
36306         There's no way to test for such racyness, unfortunately.
36307
36308         * storage/StorageAreaSync.cpp:
36309         (WebCore::StorageAreaSync::StorageAreaSync):
36310         (WebCore::StorageAreaSync::performImport):
36311         * storage/StorageAreaSync.h:
36312         * storage/StorageSyncManager.cpp:
36313         (WebCore::StorageSyncManager::fullDatabaseFilename):
36314         * storage/StorageSyncManager.h:
36315
36316 2009-11-03  Jeremy Orlow  <jorlow@chromium.org>
36317
36318         Reviewed by Darin Fisher.
36319
36320         Clean up StorageAreaSync
36321         https://bugs.webkit.org/show_bug.cgi?id=31100
36322
36323         Major fixes: Break the ref count cycle for StorageArea on the main
36324         thread, not the background thread since the latter is not safe.
36325         Length() needs to block on the import completing.
36326
36327         Small fixes: setItem needs to handle the copy on write case even if it
36328         has an exception.  setItem and removeItem should just bail from the
36329         the function if the value hasn't changed rather than wrapping the end
36330         in an if block.  Clear should only send an event if it wasn't already
36331         cleared.  StorageAreaSync should assert that the final sync was
36332         scheduled.
36333
36334         * storage/StorageAreaImpl.cpp:
36335         (WebCore::StorageAreaImpl::length):
36336           Forgot to block on the import.
36337         (WebCore::StorageAreaImpl::key):
36338         (WebCore::StorageAreaImpl::setItem):
36339           Handle the copy on write case even when there's an exception.
36340         (WebCore::StorageAreaImpl::removeItem):
36341         (WebCore::StorageAreaImpl::clear):
36342         * storage/StorageAreaSync.cpp:
36343         (WebCore::StorageAreaSync::~StorageAreaSync):
36344         (WebCore::StorageAreaSync::scheduleFinalSync):
36345         (WebCore::StorageAreaSync::performImport):
36346         (WebCore::StorageAreaSync::markImported):
36347         (WebCore::StorageAreaSync::blockUntilImportComplete):
36348         * storage/StorageAreaSync.h:
36349
36350 2009-11-05  Zoltan Horvath  <zoltan@webkit.org>
36351
36352         Reviewed by Eric Seidel.
36353
36354         Allow custom memory allocation control for WebCore's CachedResource
36355         https://bugs.webkit.org/show_bug.cgi?id=31114
36356
36357         Inherits CachedResource class from Noncopyable because its (its child
36358         class) CachedCSSStyleSheet instantiated by 'new' in WebCore/loader/Cache.cpp:75 
36359         and it is no need to be copyable.
36360
36361         * loader/CachedResource.h:
36362
36363 2009-11-04  Mark Mentovai  <mark@chromium.org>
36364
36365         Reviewed by Mark Rowe.
36366
36367         Separate the difference between HAVE(CGINTERPOLATION_MEDIUM), which
36368         is true when building on 10.6 or later, and USE(CGINTERPOLATION_MEDIUM)
36369         which is true when targeting 10.6 or later.
36370
36371         HAVE(CGINTERPOLATION_MEDIUM) indicates that kCGInterpolationMedium
36372         is present in the CGInterpolationQuality enum, and must be handled
36373         by a switch that has cases for each enumerated value.
36374
36375         USE(CGINTERPOLATION_MEDIUM) indicates that the product will only run
36376         on 10.6 or later, and that CoreGraphics will understand when
36377         InterpolationMedium is mapped to kCGInterpolationMedium at runtime.
36378
36379         * platform/graphics/cg/GraphicsContextCG.cpp:
36380         (WebCore::GraphicsContext::setImageInterpolationQuality):
36381         (WebCore::GraphicsContext::imageInterpolationQuality):
36382
36383 2009-11-04  Dan Kegel  <dank@chromium.org>
36384
36385         Reviewed by Alexey Proskuryakov.
36386
36387         Fix buffer overrun in WebCore::Page::userStyleSheetLocationChanged()
36388         https://bugs.webkit.org/show_bug.cgi?id=31138
36389
36390         Test: LayoutTests/platform/mac/fast/loader/user-stylesheet-fast-path.html in Valgrind
36391
36392         * page/Page.cpp:
36393         (WebCore::Page::userStyleSheetLocationChanged):
36394
36395 2009-11-04  Timothy Hatcher  <timothy@apple.com>
36396
36397         Update the Web Inspector Timeline panel to better match the mock-up.
36398
36399         https://bugs.webkit.org/show_bug.cgi?id=31150
36400
36401         Reviewed by Pavel Feldman.
36402
36403         * inspector/front-end/TimelinePanel.js:
36404         (WebInspector.TimelinePanel.prototype._getRecordDetails):
36405         (WebInspector.TimelinePanel.prototype._dragWindow):
36406         (WebInspector.TimelinePanel.prototype._resizeWindowLeft):
36407         (WebInspector.TimelinePanel.prototype._resizeWindowRight):
36408         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
36409         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
36410         (WebInspector.TimelineRecordTreeElement.prototype.refresh):
36411         (WebInspector.TimelineCategoryGraph):
36412         * inspector/front-end/inspector.css:
36413
36414 2009-11-05  Justin Garcia  <justin.garcia@apple.com>
36415
36416         Reviewed by Adele Peterson.
36417
36418         https://bugs.webkit.org/show_bug.cgi?id=25439
36419         Deleting when in front of a block image removes character from previous paragraph
36420
36421         Added editing/deleting/25439-{1,2,3}.html
36422
36423         * editing/DeleteSelectionCommand.cpp:
36424         (WebCore::DeleteSelectionCommand::mergeParagraphs): Block images, tables and HRs cannot 
36425         be made inline with other content.  Instead of merging, just move the caret to just before 
36426         the selection we deleted.
36427         * editing/htmlediting.cpp:
36428         (WebCore::firstInSpecialElement): Added a FIXME.  This function begins iterating up from pos.node(), which 
36429         doesn't necessarily contain pos (suppose pos was [img, 0]).
36430         (WebCore::lastInSpecialElement): Ditto.
36431         (WebCore::isRenderedAsNonInlineTableImageOrHR): Moved from visible_units.cpp.  Added a check for non-inline images.
36432         * editing/htmlediting.h:
36433         * editing/visible_units.cpp:
36434         (WebCore::startOfParagraph): Use moved/renamed function.  Removed FIXME.  The problem causing 
36435         5027702 is now squarely in first/lastInSpecialElement
36436         (WebCore::endOfParagraph): Ditto.
36437         
36438 2009-11-04  Enrica Casucci  <enrica@apple.com>
36439
36440         Reviewed by Adele Peterson.
36441
36442         Hang in Mail on attempting to change indent level.
36443         <rdar://problem/7131805>
36444         https://bugs.webkit.org/show_bug.cgi?id=31127
36445
36446         The hang was caused by an infinite loop inside outdentRegion.
36447         The code did not account for the fact that, when a list item
36448         contains multiple paragraphs, outdent moves all paragraphs at
36449         once, invalidating some of the positions we keep track of in the loop.
36450         Some code refactoring has also been done to minimize duplicated code.
36451         
36452         Test: editing/execCommand/outdent-multiparagraph-list.html
36453
36454         * editing/IndentOutdentCommand.cpp:
36455         (WebCore::IndentOutdentCommand::indentRegion): Moved code in common with
36456         outdentRegion to doApply.
36457         (WebCore::IndentOutdentCommand::outdentRegion): Fixed endless loop.
36458         (WebCore::IndentOutdentCommand::doApply): Some code refactoring.
36459         * editing/IndentOutdentCommand.h: Added VisiblePosition parameters to
36460         indentRegion and outdentRegion.
36461
36462 2009-11-04  Alpha Lam  <hclam@chromium.org>
36463
36464         Reviewed by Eric Carlson.
36465
36466         Volume slider doesn't have a thumb
36467         https://bugs.webkit.org/show_bug.cgi?id=31135
36468
36469         Fixed an incorrect if statement that prevents volume slider
36470         being updated.
36471
36472         The statement checks if the slider value equals to the current
36473         volume value of the media control to avoid updating the volume
36474         slider. Updating the volume slider control shouldn't be within
36475         this condition because we explicitly set them to be equals
36476         during creation of the controls and also when mouse events are
36477         received on the volume control.
36478
36479         No new tests because existing code breaks:
36480         LayoutTests/media/video-volume-slider.html
36481
36482         It should now start passing on Chromium.
36483
36484         * rendering/MediaControlElements.cpp:
36485         (WebCore::MediaControlVolumeSliderElement::update):
36486         Update the volume slider regardless of the current volume value
36487         of the media control.
36488
36489 2009-11-04  Jenn Braithwaite  <jennb@chromium.org>
36490
36491         Reviewed by David Levin.
36492
36493         Need to properly disable applicationCache at runtime
36494         https://bugs.webkit.org/show_bug.cgi?id=30417
36495
36496         Adding applicationCacheEnabled bit to V8 RuntimeEnabledFeatures.
36497
36498         No new exposed functionality, so no new tests.
36499
36500         * bindings/v8/RuntimeEnabledFeatures.cpp:
36501         * bindings/v8/RuntimeEnabledFeatures.h:
36502         (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled):
36503         (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled):
36504         * bindings/v8/custom/V8CustomBinding.h:
36505         * bindings/v8/custom/V8DOMWindowCustom.cpp:
36506         (WebCore::ACCESSOR_RUNTIME_ENABLER):
36507         * page/DOMWindow.idl:
36508
36509 2009-11-04  Alexey Proskuryakov  <ap@apple.com>
36510
36511         Reviewed by Dan Bernstein.
36512
36513         https://bugs.webkit.org/show_bug.cgi?id=31143
36514         Assertion failure in CredentialStorage::set() when proxy credentials are being set
36515
36516         No test, cannot test proxy behavior.
36517
36518         * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::set): Account for the
36519         possibility of null url. Release mode changes are likely inconsequential - e.g. we used to
36520         add "://" to origin set, which is weird, but safe.
36521
36522 2009-11-04  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
36523
36524         Reviewed by Timothy Hatcher.
36525
36526         Web Inspector: Leftover Breakpoints in the Sidebar Pane
36527         https://bugs.webkit.org/show_bug.cgi?id=30659
36528
36529         No new tests.
36530
36531         * inspector/front-end/ScriptsPanel.js:
36532         (WebInspector.ScriptsPanel.prototype.addScript):
36533
36534 2009-11-04  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
36535
36536         Reviewed by Timothy Hatcher.
36537
36538         WebInspector: Use a different method to identify the webkit port in
36539         InspectorBackent::platform().
36540         This corrects the inspector expected behavior with Qt on Windows.
36541         https://bugs.webkit.org/show_bug.cgi?id=31116
36542
36543         * inspector/InspectorBackend.cpp:
36544         (WebCore::InspectorBackend::platform):
36545         (WebCore::InspectorBackend::port):
36546         * inspector/InspectorBackend.h:
36547         * inspector/InspectorBackend.idl:
36548         * inspector/front-end/InspectorControllerStub.js:
36549         (.WebInspector.InspectorControllerStub.prototype.port):
36550         * inspector/front-end/inspector.css:
36551         * inspector/front-end/inspector.js:
36552         (WebInspector.loaded):
36553         (WebInspector.toolbarDragStart):
36554
36555 2009-11-04  Benjamin Otte  <otte@gnome.org>
36556
36557         Reviewed by Gustavo Noronha.
36558
36559         Update Cairo requirement to 1.6.
36560
36561         Also remove all conditional code and workarounds for older versions of
36562         Cairo.
36563         In particular, gain image quality by removing the use of
36564         CAIRO_FILTER_NEAREST when rendering images and use the default
36565         bilinear filter instead.
36566         https://bugs.webkit.org/show_bug.cgi?id=19266
36567
36568         * platform/graphics/cairo/GraphicsContextCairo.cpp:
36569         (WebCore::GraphicsContext::clipOut):
36570         * platform/graphics/cairo/ImageCairo.cpp:
36571         (WebCore::BitmapImage::draw):
36572         (WebCore::BitmapImage::drawPattern):
36573         * platform/graphics/cairo/PathCairo.cpp:
36574         (WebCore::Path::isEmpty):
36575         (WebCore::Path::boundingRect):
36576         * platform/gtk/RenderThemeGtk.cpp:
36577         (WebCore::paintMozWidget):
36578
36579 2009-11-04  Kevin Ollivier  <kevino@theolliviers.com>
36580
36581         wx build fix. Restore removed string conversion after cleanup.
36582
36583         * platform/graphics/wx/FontPlatformDataWx.cpp:
36584         (WebCore::FontPlatformData::computeHash):
36585
36586 2009-11-04  Chris Fleizach  <cfleizach@apple.com>
36587
36588         Reviewed by Beth Dakin.
36589
36590         Need to implement ARIA role="combobox"
36591         https://bugs.webkit.org/show_bug.cgi?id=31096
36592
36593         Test: accessibility/aria-combobox.html
36594
36595         * accessibility/AccessibilityObject.h:
36596         (WebCore::AccessibilityObject::isComboBox):
36597         (WebCore::AccessibilityObject::isExpanded):
36598         (WebCore::AccessibilityObject::expandObject):
36599         (WebCore::AccessibilityObject::increment):
36600         (WebCore::AccessibilityObject::decrement):
36601         * accessibility/AccessibilityRenderObject.cpp:
36602         (WebCore::AccessibilityRenderObject::expandObject):
36603         (WebCore::AccessibilityRenderObject::isExpanded):
36604         (WebCore::createARIARoleMap):
36605         * accessibility/AccessibilityRenderObject.h:
36606         * accessibility/mac/AccessibilityObjectWrapper.mm:
36607         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
36608         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
36609         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
36610         * html/HTMLAttributeNames.in:
36611
36612 2009-11-04  Kelly Norton  <knorton@google.com>
36613
36614         Reviewed by Pavel Feldman.
36615
36616         Fixes naming inconsistencies in TimelineRecordFactory.
36617         https://bugs.webkit.org/show_bug.cgi?id=31132
36618
36619         * inspector/InspectorTimelineAgent.cpp:
36620         (WebCore::InspectorTimelineAgent::willPaint):
36621         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
36622         (WebCore::InspectorTimelineAgent::willLoadXHR):
36623         (WebCore::InspectorTimelineAgent::willEvaluateScript):
36624         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
36625         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
36626         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
36627         * inspector/TimelineRecordFactory.cpp:
36628         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeRecord):
36629         (WebCore::TimelineRecordFactory::createXHRLoadRecord):
36630         (WebCore::TimelineRecordFactory::createEvaluateScriptRecord):
36631         (WebCore::TimelineRecordFactory::createMarkTimelineRecord):
36632         (WebCore::TimelineRecordFactory::createResourceSendRequestRecord):
36633         (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord):
36634         (WebCore::TimelineRecordFactory::createResourceFinishRecord):
36635         (WebCore::TimelineRecordFactory::createPaintRecord):
36636         * inspector/TimelineRecordFactory.h:
36637
36638 2009-11-04  Eric Z. Ayers  <zundel@google.com>
36639
36640         Reviewed by Pavel Feldman.
36641
36642         Followon to bug 31080, which protects Timeline
36643         instrumentation in the case where InspectorTimelineAgent
36644         is enabled or disabled during an event dispatch.
36645         
36646         https://bugs.webkit.org/show_bug.cgi?id=31121
36647
36648         * bindings/v8/V8Proxy.cpp:
36649         (WebCore::V8Proxy::evaluate):
36650         * dom/Document.cpp:
36651         (WebCore::Document::recalcStyle):
36652         * dom/Node.cpp:
36653         (WebCore::Node::dispatchGenericEvent):
36654         * html/HTMLTokenizer.cpp:
36655         (WebCore::HTMLTokenizer::write):
36656         * page/DOMWindow.cpp:
36657         (WebCore::DOMWindow::inspectorTimelineAgent):
36658         (WebCore::DOMWindow::dispatchEvent):
36659         * page/DOMWindow.h:
36660         * page/FrameView.cpp:
36661         (WebCore::FrameView::layout):
36662         (WebCore::FrameView::paintContents):
36663         * xml/XMLHttpRequest.cpp:
36664         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
36665
36666 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
36667
36668         Revert 50519 while I work out what went wrong.
36669
36670         * storage/LocalStorageThread.cpp:
36671         (WebCore::LocalStorageThread::create):
36672         (WebCore::LocalStorageThread::LocalStorageThread):
36673         (WebCore::LocalStorageThread::start):
36674         (WebCore::LocalStorageThread::localStorageThreadStart):
36675         (WebCore::LocalStorageThread::localStorageThread):
36676         (WebCore::LocalStorageThread::scheduleImport):
36677         (WebCore::LocalStorageThread::scheduleSync):
36678         (WebCore::LocalStorageThread::terminate):
36679         (WebCore::LocalStorageThread::performTerminate):
36680         * storage/LocalStorageThread.h:
36681         * storage/StorageSyncManager.cpp:
36682         (WebCore::StorageSyncManager::StorageSyncManager):
36683         (WebCore::StorageSyncManager::~StorageSyncManager):
36684         (WebCore::StorageSyncManager::scheduleImport):
36685         (WebCore::StorageSyncManager::scheduleSync):
36686         * storage/StorageSyncManager.h:
36687
36688 2009-11-04  Pavel Feldman  <pfeldman@chromium.org>
36689
36690         Reviewed by Timothy Hatcher.
36691
36692         Web Inspector: Add basic support for resource events and marks.
36693         Couple of drive-by fixes. Enabling the panel!
36694
36695         https://bugs.webkit.org/show_bug.cgi?id=31130
36696
36697         * English.lproj/localizedStrings.js:
36698         * inspector/front-end/TimelinePanel.js:
36699         (WebInspector.TimelinePanel):
36700         (WebInspector.TimelinePanel.prototype._formatRecord):
36701         (WebInspector.TimelinePanel.prototype._getRecordDetails):
36702         (WebInspector.TimelinePanel.prototype.reset):
36703         (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClicked):
36704         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
36705         * inspector/front-end/inspector.js:
36706         (WebInspector._createPanels):
36707
36708 2009-11-03  Jeremy Orlow  <jorlow@chromium.org>
36709
36710         Reviewed by Darin Fisher.
36711
36712         Simplify LocalStorageThread
36713         https://bugs.webkit.org/show_bug.cgi?id=30935
36714
36715         On LocalStoragethread: Remove reference counting. Get rid of locking. Make some
36716         of the method names a bit more clear. Assert proper thread usage. Join rather
36717         than detaching the thread and doing an ad-hoc form of join. Avoid touching
36718         variables on the background thread when simple to do so.  Also create a generic
36719         scheduleTask function rather than one for each task.
36720
36721         No behavior should have changed.
36722
36723         * storage/LocalStorageThread.cpp:
36724         (WebCore::LocalStorageThread::create):
36725         (WebCore::LocalStorageThread::LocalStorageThread):
36726         (WebCore::LocalStorageThread::~LocalStorageThread):
36727         (WebCore::LocalStorageThread::start):
36728         (WebCore::LocalStorageThread::threadEntryPointCallback):
36729         (WebCore::LocalStorageThread::threadEntryPoint):
36730         (WebCore::LocalStorageThread::scheduleTask):
36731         (WebCore::LocalStorageThread::terminate):
36732         (WebCore::LocalStorageThread::performTerminate):
36733         * storage/LocalStorageThread.h:
36734         * storage/StorageSyncManager.cpp:
36735         (WebCore::StorageSyncManager::StorageSyncManager):
36736         (WebCore::StorageSyncManager::~StorageSyncManager):
36737         (WebCore::StorageSyncManager::scheduleImport):
36738         (WebCore::StorageSyncManager::scheduleSync):
36739         * storage/StorageSyncManager.h:
36740
36741 2009-11-04  Vadim Zeitlin  <vadim@wxwidgets.org>
36742
36743         Reviewed by Eric Seidel.
36744
36745         [wx] Small cleanup: avoid unnecessary wxString::mb_str() calls.
36746
36747         * platform/graphics/wx/FontPlatformDataWx.cpp:
36748         (WebCore::FontPlatformData::computeHash):
36749
36750 2009-11-04  Kelly Norton  <knorton@google.com>
36751
36752         Reviewed by Pavel Feldman.
36753
36754         Adds lightweight network resources to InspectorTimelineAgent.
36755         https://bugs.webkit.org/show_bug.cgi?id=31065
36756
36757         * inspector/InspectorController.cpp:
36758         (WebCore::InspectorController::willSendRequest):
36759         (WebCore::InspectorController::didReceiveResponse):
36760         (WebCore::InspectorController::didFinishLoading):
36761         (WebCore::InspectorController::didFailLoading):
36762         * inspector/InspectorTimelineAgent.cpp:
36763         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
36764         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
36765         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
36766         * inspector/InspectorTimelineAgent.h:
36767         (WebCore::):
36768         * inspector/TimelineRecordFactory.cpp:
36769         (WebCore::TimelineRecordFactory::createResourceSendRequestTimelineRecord):
36770         (WebCore::TimelineRecordFactory::createResourceReceiveResponseTimelineRecord):
36771         (WebCore::TimelineRecordFactory::createResourceFinishTimelineRecord):
36772         * inspector/TimelineRecordFactory.h:
36773         * inspector/front-end/TimelineAgent.js:
36774
36775 2009-11-04  Yael Aharon  <yael.aharon@nokia.com>
36776
36777         Reviewed by Tor Arne Vestbø.
36778
36779         [Qt] ASSERT failure when receiving 401 HTTP Authentication response.
36780         https://bugs.webkit.org/show_bug.cgi?id=31077
36781
36782         Allow sending the response body under the same conditions that we
36783         allow it to finish without reporting an error.
36784
36785         * platform/network/qt/QNetworkReplyHandler.cpp:
36786         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
36787
36788 2009-11-04  Adam Roben  <aroben@apple.com>
36789
36790         Sort WebCore.base.exp
36791
36792         Rubber-stamped by Dan Bernstein.
36793
36794         * WebCore.base.exp: Sorted.
36795
36796 2009-11-04  Csaba Osztrogonác  <ossy@webkit.org>
36797
36798         Unreviewed rollout.
36799
36800         Revert r50496 because it broke all layout tests on QtBuildBot.
36801
36802         * WebCore.pro:
36803         * platform/graphics/qt/FontCacheQt.cpp:
36804         (WebCore::fontCache):
36805         (WebCore::FontCache::FontCache):
36806         (WebCore::FontCache::getTraitsInFamily):
36807         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
36808         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
36809         (WebCore::FontPlatformDataCacheKey::):
36810         (WebCore::FontPlatformDataCacheKey::operator==):
36811         (WebCore::FontPlatformDataCacheKey::hash):
36812         (WebCore::FontPlatformDataCacheKey::computeHash):
36813         (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
36814         (WebCore::FontPlatformDataCacheKeyHash::hash):
36815         (WebCore::FontPlatformDataCacheKeyHash::equal):
36816         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
36817         (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
36818         (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
36819         (WebCore::FontCache::getCachedFontPlatformData):
36820         (WebCore::FontCache::getCachedFontData):
36821         (WebCore::FontCache::getLastResortFallbackFont):
36822         (WebCore::FontCache::releaseFontData):
36823         (WebCore::FontCache::purgeInactiveFontData):
36824         (WebCore::FontCache::addClient):
36825         (WebCore::FontCache::removeClient):
36826         (WebCore::FontCache::invalidate):
36827         * platform/graphics/qt/FontFallbackListQt.cpp: Added.
36828         (WebCore::FontFallbackList::FontFallbackList):
36829         (WebCore::FontFallbackList::invalidate):
36830         (WebCore::FontFallbackList::releaseFontData):
36831         (WebCore::FontFallbackList::determinePitch):
36832         (WebCore::FontFallbackList::fontDataAt):
36833         (WebCore::FontFallbackList::fontDataForCharacters):
36834         (WebCore::FontFallbackList::setPlatformFont):
36835         * platform/graphics/qt/FontPlatformData.h:
36836         (WebCore::FontPlatformData::pixelSize):
36837         * platform/graphics/qt/FontPlatformDataQt.cpp:
36838         (WebCore::FontPlatformData::FontPlatformData):
36839
36840 2009-11-04  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
36841
36842         Reviewed by Jan Alonzo.
36843
36844         https://bugs.webkit.org/show_bug.cgi?id=31044
36845         [Gtk] assertion when webkit_accessible_get_index_in_parent attempts to get parent of the web view
36846
36847         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
36848         (atkParentOfWebView):
36849         (webkit_accessible_get_index_in_parent):
36850         (webkit_accessible_get_parent):
36851
36852 2009-11-04  Dominik Röttsches  <dominik.roettsches@access-company.com>
36853
36854         Reviewed by Eric Seidel.
36855
36856         https://bugs.webkit.org/show_bug.cgi?id=15914
36857         [GTK] Implement Unicode functionality using GLib
36858
36859         Initial version of this patch by Jürg Billeter and Naiem Shaik.
36860         Patch 2/4 - Moving TextCodecs to GLib
36861         
36862         Added probing for a hard-coded lists of text encodings.
36863         The basis of this list is taken from the encodings supported by iconv,
36864         then extended by e.g. tis-620, windows-1251, euc-kr, windows-1253 and
36865         a number of Chinese ones.
36866
36867         Probing is necessary with the current design of text codecs
36868         as iconv/GLib do not support enumerating available encodings.
36869
36870         * GNUmakefile.am:
36871         * platform/ThreadGlobalData.cpp:
36872         (WebCore::ThreadGlobalData::ThreadGlobalData):
36873         (WebCore::ThreadGlobalData::~ThreadGlobalData):
36874         * platform/text/TextEncoding.cpp:
36875         (WebCore::TextEncoding::encode):
36876         * platform/text/TextEncodingRegistry.cpp:
36877         (WebCore::buildBaseTextCodecMaps):
36878         (WebCore::extendTextCodecMaps):
36879         * platform/text/gtk/TextCodecGtk.cpp: Added.
36880         (WebCore::):
36881         (WebCore::newTextCodecGtk):
36882         (WebCore::TextCodecGtk::isEncodingAvailable):
36883         (WebCore::TextCodecGtk::registerEncodingNames):
36884         (WebCore::TextCodecGtk::registerCodecs):
36885         (WebCore::TextCodecGtk::registerBaseEncodingNames):
36886         (WebCore::TextCodecGtk::registerBaseCodecs):
36887         (WebCore::TextCodecGtk::registerExtendedEncodingNames):
36888         (WebCore::TextCodecGtk::registerExtendedCodecs):
36889         (WebCore::TextCodecGtk::TextCodecGtk):
36890         (WebCore::TextCodecGtk::~TextCodecGtk):
36891         (WebCore::TextCodecGtk::releaseIConv):
36892         (WebCore::TextCodecGtk::createIConvDecoder):
36893         (WebCore::TextCodecGtk::createIConvEncoder):
36894         (WebCore::TextCodecGtk::decode):
36895         (WebCore::TextCodecGtk::encode):
36896         * platform/text/gtk/TextCodecGtk.h: Added.
36897
36898 2009-11-04  Martin Robinson  <martin.james.robinson@gmail.com>
36899
36900         Reviewed by Jan Alonzo.
36901
36902         [GTK] Enable DOM clipboard and drag-and-drop access
36903         https://bugs.webkit.org/show_bug.cgi?id=30623
36904
36905         Unify redudant methods which will always return the same value.
36906
36907         * platform/gtk/PasteboardGtk.cpp:
36908         (WebCore::Pasteboard::writeSelection):
36909         * platform/gtk/PasteboardHelper.h:
36910
36911 2009-11-04  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
36912
36913         Reviewed by Jan Alonzo.
36914
36915         https://bugs.webkit.org/show_bug.cgi?id=31035
36916         [GTK] some accessibility tests hitting assertion in debug builds
36917
36918         Removes the assertions in webkit_accessible_ref_child; adds sanity checks.
36919         Any app or AT can attempt to ref a child at a bogus index.
36920
36921         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
36922         (webkit_accessible_ref_child):
36923
36924 2009-11-04  Benjamin Otte  <otte@gnome.org>
36925
36926         Reviewed by Jan Alonzo.
36927
36928         [gtk] Use gst_element_class_set_details_simple()
36929
36930         Cosmetic change, just code simplification
36931
36932         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
36933         (webkit_video_sink_base_init):
36934 2009-11-04  Kelly Norton  <knorton@google.com>
36935
36936         Reviewed by Timothy Hatcher.
36937
36938         Adds paint rectangle information to TimelineAgent's didPaint callback.
36939         https://bugs.webkit.org/show_bug.cgi?id=31087
36940
36941         * inspector/InspectorTimelineAgent.cpp:
36942         (WebCore::InspectorTimelineAgent::willPaint):
36943         * inspector/InspectorTimelineAgent.h:
36944         * inspector/TimelineRecordFactory.cpp:
36945         (WebCore::TimelineRecordFactory::createPaintTimelineRecord):
36946         * inspector/TimelineRecordFactory.h:
36947         * page/FrameView.cpp:
36948         (WebCore::FrameView::paintContents):
36949
36950 2009-11-04  Jaime Yap  <jaimeyap@google.com>
36951
36952         Reviewed by Timothy Hatcher.
36953
36954         This patch adds API to the console object for annotating the
36955         inspector timeline. This allows developers to mark logical
36956         checkpoints in their apps and have them overlaid in the event
36957         record tree.
36958
36959         tests updated: LayoutTests/fast/dom/Window/window-properties.html
36960         https://bugs.webkit.org/show_bug.cgi?id=31082
36961
36962
36963         * inspector/InspectorController.cpp:
36964         (WebCore::InspectorController::markTimeline):
36965         * inspector/InspectorController.h:
36966         * inspector/InspectorTimelineAgent.cpp:
36967         (WebCore::InspectorTimelineAgent::didMarkTimeline):
36968         * inspector/InspectorTimelineAgent.h:
36969         (WebCore::):
36970         * inspector/TimelineRecordFactory.cpp:
36971         (WebCore::TimelineRecordFactory::createMarkTimelineRecord):
36972         * inspector/TimelineRecordFactory.h:
36973         * inspector/front-end/TimelineAgent.js:
36974         * page/Console.cpp:
36975         (WebCore::Console::markTimeline):
36976         * page/Console.h:
36977         * page/Console.idl:
36978
36979 2009-11-03  Simon Hausmann  <hausmann@webkit.org>
36980
36981         Unreviewed build fix for WebInspector with Qt build.
36982
36983         Simply re-generate the Qt resource file by running
36984         WebKitTools/Scripts/generate-qt-inspector-resource
36985
36986         * inspector/front-end/WebKit.qrc:
36987
36988 2009-11-02  Benjamin Poulain  <benjamin.poulain@nokia.com>
36989
36990         Reviewed by Simon Hausmann.
36991
36992         [Qt] Handle fonts like the other ports
36993
36994         Remove FontFallbackListQt and rely on the common FontFallbackList
36995         to handle the fonts. FontCache and FontPlatformData have been
36996         updated to work with the common FontFallbackList.
36997
36998         In the previous implementation, FontPlatformDataCacheKey
36999         was a clone of FontPlatformData with the hashing
37000         capabilities added in order to use it as a key in the cache's
37001         hashmap. FontPlatformData has been modified to handle the hashing
37002         function directly so the data are not copied twice in memory.
37003
37004         FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of
37005         code from FontCache::getFontData() and FontFallbackList::fontDataAt().
37006         The behavior is similar except currFamily->family().length() was
37007         not tested and the fallback fonts selector were not used.
37008
37009         https://bugs.webkit.org/show_bug.cgi?id=29856
37010
37011         Test: svg/text/text-font-invalid.html
37012
37013         * WebCore.pro:
37014         * platform/graphics/qt/FontCacheQt.cpp:
37015         (WebCore::FontCache::platformInit):
37016         (WebCore::FontCache::getFontDataForCharacters):
37017         (WebCore::FontCache::getSimilarFontPlatformData):
37018         (WebCore::FontCache::getLastResortFallbackFont):
37019         (WebCore::FontCache::getTraitsInFamily):
37020         (WebCore::FontCache::createFontPlatformData):
37021         * platform/graphics/qt/FontFallbackListQt.cpp:
37022         Removed. We now use the implementation from FontFallbackList.cpp
37023         * platform/graphics/qt/FontPlatformData.h:
37024         Add hashing capabilities to be able to use the data with the FontCache.
37025         This was previously done in FontCacheQt.cpp
37026         (WebCore::FontPlatformData::FontPlatformData):
37027         Added a boolean to identify deleted value in the hash table.
37028         (WebCore::FontPlatformData::isHashTableDeletedValue):
37029         (WebCore::FontPlatformData::hash):
37030         (WebCore::FontPlatformData::operator==):
37031         * platform/graphics/qt/FontPlatformDataQt.cpp:
37032         (WebCore::FontPlatformData::FontPlatformData):
37033
37034 2009-11-03  Dan Bernstein  <mitz@apple.com>
37035
37036         Leopard build fix
37037
37038         * platform/network/mac/AuthenticationMac.mm:
37039         (WebCore::mac):
37040         (WebCore::core):
37041
37042 2009-11-03  Dan Bernstein  <mitz@apple.com>
37043
37044         Reviewed by Alexey Proskuryakov.
37045
37046         Fix an assertion failure in core(NSURLProtectionSpace *) by handling NTLM
37047         authentication in AuthenticationMac
37048
37049         * platform/network/mac/AuthenticationMac.mm:
37050
37051 2009-11-03  Eric Z. Ayers  <zundel@google.com>
37052
37053         Reviewed by Timothy Hatcher.
37054
37055         Fixes a problem where the timeline instrumentation crashes if
37056         timeline profiling is enabled or disabled in the middle of an
37057         event dispatch.
37058
37059         https://bugs.webkit.org/show_bug.cgi?id=31080
37060
37061         Test: inspector/timeline-trivial.html
37062
37063         * bindings/js/ScriptController.cpp:
37064         (WebCore::ScriptController::evaluateInWorld):
37065         (WebCore::ScriptController::processingUserGestureEvent):
37066         * inspector/InspectorTimelineAgent.cpp:
37067         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
37068         * page/DOMTimer.cpp:
37069         (WebCore::DOMTimer::fired):
37070
37071 2009-11-03  Dan Bernstein  <mitz@apple.com>
37072
37073         Reviewed by Dave Hyatt.
37074
37075         Allow a frame to go back to copy-on-scroll when it ceases being overlapped
37076
37077         The code was not testing slow-scrolling frames for overlappedness, thinking the answer
37078         would not matter. That is not the case if the only reason for the slow-scrolling is
37079         being overlapped.
37080
37081         * page/FrameView.cpp:
37082         (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): Added. Returns whether there is any
37083         reason besides being overlapped that the frame would need to fully repaint on scroll.
37084         * page/FrameView.h:
37085         * rendering/RenderWidget.cpp:
37086         (WebCore::RenderWidget::paint): Use useSlowRepaintsIfNotOverlapped().
37087
37088 2009-11-03  Dmitry Titov  <dimich@chromium.org>
37089
37090         Not reviewed, Qt build fix.
37091
37092         Need to use right capitalization for include file.
37093
37094         * page/Navigator.cpp:
37095
37096 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
37097
37098         Reviewed by Timothy Hatcher.
37099
37100         Web Inspector: Migrate from top bar filters to check boxes in Timeline.
37101
37102         https://bugs.webkit.org/show_bug.cgi?id=31081
37103
37104         * inspector/front-end/AbstractTimelinePanel.js:
37105         (WebInspector.AbstractTimelinePanel.prototype.showCategory):
37106         (WebInspector.AbstractTimelinePanel.prototype.hideCategory):
37107         (WebInspector.AbstractTimelinePanel.prototype.filter):
37108         * inspector/front-end/TimelinePanel.js:
37109         (WebInspector.TimelinePanel):
37110         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
37111         (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClick):
37112         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
37113         (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
37114         * inspector/front-end/inspector.css:
37115
37116 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
37117
37118         Reviewed by Timothy Hatcher.
37119
37120         Web Inspector: clear overview on Clear action and panel reset.
37121
37122         https://bugs.webkit.org/show_bug.cgi?id=31078
37123
37124         * inspector/front-end/TimelinePanel.js:
37125         (WebInspector.TimelinePanel.prototype._getRecordDetails):
37126         (WebInspector.TimelinePanel.prototype.reset):
37127
37128 2009-11-03  Yaar Schnitman  <yaar@chromium.org>
37129
37130         Reviewed by Dimitri Glazkov.
37131
37132         Imported action and rules python files that WebCore.gyp depends on. 
37133         These files used to live in chromium.org and deal mostly with auto-generation
37134         of code by wrapping existing webkit perl scripts.
37135
37136         https://bugs.webkit.org/show_bug.cgi?id=31071
37137
37138         * WebCore.gyp/WebCore.gyp: Fixed paths in actions and rules.
37139         * WebCore.gyp/scripts/action_csspropertynames.py: Added.
37140         * WebCore.gyp/scripts/action_cssvaluekeywords.py: Added.
37141         * WebCore.gyp/scripts/action_makenames.py: Added.
37142         * WebCore.gyp/scripts/action_maketokenizer.py: Added.
37143         * WebCore.gyp/scripts/action_useragentstylesheets.py: Added.
37144         * WebCore.gyp/scripts/rule_binding.py: Added.
37145         * WebCore.gyp/scripts/rule_bison.py: Added.
37146         * WebCore.gyp/scripts/rule_gperf.py: Added.
37147
37148 2009-11-03  Bradley Green  <brg@chromium.org>
37149
37150         Reviewed by Dmitry Titov.
37151
37152         Implement window.navigator.registerProtocolHandler in webkit,
37153         https://bugs.webkit.org/b/29651
37154
37155         Also implemented its sister API window.navigator.registerContentHandler.
37156
37157         These methods are as described in the HTML5 specification which can be
37158         found here,
37159         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
37160         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registercontenthandler
37161
37162         As specified in the document, the behavior of the browser is determined
37163         by the current registered handler.  The state of a registered handler
37164         can change at any time, with the user clearing a registered handler,
37165         registering a different page as handler, or deferring the hander to the
37166         OS.  If webkit was to track the state of the currently registered
37167         handlers, it would need more APIs and complexity to keep in sync with
37168         user actions reported to webkit from the UA.  For simplicity, the state
37169         of protocol handlers should be kept isolated from webkit and webkit only
37170         notifies the UA that a page has made the call.  The UA is then
37171         responsible for correctly handling the registerProtocolHandler call and
37172         the redirects which result from registration.
37173
37174         We do however follow the specification in insuring that the reserved
37175         schemes and mimeTypes are not passed to the UA as custom handler
37176         registration tests.  We also insure that the "%s" token is present as
37177         required by the specification.
37178
37179         Updated test expectations for window.clientInformation and navigator
37180         objects.
37181
37182         Tests: fast/dom/registerContentHandler.html
37183                fast/dom/registerProtocolHandler.html
37184
37185         * page/Chrome.cpp:
37186         (WebCore::Chrome::registerProtocolHandler):
37187         (WebCore::Chrome::registerContentHandler):
37188         * page/Chrome.h:
37189         * page/ChromeClient.h:
37190         (WebCore::ChromeClient::registerProtocolHandler):
37191         (WebCore::ChromeClient::registerContentHandler):
37192         * page/Navigator.cpp:
37193         (WebCore::verifyCustomHandlerURL):
37194         (WebCore::verifyProtocolHandlerScheme):
37195         (WebCore::Navigator::registerProtocolHandler):
37196         (WebCore::verifyProtocolHandlerMimeType):
37197         (WebCore::Navigator::registerContentHandler):
37198         * page/Navigator.h:
37199         * page/Navigator.idl:
37200
37201 2009-11-03  Brady Eidson  <beidson@apple.com>
37202
37203         Reviewed by Darin Adler.
37204
37205         https://bugs.webkit.org/show_bug.cgi?id=31079 - Remove #include "Page.h" from Document.h
37206
37207         No new tests. (No change in functionality)
37208
37209         * dom/Document.cpp:
37210         (WebCore::Document::inspectorTimelineAgent): Moved from Document.h
37211         * dom/Document.h:
37212
37213         Include "Page.h" directly:
37214         * html/HTMLVideoElement.cpp:
37215         * loader/RedirectScheduler.cpp:
37216         * page/History.cpp:
37217         * rendering/MediaControlElements.cpp:
37218         * storage/StorageAreaImpl.cpp:
37219
37220 2009-11-03  Keishi Hattori  <casey.hattori@gmail.com>
37221
37222         Reviewed by Timothy Hatcher.
37223
37224         Web Inspector: hover over JS "things" in source and see their values
37225         https://bugs.webkit.org/show_bug.cgi?id=30913
37226
37227         * inspector/front-end/SourceFrame.js:
37228
37229 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
37230
37231         Reviewed by Timothy Hatcher.
37232
37233         Web Inspector: update timeline content boundaries on timer.
37234
37235         https://bugs.webkit.org/show_bug.cgi?id=31072
37236
37237         * inspector/front-end/TimelinePanel.js:
37238         (WebInspector.TimelinePanel.prototype.refresh):
37239         (WebInspector.TimelinePanel.prototype._setWindowPosition):
37240
37241 2009-11-03  Dan Bernstein  <mitz@apple.com>
37242
37243         Reviewed by Anders Carlsson and Beth Dakin.
37244
37245         https://bugs.webkit.org/show_bug.cgi?id=31070
37246         Fix <rdar://problem/7194735> Crashes at RenderText::RenderText()
37247         Fix <rdar://problem/6937089> Crashes at RenderWidget::destroy()
37248
37249         Tests: plugins/attach-during-destroy.html
37250                plugins/destroy-reentry.html
37251
37252         These crashes were caused by plug-in code running during detach(),
37253         causing re-entry into RenderWidget::destroy() in one case and a call
37254         into attach() in the other. The fix is to prevent plug-in code from
37255         being called at certain unsafe times (during attach(), detach(), and
37256         recalcStyle()) by deferring changes to the widget hierarchy.
37257
37258         * dom/Document.cpp:
37259         (WebCore::Document::recalcStyle): Suspend widget hierarchy updates
37260             during style recalculation.
37261
37262         * dom/Element.cpp:
37263         (WebCore::Element::attach): Suspend widget hierarchy updates during
37264             attach().
37265         (WebCore::Element::detach): Suspend widget hierarchy updates during
37266             detach().
37267
37268         * rendering/RenderWidget.cpp:
37269         (WebCore::widgetNewParentMap): Returns a static map of pending changes
37270             to the widget hierarchy.
37271         (WebCore::RenderWidget::suspendWidgetHierarchyUpdates): Increments the
37272             suspend count.
37273         (WebCore::RenderWidget::resumeWidgetHierarchyUpdates): Decrements the
37274             suspend count. If the count is going to be zero, updates the widget
37275             hierarchy by executing the pending changes stored in the map.
37276         (WebCore::moveWidgetToParentSoon): Updates the widget hierarchy
37277             immediately or makes or updates an entry in the map, depending on
37278             whether updates are suspended.
37279         (WebCore::RenderWidget::destroy): Removed earlier bandaid fix for
37280             <rdar://problem/6937089>.
37281         (WebCore::RenderWidget::setWidgetGeometry): Assert that widget updates
37282             are not suspended, because this function updates the widget’s
37283             bounds, which can result in arbitrary native and JavaScript code
37284             execution. I think this assertion is true thanks to some deferred-
37285             update mechanisms that have already been deployed in other places
37286             in the code.
37287         (WebCore::RenderWidget::setWidget): Call moveWidgetToParentSoon instead
37288             of changing the widget hierarchy directly.
37289         * rendering/RenderWidget.h: Declared suspendWidgetHierarchyUpdates()
37290             and resumeWidgetHierarchyUpdates().
37291
37292 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
37293
37294         Reviewed by Timothy Hatcher.
37295
37296         Web Inspector: only show timeline records that contribute
37297         to the current window.
37298
37299         https://bugs.webkit.org/show_bug.cgi?id=31069
37300
37301         * inspector/front-end/TimelinePanel.js:
37302         (WebInspector.TimelinePanel.prototype.refresh):
37303         (WebInspector.TimelineGraph):
37304         (WebInspector.TimelineGraph.prototype.refresh):
37305
37306 2009-11-03  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
37307
37308         Reviewed by Timothy Hatcher.
37309
37310         Watch expression editor should stay open after Add button was clicked
37311         https://bugs.webkit.org/show_bug.cgi?id=31049
37312
37313         No new tests, was a regression, use existing manual test.
37314
37315         * inspector/front-end/WatchExpressionsSidebarPane.js:
37316         (WebInspector.WatchExpressionsSection.prototype.update):
37317         (WebInspector.WatchExpressionsSection.prototype.addExpression):
37318
37319 2009-11-03  Evan Martin  <evan@chromium.org>
37320
37321         Reviewed by Darin Adler.
37322
37323         Fix an off-by-one in the CSS lexer that causes memory corruption in
37324         hard-to-trigger circumstances.
37325
37326         https://bugs.webkit.org/show_bug.cgi?id=30827
37327
37328         Test: fast/css/end-of-buffer-crash.html
37329
37330         * css/maketokenizer: Add comments, fix off-by-one.
37331
37332 2009-11-02  Darin Adler  <darin@apple.com>
37333
37334         Reviewed by Dan Bernstein.
37335
37336         Crash due to double-destroy related to CSS run-in property
37337         https://bugs.webkit.org/show_bug.cgi?id=31034
37338         rdar://problem/7328458
37339
37340         Test: fast/css/run-in-crash.html
37341
37342         * rendering/RenderBlock.cpp:
37343         (WebCore::RenderBlock::destroy): Reorder destruction so the
37344         continuation is destroyed after anonymous children. See comment
37345         in the code for more details of why this is right.
37346         * rendering/RenderInline.cpp:
37347         (WebCore::RenderInline::destroy): Ditto.
37348
37349 2009-11-03  Alexander Pavlov  <apavlov@chromium.org>
37350
37351         Reviewed by Pavel Feldman.
37352
37353         Fix exception in ElementsPanel.js when moving pointer out of crumbs and window
37354
37355         There might be no new node under mouse if the pointer is moved out of the window
37356         in which case we get an exception.
37357         https://bugs.webkit.org/show_bug.cgi?id=31061
37358
37359         * inspector/front-end/ElementsPanel.js:
37360         (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
37361
37362 2009-11-03  Zoltan Horvath  <zoltan@webkit.org>
37363
37364         Reviewed by Darin Adler.
37365
37366         Allow custom memory allocation control for the dom directory of WebCore
37367         https://bugs.webkit.org/show_bug.cgi?id=31053
37368
37369         Inherits the following classes from Noncopyable because these are
37370         instantiated by 'new' and these are no need to be copyable:
37371
37372         class EventNames - 'new' call: WebCore/platform/ThreadGlobalData.cpp:73
37373         struct PerformTaskContext - 'new' call: WebCore/dom/Document.cpp:4581
37374         class EventData - 'new' call: WebCore/dom/MessagePortChannel.cpp:38
37375         struct NodeListsNodeData - 'new' call: WebCore/dom/NodeRareData.h:51 
37376         struct EventTargetData - 'new' call: WebCore/dom/NodeRareData.h:100
37377         class NodeRareData - 'new' call: WebCore/dom/Node.cpp:552
37378
37379         Inherits QualifiedName class from FastAllocBase because it is
37380         instantiated by 'new' in WebCore/editing/markup.cpp:319
37381
37382         * dom/Document.cpp:
37383         * dom/EventNames.h:
37384         * dom/EventTarget.h:
37385         * dom/MessagePortChannel.h:
37386         * dom/NodeRareData.h:
37387         * dom/QualifiedName.h:
37388
37389 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
37390
37391         Reviewed by Timothy Hatcher.
37392
37393         Web Inspector: Implement timeline summary panel.
37394
37395         https://bugs.webkit.org/show_bug.cgi?id=31064
37396
37397         * inspector/front-end/TimelinePanel.js:
37398         (WebInspector.TimelinePanel.prototype._createOverview):
37399         (WebInspector.TimelinePanel.prototype.refresh):
37400         (WebInspector.TimelineCategoryGraph):
37401         (WebInspector.TimelineCategoryGraph.prototype.get graphElement):
37402         (WebInspector.TimelineCategoryGraph.prototype.addChunk):
37403         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
37404         (WebInspector.TimelineGraph.prototype.refresh):
37405         * inspector/front-end/inspector.css:
37406
37407 2009-11-03  Alexander Pavlov  <apavlov@chromium.org>
37408
37409         Reviewed by Timothy Hatcher.
37410
37411         Toggle off 'Search for node' when the Inspector window is closing
37412
37413         Searching for node should be toggled off when the Inspector window is closed,
37414         in a platform-independent manner.
37415         https://bugs.webkit.org/show_bug.cgi?id=31059
37416
37417         * inspector/InspectorController.cpp:
37418         (WebCore::InspectorController::setWindowVisible):
37419
37420 2009-11-03  Mikhail Naganov  <mnaganov@chromium.org>
37421
37422         Reviewed by Timothy Hatcher.
37423
37424         Prepare for heap profiles upstreaming:
37425         - pass profile type id from InspectorController;
37426         - this makes WebInspector.CPUProfile redundant---removed;
37427         - support multiple profile types when populating profiles.
37428
37429         https://bugs.webkit.org/show_bug.cgi?id=31052
37430
37431         * inspector/InspectorController.cpp:
37432         (WebCore::InspectorController::createProfileHeader):
37433         * inspector/front-end/ProfileView.js:
37434         (WebInspector.CPUProfileView.profileCallback):
37435         (WebInspector.CPUProfileView):
37436         (WebInspector.CPUProfileView.prototype._sortData):
37437         * inspector/front-end/ProfilesPanel.js:
37438         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
37439         * inspector/front-end/inspector.js:
37440         (WebInspector.addProfileHeader):
37441
37442 2009-11-03  Dan Kegel  <dank@chromium.org>
37443
37444         Reviewed by Dimitri Glazkov.
37445
37446         UMR in WebCore::AccessibilityRenderObject::children(); m_childrenDirty uninitialized in constructor
37447         https://bugs.webkit.org/show_bug.cgi?id=31063
37448
37449         * accessibility/AccessibilityRenderObject.cpp:
37450         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
37451
37452 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
37453
37454         Reviewed by Timothy Hatcher.
37455
37456         Web Inspector: Implement Timeline Window, wire it to the bottom timeline.
37457
37458         https://bugs.webkit.org/show_bug.cgi?id=31056
37459
37460         * English.lproj/localizedStrings.js:
37461         * inspector/front-end/AbstractTimelinePanel.js:
37462         (WebInspector.AbstractTimelinePanel.prototype.get items):
37463         (WebInspector.AbstractTimelinePanel.prototype.createInterface):
37464         (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
37465         (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
37466         (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems):
37467         (WebInspector.AbstractTimelinePanel.prototype.refresh):
37468         (WebInspector.AbstractTimelinePanel.prototype.adjustScrollPosition):
37469         (WebInspector.AbstractTimelinePanel.prototype.addExtraDivider):
37470         (WebInspector.TimelineGrid):
37471         (WebInspector.TimelineGrid.prototype.get itemsGraphsElement):
37472         (WebInspector.TimelineGrid.prototype.updateDividers):
37473         (WebInspector.TimelineGrid.prototype.addExtraDivider):
37474         (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
37475         * inspector/front-end/ResourcesPanel.js:
37476         (WebInspector.ResourcesPanel):
37477         (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
37478         (WebInspector.ResourcesPanel.prototype.get _resources):
37479         * inspector/front-end/TimelinePanel.js:
37480         (WebInspector.TimelinePanel):
37481         (WebInspector.TimelinePanel.prototype.get categories):
37482         (WebInspector.TimelinePanel.prototype._formatRecord):
37483         (WebInspector.TimelinePanel.prototype.reset):
37484         (WebInspector.TimelinePanel.prototype._createOverview):
37485         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
37486         (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
37487         (WebInspector.TimelinePanel.prototype.updateGraphDividersIfNeeded):
37488         (WebInspector.TimelinePanel.prototype.refresh):
37489         (WebInspector.TimelinePanel.prototype._resizeWindow):
37490         (WebInspector.TimelinePanel.prototype._windowResizeDragging):
37491         (WebInspector.TimelinePanel.prototype._dragWindow):
37492         (WebInspector.TimelinePanel.prototype._windowDragging):
37493         (WebInspector.TimelinePanel.prototype._resizeWindowLeft):
37494         (WebInspector.TimelinePanel.prototype._resizeWindowRight):
37495         (WebInspector.TimelinePanel.prototype._setWindowPosition):
37496         (WebInspector.TimelinePanel.prototype._endWindowDragging):
37497         (WebInspector.TimelineCategoryTreeElement):
37498         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
37499         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
37500         (WebInspector.TimelineCalculator.prototype.get minimumBoundary):
37501         (WebInspector.TimelineCalculator.prototype.get maximumBoundary):
37502         (WebInspector.TimelineCalculator.prototype.reset):
37503         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
37504         (WebInspector.TimelineCalculator.prototype.formatValue):
37505         * inspector/front-end/inspector.css:
37506
37507 2009-11-03  Simon Hausmann  <hausmann@webkit.org>
37508
37509         Reviewed by Tor Arne Vestbø.
37510
37511         Make QWebPluginDatabase private API for now.
37512
37513         https://bugs.webkit.org/show_bug.cgi?id=30775
37514
37515         * WebCore.pro:
37516
37517 2009-11-03  Simon Hausmann  <hausmann@webkit.org>
37518
37519         Reviewed by Tor Arne Vestbø.
37520
37521         Extended the conversion of the WebCore ResourceRequest to the
37522         QNetworkRequest with a mandatory originating object argument,
37523         which is meant to be the QWebFrame the request belongs to.
37524
37525         https://bugs.webkit.org/show_bug.cgi?id=29975
37526
37527         * platform/network/qt/QNetworkReplyHandler.cpp:
37528         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
37529         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
37530         (WebCore::QNetworkReplyHandler::start):
37531         * platform/network/qt/ResourceRequest.h:
37532         * platform/network/qt/ResourceRequestQt.cpp:
37533         (WebCore::ResourceRequest::toNetworkRequest):
37534
37535 2009-11-03  Keishi Hattori  <casey.hattori@gmail.com>
37536
37537         Reviewed by Pavel Feldman.
37538
37539         Web Inspector: monitorEvent should be monitorEvents
37540         https://bugs.webkit.org/show_bug.cgi?id=31042
37541
37542         * inspector/front-end/InjectedScript.js:
37543         (InjectedScript._ensureCommandLineAPIInstalled):
37544
37545 2009-11-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
37546
37547         Rubber-stamped by Antti Koivisto.
37548
37549         [Qt] Build fix for Windows CE
37550
37551         * plugins/PluginDatabase.cpp:
37552
37553 2009-11-02  Chris Fleizach  <cfleizach@apple.com>
37554
37555         Reviewed by David Levin.
37556
37557         fix accessibility webkit-style-check errors
37558         https://bugs.webkit.org/show_bug.cgi?id=29672
37559
37560         * accessibility/AXObjectCache.cpp:
37561         (WebCore::AXObjectCache::getOrCreate):
37562         (WebCore::AXObjectCache::remove):
37563         (WebCore::AXObjectCache::platformGenerateAXID):
37564         (WebCore::AXObjectCache::removeAXID):
37565         * accessibility/AXObjectCache.h:
37566         (WebCore::AXObjectCache::enableAccessibility):
37567         (WebCore::AXObjectCache::enableEnhancedUserInterfaceAccessibility):
37568         (WebCore::AXObjectCache::accessibilityEnabled):
37569         (WebCore::AXObjectCache::accessibilityEnhancedUserInterfaceEnabled):
37570         (WebCore::AXObjectCache::isIDinUse):
37571         (WebCore::AXObjectCache::objectFromAXID):
37572         (WebCore::AXObjectCache::):
37573         (WebCore::AXObjectCache::handleActiveDescendantChanged):
37574         (WebCore::AXObjectCache::handleAriaRoleChanged):
37575         (WebCore::AXObjectCache::detachWrapper):
37576         (WebCore::AXObjectCache::attachWrapper):
37577         (WebCore::AXObjectCache::selectedChildrenChanged):
37578         (WebCore::AXObjectCache::postNotification):
37579         (WebCore::AXObjectCache::postPlatformNotification):
37580         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
37581         (WebCore::AXObjectCache::handleScrolledToAnchor):
37582         * accessibility/AccessibilityARIAGrid.cpp:
37583         (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
37584         * accessibility/AccessibilityAllInOne.cpp:
37585         * accessibility/AccessibilityImageMapLink.cpp:
37586         * accessibility/AccessibilityList.h:
37587         (WebCore::AccessibilityList::isList):
37588         * accessibility/AccessibilityListBox.cpp:
37589         * accessibility/AccessibilityListBox.h:
37590         (WebCore::AccessibilityListBox::isListBox):
37591         * accessibility/AccessibilityListBoxOption.cpp:
37592         * accessibility/AccessibilityListBoxOption.h:
37593         (WebCore::AccessibilityListBoxOption::isListBoxOption):
37594         * accessibility/AccessibilityMediaControls.h:
37595         (WebCore::AccessibilityMediaControl::~AccessibilityMediaControl):
37596         (WebCore::AccessibilityMediaTimeline::~AccessibilityMediaTimeline):
37597         (WebCore::AccessibilityMediaTimeline::isMediaTimeline):
37598         (WebCore::AccessibilityMediaControlsContainer::~AccessibilityMediaControlsContainer):
37599         (WebCore::AccessibilityMediaControlsContainer::roleValue):
37600         (WebCore::AccessibilityMediaControlsContainer::accessibilityIsIgnored):
37601         (WebCore::AccessibilityMediaTimeDisplay::~AccessibilityMediaTimeDisplay):
37602         (WebCore::AccessibilityMediaTimeDisplay::roleValue):
37603         * accessibility/AccessibilityObject.cpp:
37604         (WebCore::AccessibilityObject::parentObjectUnignored):
37605         (WebCore::AccessibilityObject::rightLineVisiblePositionRange):
37606         (WebCore::replacedNodeNeedsCharacter):
37607         (WebCore::AccessibilityObject::stringForVisiblePositionRange):
37608         (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
37609         (WebCore::AccessibilityObject::actionVerb):
37610         * accessibility/AccessibilityObject.h:
37611         (WebCore::PlainTextRange::isNull):
37612         (WebCore::AccessibilityObject::isAccessibilityRenderObject):
37613         (WebCore::AccessibilityObject::isAnchor):
37614         (WebCore::AccessibilityObject::isAttachment):
37615         (WebCore::AccessibilityObject::isHeading):
37616         (WebCore::AccessibilityObject::isLink):
37617         (WebCore::AccessibilityObject::isImage):
37618         (WebCore::AccessibilityObject::isNativeImage):
37619         (WebCore::AccessibilityObject::isImageButton):
37620         (WebCore::AccessibilityObject::isPasswordField):
37621         (WebCore::AccessibilityObject::isTextControl):
37622         (WebCore::AccessibilityObject::isNativeTextControl):
37623         (WebCore::AccessibilityObject::isWebArea):
37624         (WebCore::AccessibilityObject::isCheckboxOrRadio):
37625         (WebCore::AccessibilityObject::isListBox):
37626         (WebCore::AccessibilityObject::isFileUploadButton):
37627         (WebCore::AccessibilityObject::isProgressIndicator):
37628         (WebCore::AccessibilityObject::isSlider):
37629         (WebCore::AccessibilityObject::isControl):
37630         (WebCore::AccessibilityObject::isList):
37631         (WebCore::AccessibilityObject::isDataTable):
37632         (WebCore::AccessibilityObject::isTableRow):
37633         (WebCore::AccessibilityObject::isTableColumn):
37634         (WebCore::AccessibilityObject::isTableCell):
37635         (WebCore::AccessibilityObject::isFieldset):
37636         (WebCore::AccessibilityObject::isGroup):
37637         (WebCore::AccessibilityObject::isChecked):
37638         (WebCore::AccessibilityObject::isEnabled):
37639         (WebCore::AccessibilityObject::isSelected):
37640         (WebCore::AccessibilityObject::isFocused):
37641         (WebCore::AccessibilityObject::isHovered):
37642         (WebCore::AccessibilityObject::isIndeterminate):
37643         (WebCore::AccessibilityObject::isLoaded):
37644         (WebCore::AccessibilityObject::isMultiSelect):
37645         (WebCore::AccessibilityObject::isOffScreen):
37646         (WebCore::AccessibilityObject::isPressed):
37647         (WebCore::AccessibilityObject::isReadOnly):
37648         (WebCore::AccessibilityObject::isVisited):
37649         (WebCore::AccessibilityObject::isRequired):
37650         (WebCore::AccessibilityObject::canSetFocusAttribute):
37651         (WebCore::AccessibilityObject::canSetTextRangeAttributes):
37652         (WebCore::AccessibilityObject::canSetValueAttribute):
37653         (WebCore::AccessibilityObject::hasIntValue):
37654         (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
37655         (WebCore::AccessibilityObject::accessibilityIsIgnored):
37656         * accessibility/AccessibilityRenderObject.cpp:
37657         (WebCore::AccessibilityRenderObject::parentObjectIfExists):
37658         (WebCore::AccessibilityRenderObject::parentObject):
37659         (WebCore::AccessibilityRenderObject::isMenuRelated):
37660         (WebCore::AccessibilityRenderObject::accessibilityDescription):
37661         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
37662         (WebCore::AccessibilityRenderObject::isFocused):
37663         (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
37664         (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
37665         (WebCore::AccessibilityRenderObject::doAXRangeForLine):
37666         (WebCore::AccessibilityRenderObject::doAXStringForRange):
37667         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
37668         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
37669         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
37670         (WebCore::AccessibilityRenderObject::isPresentationalChildOfAriaRole):
37671         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
37672         (WebCore::AccessibilityRenderObject::canHaveChildren):
37673         (WebCore::AccessibilityRenderObject::actionVerb):
37674         (WebCore::shouldReturnTagNameAsRoleForMSAA):
37675         * accessibility/AccessibilityRenderObject.h:
37676         (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject):
37677         * accessibility/AccessibilitySlider.cpp:
37678         (WebCore::AccessibilitySlider::orientation):
37679         * accessibility/AccessibilitySlider.h:
37680         (WebCore::AccessibilitySlider::~AccessibilitySlider):
37681         (WebCore::AccessibilitySlider::roleValue):
37682         (WebCore::AccessibilitySlider::accessibilityIsIgnored):
37683         (WebCore::AccessibilitySlider::isSlider):
37684         (WebCore::AccessibilitySlider::canSetValueAttribute):
37685         (WebCore::AccessibilitySliderThumb::~AccessibilitySliderThumb):
37686         (WebCore::AccessibilitySliderThumb::roleValue):
37687         (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
37688         (WebCore::AccessibilitySliderThumb::setParentObject):
37689         (WebCore::AccessibilitySliderThumb::parentObject):
37690         * accessibility/AccessibilityTable.cpp:
37691         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
37692         * accessibility/AccessibilityTableColumn.cpp:
37693         * accessibility/AccessibilityTableHeaderContainer.cpp:
37694         (WebCore::AccessibilityTableHeaderContainer::addChildren):
37695         * accessibility/AccessibilityTableRow.cpp:
37696         * accessibility/mac/AccessibilityObjectWrapper.h:
37697
37698 2009-11-02  Darin Fisher  <darin@chromium.org>
37699
37700         Fixing JSC build bustage.
37701
37702         * bindings/js/ScriptController.cpp: Added missing #include
37703
37704 2009-10-30  Darin Fisher  <darin@chromium.org>
37705
37706         Reviewed by Adam Barth.
37707
37708         Give the FrameLoaderClient the ability to override Settings::isJavaScriptEnabled.
37709         https://bugs.webkit.org/show_bug.cgi?id=30967
37710
37711         * bindings/js/ScriptController.cpp:
37712         (WebCore::ScriptController::isEnabled):
37713         * bindings/v8/ScriptController.cpp:
37714         (WebCore::ScriptController::isEnabled):
37715         * bindings/v8/V8Proxy.cpp: Move implementation of isEnabled to ScriptController
37716         * bindings/v8/V8Proxy.h: Ditto
37717         * loader/FrameLoaderClient.h:
37718         (WebCore::FrameLoaderClient::allowJavaScript):
37719         * platform/chromium/ChromiumBridge.h: Delete uiResourceProtocol function
37720
37721 2009-11-02  Brady Eidson  <beidson@apple.com>
37722
37723         Rubberstamped by Mark Rowe.
37724
37725         Fix a typo in Mark's last commit.
37726
37727         * loader/archive/ArchiveFactory.cpp:
37728         (WebCore::archiveMIMETypes):
37729
37730 2009-11-02  Mark Rowe  <mrowe@apple.com>
37731
37732         Rubber-stamped by Brady Eidson.
37733
37734         Re-enable support for web archives on Windows.  It was mistakenly disabled in r50438.
37735
37736         * loader/archive/ArchiveFactory.cpp:
37737         (WebCore::archiveMIMETypes):
37738
37739 2009-11-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
37740
37741         Reviewed by Darin Adler.
37742
37743         PLATFORM(CF) should be set when building for Qt on Darwin
37744         https://bugs.webkit.org/show_bug.cgi?id=23671
37745
37746         * WebCore.pro: Add SharedBufferCF.cpp and SmartReplaceCF.cpp
37747         to the Darwin build.
37748         * loader/archive/ArchiveFactory.cpp: Change the support for 
37749         legacy WebArchive from all CF platforms to Mac and Chromium 
37750         CF platforms.
37751         (WebCore::archiveMIMETypes):
37752         * platform/text/AtomicString.h: Remove PLATFORM(QT) &&
37753         PLATFORM(DARWIN) test as it is redundant now.
37754         * platform/text/PlatformString.h: Ditto.
37755         * platform/text/StringImpl.h: Ditto.
37756         * platform/text/cf/StringCF.cpp: Ditto.
37757         * platform/text/cf/StringImplCF.cpp: Ditto.
37758
37759 2009-11-02  Adam Barth  <abarth@webkit.org>
37760
37761         Reviewed by David Levin.
37762
37763         [Chromium] Actually declare getPluginMimeTypeFromExtension in a header.
37764         https://bugs.webkit.org/show_bug.cgi?id=30985
37765
37766         Our current code does not conform to our style guide.
37767
37768         * WebCore.gyp/WebCore.gyp:
37769         * WebCore.gypi:
37770         * platform/chromium/MIMETypeRegistryChromium.cpp:
37771         * plugins/chromium/PluginDataChromium.cpp:
37772         * plugins/chromium/PluginDataChromium.h: Added.
37773
37774 2009-11-02  Adele Peterson  <adele@apple.com>
37775
37776         Reviewed by Darin Adler.
37777
37778         Fix for <rdar://problem/7038305> REGRESSION (Safari 4.0.2 - ToT): After navigating back to a known phishy page, the "Ignore warning" button appears highlighted (along with the "Go Back" button)
37779
37780         This bug is timing dependent, and not always reproducible.  I could not think of a way to add a 
37781         layout test that would demonstrate the problem and fix.
37782
37783         * platform/mac/ThemeMac.mm:
37784         (WebCore::checkbox): Update style.
37785         (WebCore::paintCheckbox): ditto.
37786         (WebCore::radio): ditto.
37787         (WebCore::paintRadio): ditto.
37788         (WebCore::setupButtonCell): Added convenience method.
37789         (WebCore::button): Use a separate NSButtonCell for defaultButtons and regular buttons.
37790         (WebCore::paintButton): Don't check for the key window here.  Consider that when deciding if the button should have the default style in RenderTheme.
37791         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isDefault): Only consider a button to be default if the page is active.  This fixes 
37792         a problem I noticed where the button would flicker crazily if the page with the default button was in the background.
37793
37794 2009-11-02  Dan Bernstein  <mitz@apple.com>
37795
37796         Reviewed by Anders Carlsson.
37797
37798         Minor RenderWidget clean-up in preparation for deferring widget tree
37799         mutation when it is not safe.
37800
37801         * rendering/RenderWidget.cpp:
37802         (WebCore::RenderWidget::RenderWidget): Initialize m_refCount to 1
37803         instead of calling ref().
37804         (WebCore::RenderWidget::destroy): Call setWidget(0) instead of
37805         repeating what it does.
37806         (WebCore::RenderWidget::setWidgetGeometry): Now returns a boolean
37807         indicating whether the bounds have changed.
37808         (WebCore::RenderWidget::setWidget): Replaced all-encompassing if
37809         statement with an early return.
37810         (WebCore::RenderWidget::updateWidgetPosition): Call setWidgetGeometry().
37811         * rendering/RenderWidget.h:
37812
37813 2009-11-02  Dumitru Daniliuc  <dumi@chromium.org>
37814
37815         Reviewed by Dimitri Glazkov.
37816
37817         Adding Chromium's DatabaseTracker and SQLTransactionClient
37818         implementations.
37819
37820         https://bugs.webkit.org/show_bug.cgi?id=30701
37821
37822         * storage/chromium: Added.
37823         * storage/chromium/DatabaseObserver.h: Added.
37824         * storage/chromium/DatabaseTrackerChromium.cpp: Added.
37825         * storage/chromium/QuotaTracker.cpp: Added.
37826         * storage/chromium/QuotaTracker.h: Added.
37827         * storage/chromium/SQLTransactionClientChromium.cpp: Added.
37828
37829 2009-11-02  Enrica Casucci  <enrica@apple.com>
37830
37831         Reviewed by Adele Peterson and Dan Bernstein.
37832
37833         Safari crashes when calling execCommand on formatted html in special case
37834         <rdar://problem/7318656>
37835         https://bugs.webkit.org/show_bug.cgi?id=31023
37836
37837         Test: editing/execCommand/align-in-span.html
37838
37839         * rendering/RenderObject.cpp:
37840         (WebCore::RenderObject::containingBlock): Modified comment on containingBlock returning NULL.
37841         * rendering/RenderText.cpp:
37842         (WebCore::RenderText::setSelectionState): Added check for NULL return from containingBlock,
37843         since it is possible when dealing with orphaned trees.
37844
37845 2009-11-02  Chris Marrin  <cmarrin@apple.com>
37846
37847         Reviewed by Oliver Hunt.
37848
37849         Exception checks were being too aggressive
37850         https://bugs.webkit.org/show_bug.cgi?id=31005
37851
37852         Several calls in CanvasRenderingContext3D are allowed to
37853         have a null value passed, which indicated that the 
37854         object is being unbound. Handle this case and the corresponding
37855         null handling in GraphicsContext3DMac.
37856
37857         * html/canvas/CanvasRenderingContext3D.cpp:
37858         (WebCore::CanvasRenderingContext3D::bindBuffer):
37859         (WebCore::CanvasRenderingContext3D::bindFramebuffer):
37860         (WebCore::CanvasRenderingContext3D::bindRenderbuffer):
37861         (WebCore::CanvasRenderingContext3D::bindTexture):
37862         (WebCore::CanvasRenderingContext3D::framebufferRenderbuffer):
37863         (WebCore::CanvasRenderingContext3D::framebufferTexture2D):
37864         * platform/graphics/mac/GraphicsContext3DMac.cpp:
37865         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
37866         (WebCore::GraphicsContext3D::framebufferTexture2D):
37867
37868 2009-11-02  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
37869
37870         Reviewed by Timothy Hatcher.
37871
37872         Each JS execution in console adds extra item into "scripts" combo
37873         https://bugs.webkit.org/show_bug.cgi?id=30212
37874
37875         Added manual test
37876
37877         * inspector/front-end/ScriptsPanel.js:
37878         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
37879         * manual-tests/inspector/hidden-evals.html: Added.
37880
37881 2009-11-02  Kelly Norton  <knorton@google.com>
37882
37883         Reviewed by Timothy Hatcher.
37884
37885         Adds a missed case for InspectorTimeline, DOMWindow dispatch of DOM events.
37886         https://bugs.webkit.org/show_bug.cgi?id=31030
37887
37888         * dom/Node.cpp:
37889         (WebCore::eventHasListeners): Checks DOMWindow for listeners.
37890         (WebCore::Node::dispatchGenericEvent):
37891
37892 2009-11-02  Dmitry Titov  <dimich@chromium.org>
37893
37894         Reviewed by David Levin.
37895
37896         Remove threadsafe refcounting from tasks used with WTF::MessageQueue.
37897         https://bugs.webkit.org/show_bug.cgi?id=30612
37898
37899         No new tests since no new functionality. Storage, MessagePorts and Workers tests cover this.
37900
37901         There are a lot of files but most changes are simply replace RefPtr and PassRefPtr with
37902         OwnPtr and PassOwnPtr when dealing with Tasks.
37903
37904         ScriptExecutionContext::Task, DatabaseTask and WorkerRunLoop::Task are no longer
37905         threadsafe refcounted, but simply Noncopyable.
37906
37907         * dom/Document.cpp:
37908         (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
37909         (WebCore::PerformTaskContext::PerformTaskContext):
37910         (WebCore::Document::postTask):
37911         * dom/Document.h:
37912         * dom/ScriptExecutionContext.cpp:
37913         (WebCore::ProcessMessagesSoonTask::create):
37914         * dom/ScriptExecutionContext.h:
37915         * dom/default/PlatformMessagePortChannel.cpp:
37916         (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
37917         * dom/default/PlatformMessagePortChannel.h:
37918         (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
37919         (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
37920         * loader/FrameLoader.cpp:
37921         (WebCore::HashChangeEventTask::create):
37922         * loader/appcache/ApplicationCacheGroup.cpp:
37923         (WebCore::CallCacheListenerTask::create):
37924         * storage/Database.cpp:
37925         (WebCore::Database::openAndVerifyVersion):
37926         (WebCore::Database::markAsDeletedAndClose):
37927         (WebCore::Database::scheduleTransaction):
37928         (WebCore::Database::scheduleTransactionStep):
37929         (WebCore::Database::tableNames):
37930         * storage/DatabaseTask.h:
37931         (WebCore::DatabaseOpenTask::create):
37932         (WebCore::DatabaseCloseTask::create):
37933         (WebCore::DatabaseTransactionTask::create):
37934         (WebCore::DatabaseTableNamesTask::create):
37935         * storage/DatabaseThread.cpp:
37936         (WebCore::DatabaseThread::databaseThread):
37937         (WebCore::DatabaseThread::scheduleTask):
37938         (WebCore::DatabaseThread::scheduleImmediateTask):
37939         (WebCore::SameDatabasePredicate::operator()):
37940         * storage/DatabaseThread.h:
37941         * storage/LocalStorageTask.h:
37942         (WebCore::LocalStorageTask::createImport):
37943         (WebCore::LocalStorageTask::createSync):
37944         (WebCore::LocalStorageTask::createTerminate):
37945         * storage/LocalStorageThread.cpp:
37946         (WebCore::LocalStorageThread::localStorageThread):
37947         * storage/LocalStorageThread.h:
37948         * websockets/WebSocket.cpp:
37949         (WebCore::ProcessWebSocketEventTask::create):
37950         * workers/DefaultSharedWorkerRepository.cpp:
37951         (WebCore::SharedWorkerProxy::postTaskToLoader):
37952         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
37953         (WebCore::SharedWorkerConnectTask::create):
37954         * workers/GenericWorkerTask.h:
37955         (WebCore::GenericWorkerTask1::create):
37956         (WebCore::GenericWorkerTask2::create):
37957         (WebCore::GenericWorkerTask3::create):
37958         (WebCore::GenericWorkerTask4::create):
37959         (WebCore::GenericWorkerTask5::create):
37960         (WebCore::GenericWorkerTask6::create):
37961         (WebCore::GenericWorkerTask7::create):
37962         (WebCore::GenericWorkerTask8::create):
37963         (WebCore::createCallbackTask):
37964         * workers/WorkerContext.cpp:
37965         (WebCore::WorkerContext::postTask):
37966         * workers/WorkerContext.h:
37967         * workers/WorkerLoaderProxy.h:
37968         * workers/WorkerMessagingProxy.cpp:
37969         (WebCore::MessageWorkerContextTask::create):
37970         (WebCore::MessageWorkerTask::create):
37971         (WebCore::WorkerExceptionTask::create):
37972         (WebCore::WorkerContextDestroyedTask::create):
37973         (WebCore::WorkerTerminateTask::create):
37974         (WebCore::WorkerThreadActivityReportTask::create):
37975         (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext):
37976         (WebCore::WorkerMessagingProxy::postTaskToLoader):
37977         (WebCore::WorkerMessagingProxy::workerThreadCreated):
37978         * workers/WorkerMessagingProxy.h:
37979         * workers/WorkerRunLoop.cpp:
37980         (WebCore::ModePredicate::operator()):
37981         (WebCore::WorkerRunLoop::runInMode):
37982         (WebCore::WorkerRunLoop::postTask):
37983         (WebCore::WorkerRunLoop::postTaskForMode):
37984         (WebCore::WorkerRunLoop::Task::create):
37985         (WebCore::WorkerRunLoop::Task::performTask):
37986         (WebCore::WorkerRunLoop::Task::Task):
37987         * workers/WorkerRunLoop.h:
37988         (WebCore::WorkerRunLoop::Task::~Task):
37989         (WebCore::WorkerRunLoop::Task::mode):
37990
37991 2009-11-02  Philippe Normand  <pnormand@igalia.com>
37992
37993         Reviewed by Jan Alonzo.
37994
37995         [GTK] Failing media/video-played-reset.html
37996         https://bugs.webkit.org/show_bug.cgi?id=30589
37997
37998         new m_seekTime attribute to keep track of the seek position
37999
38000         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
38001         (WebCore::MediaPlayerPrivate::currentTime):
38002         (WebCore::MediaPlayerPrivate::seek):
38003         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
38004
38005 2009-11-02  Xan Lopez  <xlopez@igalia.com>
38006
38007         Reviewed by Jan Alonzo.
38008
38009         [GTK] Remove Referer when redirecting to non-secure site
38010         https://bugs.webkit.org/show_bug.cgi?id=31021
38011
38012         Remove referer from HTTP headers when redirecting to a non-secure
38013         site.
38014
38015         * platform/network/soup/ResourceHandleSoup.cpp:
38016         (WebCore::restartedCallback):
38017
38018 2009-11-02  Alexey Proskuryakov  <ap@apple.com>
38019
38020         Reviewed by Dan Bernstein.
38021
38022         https://bugs.webkit.org/show_bug.cgi?id=18539
38023         multipart/form-data not being parsed correctly on server due to '+' in boundary string
38024
38025         No test - the characters that the boundary is made of are not deterministic.
38026
38027         * platform/network/FormDataBuilder.cpp: (WebCore::FormDataBuilder::generateUniqueBoundaryString):
38028         Don't ever put a '+' in boundary string, either. Removed a FIXME to bring '/' back once
38029         GMail is fixed - I don't think we'll ever want to allow non-alphanumeric characters, as
38030         they cause problems on many web sites.
38031
38032 2009-10-30  Alexey Proskuryakov  <ap@apple.com>
38033
38034         Reviewed by Darin Adler.
38035
38036         https://bugs.webkit.org/show_bug.cgi?id=30969
38037         A no-prefix XPath node test should not match no-namespace elements in HTML document
38038
38039         Test: fast/xpath/null-namespace-in-html.html
38040
38041         * xml/XPathStep.cpp: (WebCore::XPath::nodeMatchesBasicTest): Special case non-HTML elements
38042         in HTML documents (as these are the ones that can have null namespace).
38043
38044 2009-11-02  Pavel Feldman  <pfeldman@chromium.org>
38045
38046         Reviewed by Timothy Hatcher.
38047
38048         Web Inspector: [REGRESSION] No timeline marks on resources panel.
38049
38050         https://bugs.webkit.org/show_bug.cgi?id=31013
38051
38052         * inspector/front-end/AbstractTimelinePanel.js:
38053         (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
38054
38055 2009-11-02  David Levin  <levin@chromium.org>
38056
38057         Reviewed by Dan Bernstein.
38058
38059         Possible crash in RenderSlider::layout.
38060         https://bugs.webkit.org/show_bug.cgi?id=31016
38061
38062         Fix out of place line of code.
38063
38064         Test: scrollbars/overflow-scrollbar-combinations.html
38065         This crash only seems to repro when WebKit draws the play controls,
38066         so the crash repros in chromium running this test but not WebKit
38067         nightlies which use QuickTime to draw the controls.
38068
38069         * rendering/RenderSlider.cpp:
38070         (WebCore::RenderSlider::layout):
38071
38072 2009-11-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
38073
38074         Reviewed by Tor Arne Vestbø.
38075
38076         [Qt] Fix Qt build on Windows.
38077         https://bugs.webkit.org/show_bug.cgi?id=30905
38078
38079         * WebCore.pro:
38080         * platform/graphics/BitmapImage.h:
38081         * platform/graphics/qt/ImageQt.cpp:
38082         (WebCore::BitmapImage::BitmapImage):
38083         (WebCore::BitmapImage::create):
38084
38085 2009-11-02  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
38086
38087         Reviewed by Adam Barth.
38088
38089         QWebView crash fix.
38090
38091         The QWebView should not crash if the stop() method is called from
38092         a function triggered by the loadProgress signal.
38093
38094         A null pointer protection was added in the ProgressTracker::incrementProgress.
38095
38096         New autotest was created.
38097
38098         https://bugs.webkit.org/show_bug.cgi?id=29425
38099
38100         * loader/ProgressTracker.cpp:
38101         (WebCore::ProgressTracker::incrementProgress):
38102
38103 2009-11-02  Mikhail Naganov  <mnaganov@chromium.org>
38104
38105         Reviewed by Pavel Feldman.
38106
38107         Fix a leftover from profiles panel generalization.
38108
38109         https://bugs.webkit.org/show_bug.cgi?id=31010
38110
38111         * inspector/front-end/ProfilesPanel.js:
38112         (WebInspector.ProfilesPanel.prototype.get searchableViews):
38113
38114 2009-11-02  Kai Koehne  <kai.koehne@nokia.com>
38115
38116         Reviewed by Holger Freyther.
38117
38118         Remove implementation of ImageDecocerQt::clearFrameBufferCache.
38119         The implementation was buggy, and will visually break repeating
38120         animations anyway.
38121
38122         https://bugs.webkit.org/show_bug.cgi?id=31009
38123
38124         * platform/graphics/qt/ImageDecoderQt.cpp:
38125         (WebCore::ImageDecoderQt::clearFrameBufferCache):
38126
38127 2009-11-02  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
38128
38129         Reviewed by Jan Alonzo.
38130
38131         https://bugs.webkit.org/show_bug.cgi?id=30964
38132         [Gtk] Implemment AtkDocument
38133
38134         Provides access to the reported content language.
38135
38136         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
38137         (webkit_accessible_document_get_locale):
38138
38139 2009-11-02  Keishi Hattori  <casey.hattori@gmail.com>
38140
38141         Reviewed by Timothy Hatcher.
38142
38143         Web Inspector: Rewrite CSSSourceSyntaxHighlighter so it shares more code
38144         https://bugs.webkit.org/show_bug.cgi?id=30907
38145
38146         Test: inspector/css-syntax-highlight.html
38147
38148         * inspector/front-end/ElementsTreeOutline.js:
38149         * inspector/front-end/SourceFrame.js:
38150         (WebInspector.SourceFrame.prototype.syntaxHighlightCSS):
38151         (WebInspector.SourceSyntaxHighlighter):
38152         (WebInspector.SourceSyntaxHighlighter.prototype.process.processChunk):
38153         (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine):
38154         (WebInspector.SourceSyntaxHighlighter.prototype.process):
38155         (WebInspector.SourceSyntaxHighlighter.prototype.lex):
38156         (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken):
38157         (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode):
38158         (WebInspector.CSSSourceSyntaxHighlighter):
38159         * inspector/front-end/inspectorSyntaxHighlight.css:
38160
38161 2009-11-02  Chris Fleizach  <cfleizach@apple.com>
38162
38163         Reviewed by Beth Dakin.
38164
38165         Support ARIA "tab" roles
38166         https://bugs.webkit.org/show_bug.cgi?id=30842
38167
38168         Implement support for ARIA "tab", "tabpanel" and "tablist".
38169         As a consequence, we also needed to implement aria-selected
38170         and aria-controls.
38171
38172         Tests: accessibility/aria-controls-with-tabs.html
38173                accessibility/aria-tab-roles.html
38174
38175         * accessibility/AXObjectCache.cpp:
38176         * accessibility/AccessibilityObject.h:
38177         * accessibility/AccessibilityRenderObject.cpp:
38178         * accessibility/AccessibilityRenderObject.h:
38179         * accessibility/mac/AccessibilityObjectWrapper.mm:
38180         * html/HTMLAttributeNames.in:
38181
38182 2009-10-27  Stephen White  <senorblanco@chromium.org>
38183
38184         Reviewed by Dmitry Titov.
38185
38186         This is the WebKit-side change needed to fix canvas.getImageData() for
38187         Chromium.  The unpremultiply code in Skia assumes that unpremultiplied
38188         values should be rounded, while CG does not.  In addition, the fixed
38189         point inversion used by Skia introduces slight inaccuracies that make
38190         us fail this test.  This change brings Chromium in line with
38191         the CG path.
38192         https://bugs.webkit.org/show_bug.cgi?id=30825
38193
38194         Covered by LayoutTests/fast/canvas/canvas-getImageData.html
38195
38196         * platform/graphics/skia/ImageBufferSkia.cpp:
38197         (WebCore::getImageData):
38198
38199 2009-11-01  Kelly Norton  <knorton@google.com>
38200
38201         Reviewed by Timothy Hatcher.
38202
38203         Adds window event dispatches to InspectorTimelineAgent.
38204         https://bugs.webkit.org/show_bug.cgi?id=31002
38205
38206         * English.lproj/localizedStrings.js:
38207         * dom/Node.cpp: Updated call site to willDispatchEvent and didDispatchEvent.
38208         (WebCore::Node::dispatchGenericEvent):
38209         * inspector/InspectorTimelineAgent.cpp:
38210         (WebCore::InspectorTimelineAgent::willDispatchEvent): Renamed.
38211         (WebCore::InspectorTimelineAgent::didDispatchEvent): Renamed.
38212         * inspector/InspectorTimelineAgent.h:
38213         (WebCore::):
38214         * inspector/TimelineRecordFactory.cpp:
38215         (WebCore::TimelineRecordFactory::createEventDispatchRecord): Renamed.
38216         * inspector/TimelineRecordFactory.h:
38217         * inspector/front-end/TimelineAgent.js:
38218         * inspector/front-end/TimelinePanel.js:
38219         (WebInspector.TimelinePanel.prototype._formatRecord):
38220         (WebInspector.TimelinePanel.prototype._getRecordDetails):
38221         * page/DOMWindow.cpp:
38222         (WebCore::DOMWindow::dispatchEvent):
38223
38224 2009-11-01  Pavel Feldman  <pfeldman@chromium.org>
38225
38226         Reviewed by Timothy Hatcher.
38227
38228         Web Inspector: Convert script tag event into a more generic
38229         script eval event in timeline.
38230
38231         https://bugs.webkit.org/show_bug.cgi?id=30999
38232
38233         * bindings/js/ScriptController.cpp:
38234         (WebCore::ScriptController::evaluateInWorld):
38235         * bindings/v8/V8Proxy.cpp:
38236         (WebCore::V8Proxy::evaluate):
38237         * html/HTMLTokenizer.cpp:
38238         (WebCore::HTMLTokenizer::scriptExecution):
38239         * inspector/InspectorTimelineAgent.cpp:
38240         (WebCore::InspectorTimelineAgent::willEvaluateScript):
38241         (WebCore::InspectorTimelineAgent::didEvaluateScript):
38242         * inspector/InspectorTimelineAgent.h:
38243         (WebCore::):
38244         * inspector/TimelineRecordFactory.cpp:
38245         (WebCore::TimelineRecordFactory::createEvaluateScriptTimelineRecord):
38246         * inspector/TimelineRecordFactory.h:
38247         * inspector/front-end/TimelineAgent.js:
38248         * inspector/front-end/TimelinePanel.js:
38249         (WebInspector.TimelinePanel.prototype._formatRecord):
38250         (WebInspector.TimelinePanel.prototype._getRecordDetails):
38251
38252 2009-11-01  Brian Weinstein  <bweinstein@apple.com>
38253
38254         Rubber-stamped by Mark Rowe.
38255
38256         Fix for loop to use an size_t instead of unsigned and some spacing
38257         style fixes.
38258
38259         * dom/Node.cpp:
38260         (WebCore::eventHasListeners):
38261
38262 2009-11-01  Kelly Norton  <knorton@google.com>
38263
38264         Reviewed by Timothy Hatcher.
38265
38266         Does not send DOM dispatches to the InspectorTimelineAgent if there
38267         are no event listeners.
38268         https://bugs.webkit.org/show_bug.cgi?id=30995
38269
38270         * dom/Node.cpp:
38271         (WebCore::eventHasListeners):
38272         (WebCore::Node::dispatchGenericEvent):
38273         * xml/XMLHttpRequest.cpp:
38274         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
38275
38276 2009-11-01  Roland Steiner  <rolandsteiner@chromium.org>
38277
38278         No review (build fix).
38279
38280         Add missing files for Ruby implementation to WebCore.vcproj
38281         (Fix build break after 50397)
38282         https://bugs.webkit.org/show_bug.cgi?id=31001
38283
38284         No new tests. (No functional change)
38285
38286         * WebCore.vcproj/WebCore.vcproj:
38287
38288 2009-11-02  Roland Steiner  <rolandsteiner@chromium.org>
38289
38290         Reviewed by Dave Hyatt.
38291
38292         Bug 28420 -  Implement HTML5 <ruby> rendering
38293         (https://bugs.webkit.org/show_bug.cgi?id=28420)
38294
38295         First rudimentary implementation of HTML5 ruby rendering support.
38296
38297         Following the HTML 5 spec, the box object model for a <ruby> element allows several runs of ruby
38298         bases with their respective ruby texts looks as follows:
38299
38300         1 RenderRuby object, corresponding to the whole <ruby> HTML element
38301              1+ RenderRubyRun (anonymous)
38302                  0 or 1 RenderRubyText - shuffled to the front in order to re-use existing block layouting
38303                      0-n inline object(s)
38304                  0 or 1 RenderRubyBase - contains the inline objects that make up the ruby base
38305                      1-n inline object(s)
38306
38307         Note: <rp> elements are defined as having 'display:none' and thus normally are not assigned a renderer.
38308         
38309         New layout tests will be committed in a follow-up patch under fast/ruby.
38310
38311         Makefiles, etc.
38312         * GNUmakefile.am:
38313         * WebCore.gypi:
38314         * WebCore.pro:
38315         * WebCore.xcodeproj/project.pbxproj:
38316
38317         CSS
38318         * css/html.css: Added <ruby> and <rt>
38319
38320         Existing render files:
38321         * rendering/RenderBlock.cpp: make moveChild a member function moveChildTo
38322         (WebCore::RenderBlock::moveChildTo):
38323         (WebCore::RenderBlock::makeChildrenNonInline):
38324         (WebCore::RenderBlock::removeChild):
38325         * rendering/RenderBlock.h:
38326         * rendering/RenderObject.cpp:
38327         (WebCore::RenderObject::createObject): instantiate ruby renderers based on element name
38328         * rendering/RenderObject.h: add query methods for ruby renderers
38329         (WebCore::RenderObject::isRuby):
38330         (WebCore::RenderObject::isRubyBase):
38331         (WebCore::RenderObject::isRubyRun):
38332         (WebCore::RenderObject::isRubyText):
38333
38334         New ruby renderers:
38335         * rendering/RenderRuby.cpp: Added.
38336         (WebCore::lastRubyRun):
38337         (WebCore::findRubyRunParent):
38338         (WebCore::RenderRubyAsInline::RenderRubyAsInline):
38339         (WebCore::RenderRubyAsInline::~RenderRubyAsInline):
38340         (WebCore::RenderRubyAsInline::isChildAllowed):
38341         (WebCore::RenderRubyAsInline::addChild):
38342         (WebCore::RenderRubyAsInline::removeChild):
38343         (WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
38344         (WebCore::RenderRubyAsBlock::~RenderRubyAsBlock):
38345         (WebCore::RenderRubyAsBlock::isChildAllowed):
38346         (WebCore::RenderRubyAsBlock::addChild):
38347         (WebCore::RenderRubyAsBlock::removeChild):
38348         * rendering/RenderRuby.h: Added.
38349         (WebCore::RenderRubyAsInline::renderName):
38350         (WebCore::RenderRubyAsInline::isRuby):
38351         (WebCore::RenderRubyAsBlock::renderName):
38352         (WebCore::RenderRubyAsBlock::isRuby):
38353         * rendering/RenderRubyBase.cpp: Added.
38354         (WebCore::RenderRubyBase::RenderRubyBase):
38355         (WebCore::RenderRubyBase::~RenderRubyBase):
38356         (WebCore::RenderRubyBase::isChildAllowed):
38357         (WebCore::RenderRubyBase::splitToLeft):
38358         (WebCore::RenderRubyBase::mergeWithRight):
38359         * rendering/RenderRubyBase.h: Added.
38360         (WebCore::RenderRubyBase::renderName):
38361         (WebCore::RenderRubyBase::isRubyBase):
38362         * rendering/RenderRubyRun.cpp: Added.
38363         (WebCore::RenderRubyRun::RenderRubyRun):
38364         (WebCore::RenderRubyRun::~RenderRubyRun):
38365         (WebCore::RenderRubyRun::hasRubyText):
38366         (WebCore::RenderRubyRun::hasRubyBase):
38367         (WebCore::RenderRubyRun::isEmpty):
38368         (WebCore::RenderRubyRun::rubyText):
38369         (WebCore::RenderRubyRun::rubyBase):
38370         (WebCore::RenderRubyRun::rubyBaseSafe):
38371         (WebCore::RenderRubyRun::firstLineBlock):
38372         (WebCore::RenderRubyRun::updateFirstLetter):
38373         (WebCore::RenderRubyRun::isChildAllowed):
38374         (WebCore::RenderRubyRun::addChild):
38375         (WebCore::RenderRubyRun::removeChild):
38376         (WebCore::RenderRubyRun::createRubyBase):
38377         (WebCore::RenderRubyRun::staticCreateRubyRun):
38378         * rendering/RenderRubyRun.h: Added.
38379         (WebCore::RenderRubyRun::renderName):
38380         (WebCore::RenderRubyRun::isRubyRun):
38381         * rendering/RenderRubyText.cpp: Added.
38382         (WebCore::RenderRubyText::RenderRubyText):
38383         (WebCore::RenderRubyText::~RenderRubyText):
38384         (WebCore::RenderRubyText::isChildAllowed):
38385         * rendering/RenderRubyText.h: Added.
38386         (WebCore::RenderRubyText::renderName):
38387         (WebCore::RenderRubyText::isRubyText):
38388
38389 2009-11-01  Alexey Proskuryakov  <ap@apple.com>
38390
38391         Reviewed by Dan Bernstein.
38392
38393         https://bugs.webkit.org/show_bug.cgi?id=30992
38394         Node.isDefaultNamespace doesn't convert empty strings to null
38395
38396         Test: fast/dom/Node/default-namespace-empty-argument.html
38397
38398         * dom/Node.cpp: (WebCore::Node::isDefaultNamespace): Per DOM 3 Core, treat empty input
38399         as null.
38400
38401 2009-11-01  Yael Aharon  <yael.aharon@nokia.com>
38402
38403         Reviewed by Darin Adler.
38404
38405         Don't add '/' to the URL path if the it does not include '/' after the protocol component
38406         https://bugs.webkit.org/show_bug.cgi?id=30971
38407
38408         Match IE8 behaviour, that does not add '/' if there is none after the protocol component.
38409
38410         * platform/KURL.cpp:
38411         (WebCore::KURL::parse):
38412
38413 2009-10-31  Oliver Hunt  <oliver@apple.com>
38414
38415         Reviewed by Darin Adler.
38416
38417         Fix layering violations in GraphicsContext3D
38418         https://bugs.webkit.org/show_bug.cgi?id=30986
38419
38420         Remove uses of HTMLImageElement and HTMLCanvasElement
38421
38422         * html/canvas/CanvasRenderingContext3D.cpp:
38423         (WebCore::CanvasRenderingContext3D::texImage2D):
38424         (WebCore::CanvasRenderingContext3D::texSubImage2D):
38425         * platform/graphics/GraphicsContext3D.h:
38426         * platform/graphics/mac/GraphicsContext3DMac.cpp:
38427         (WebCore::GraphicsContext3D::texImage2D):
38428         (WebCore::GraphicsContext3D::texSubImage2D):
38429
38430 2009-11-01  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
38431
38432         Reviewed by Jan Alonzo.
38433
38434         https://bugs.webkit.org/show_bug.cgi?id=30964
38435         [Gtk] Implemment AtkDocument
38436
38437         Provides access to expected document attributes.
38438
38439         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
38440         (documentAttributeValue):
38441         (webkit_accessible_document_get_document_attribute_value):
38442         (webkit_accessible_document_get_document_attributes):
38443
38444 2009-11-03  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
38445
38446         Reviewed by Jan Alonzo.
38447
38448         https://bugs.webkit.org/show_bug.cgi?id=30964
38449         [Gtk] Implemment AtkDocument
38450
38451         Implements what has been implemented in AT-SPI.
38452
38453         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
38454         (GetAtkInterfaceTypeFromWAIType):
38455         (getInterfaceMaskFromObject):
38456         (atk_document_interface_init):
38457         (webkit_accessible_document_get_document_attribute_value):
38458         (webkit_accessible_document_get_document_attributes):
38459         (webkit_accessible_document_get_locale):
38460
38461 2009-11-01  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
38462
38463         Reviewed by Eric Seidel.
38464
38465         Turn on warnings for QtWebKit for gcc
38466         https://bugs.webkit.org/show_bug.cgi?id=30958
38467
38468         No new tests as there is no functional change.
38469
38470         * platform/image-decoders/qt/RGBA32BufferQt.cpp:
38471         (WebCore::RGBA32Buffer::RGBA32Buffer): Reorder 
38472         initialization list to fix compiler warnings.
38473
38474
38475 2009-11-01  Keishi Hattori  <casey.hattori@gmail.com>
38476
38477         Reviewed by Pavel Feldman.
38478
38479         [Regression] monitorEvent doesn't work
38480
38481         * inspector/front-end/InjectedScript.js:
38482         (InjectedScript._ensureCommandLineAPIInstalled):
38483
38484 2009-11-01  Keishi Hattori  <casey.hattori@gmail.com>
38485
38486         Reviewed by Pavel Feldman.
38487
38488         Fix Web Inspector: Bug with Message Bubble in Syntax Highlighter
38489         https://bugs.webkit.org/show_bug.cgi?id=30990
38490
38491         * inspector/front-end/SourceFrame.js:
38492
38493 2009-10-31  Alexey Proskuryakov  <ap@apple.com>
38494
38495         Reviewed by John Sullivan.
38496
38497         https://bugs.webkit.org/show_bug.cgi?id=30982
38498         createHTMLDocument doesn't escape ampersand and less-than in title
38499
38500         Test: fast/dom/DOMImplementation/createHTMLDocument-title.html
38501
38502         * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createHTMLDocument):
38503         Set document title after creating the document, avoiding parser intricacies.
38504
38505 2009-11-01  Keishi Hattori  <casey.hattori@gmail.com>
38506
38507         Reviewed by Timothy Hatcher.
38508
38509         Web Inspector: Double clicking on a breakpoints should not select text
38510         https://bugs.webkit.org/show_bug.cgi?id=30950
38511
38512         * inspector/front-end/SourceFrame.js:
38513         (WebInspector.SourceFrame.prototype._documentMouseDown):
38514
38515 2009-11-01  Yuta Kitamura  <yutak@chromium.org>
38516
38517         Reviewed by Darin Adler.
38518
38519         Fix assertion falure in RenderObjectChildList::updateBeforeAfterContent().
38520
38521         [Crash (debug)] Combination of list-item and :after causes assertion failure
38522         https://bugs.webkit.org/show_bug.cgi?id=30944
38523
38524         Test: fast/css/list-item-pseudo-nocrash.html
38525
38526         * rendering/RenderObjectChildList.cpp:
38527         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
38528
38529 2009-11-01  Philippe Normand  <pnormand@igalia.com>
38530
38531         Reviewed by Eric Seidel.
38532
38533         https://bugs.webkit.org/show_bug.cgi?id=30586
38534         [GTK] Failing test media/video-src-empty.html
38535
38536         Correctly set network/ready state depending on GStreamer errors
38537         received on the bus.
38538
38539         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
38540         (WebCore::mediaPlayerPrivateMessageCallback):
38541
38542 2009-10-31  Oliver Hunt  <oliver@apple.com>
38543
38544         Build fix
38545
38546         * platform/graphics/mac/GraphicsContext3DMac.cpp:
38547         (WebCore::GraphicsContext3D::attachShader):
38548
38549 2009-10-31  Oliver Hunt  <oliver@apple.com>
38550
38551         Reviewed by Darin Adler.
38552
38553         Remove obsolete null checks from CanvasRenderingContext3DMac
38554         https://bugs.webkit.org/show_bug.cgi?id=30983
38555
38556         * platform/graphics/mac/GraphicsContext3DMac.cpp:
38557         (WebCore::GraphicsContext3D::attachShader):
38558         (WebCore::GraphicsContext3D::bindAttribLocation):
38559         (WebCore::GraphicsContext3D::compileShader):
38560         (WebCore::GraphicsContext3D::detachShader):
38561         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
38562         (WebCore::GraphicsContext3D::framebufferTexture2D):
38563         (WebCore::GraphicsContext3D::linkProgram):
38564         (WebCore::GraphicsContext3D::shaderSource):
38565         (WebCore::GraphicsContext3D::useProgram):
38566         (WebCore::GraphicsContext3D::validateProgram):
38567         (WebCore::GraphicsContext3D::getProgramInfoLog):
38568         (WebCore::GraphicsContext3D::getShaderi):
38569         (WebCore::GraphicsContext3D::getShaderiv):
38570         (WebCore::GraphicsContext3D::getShaderInfoLog):
38571         (WebCore::GraphicsContext3D::getShaderSource):
38572         (WebCore::GraphicsContext3D::getUniformLocation):
38573
38574 2009-10-31  Oliver Hunt  <oliver@apple.com>
38575
38576         Reviewed by Jon Honeycutt.
38577
38578         WebGL allows objects to be used with the wrong context
38579         https://bugs.webkit.org/show_bug.cgi?id=30981
38580
38581         Simply add null checks and a few context guards to ensure we don't
38582         deref null or attempt to use an object from a different context.
38583
38584         Tests: fast/canvas/webgl/incorrect-context-object-behaviour.html
38585                fast/canvas/webgl/null-object-behaviour.html
38586
38587         * html/canvas/CanvasRenderingContext3D.cpp:
38588         (WebCore::CanvasRenderingContext3D::attachShader):
38589         (WebCore::CanvasRenderingContext3D::bindAttribLocation):
38590         (WebCore::CanvasRenderingContext3D::bindBuffer):
38591         (WebCore::CanvasRenderingContext3D::bindFramebuffer):
38592         (WebCore::CanvasRenderingContext3D::bindRenderbuffer):
38593         (WebCore::CanvasRenderingContext3D::bindTexture):
38594         (WebCore::CanvasRenderingContext3D::compileShader):
38595         (WebCore::CanvasRenderingContext3D::detachShader):
38596         (WebCore::CanvasRenderingContext3D::framebufferRenderbuffer):
38597         (WebCore::CanvasRenderingContext3D::framebufferTexture2D):
38598         (WebCore::CanvasRenderingContext3D::getProgrami):
38599         (WebCore::CanvasRenderingContext3D::getProgramiv):
38600         (WebCore::CanvasRenderingContext3D::getProgramInfoLog):
38601         (WebCore::CanvasRenderingContext3D::getShaderi):
38602         (WebCore::CanvasRenderingContext3D::getShaderiv):
38603         (WebCore::CanvasRenderingContext3D::getShaderInfoLog):
38604         (WebCore::CanvasRenderingContext3D::getShaderSource):
38605         (WebCore::CanvasRenderingContext3D::getUniformf):
38606         (WebCore::CanvasRenderingContext3D::getUniformfv):
38607         (WebCore::CanvasRenderingContext3D::getUniformi):
38608         (WebCore::CanvasRenderingContext3D::getUniformiv):
38609         (WebCore::CanvasRenderingContext3D::getUniformLocation):
38610         (WebCore::CanvasRenderingContext3D::isBuffer):
38611         (WebCore::CanvasRenderingContext3D::linkProgram):
38612         (WebCore::CanvasRenderingContext3D::shaderSource):
38613         * html/canvas/CanvasRenderingContext3D.h:
38614         * html/canvas/CanvasRenderingContext3D.idl:
38615
38616 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
38617
38618         Reviewed by Darin Adler.
38619
38620         Allow custom memory allocation control for WebCore's MediaQueryResult
38621         https://bugs.webkit.org/show_bug.cgi?id=30857
38622
38623         Inherits MediaQueryResult class from Noncopyable because it is
38624         instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:5984 and
38625         it is no need to be copyable.
38626
38627         * css/CSSStyleSelector.h:
38628
38629 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
38630
38631         Reviewed by Darin Adler.
38632
38633         Allow custom memory allocation control for WebCore's MediaQueryEvaluator
38634         https://bugs.webkit.org/show_bug.cgi?id=30854
38635
38636         Inherits MediaQueryEvaluator class from Noncopyable because it is
38637         instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:401 and   
38638         it is no need to be copyable.
38639
38640         * css/MediaQueryEvaluator.h:
38641
38642 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
38643
38644         Reviewed by Darin Adler.
38645
38646         Allow custom memory allocation control for WebCore's CSSRuleSet
38647         https://bugs.webkit.org/show_bug.cgi?id=30852
38648
38649         Inherits CSSRuleSet class from Noncopyable because it is
38650         instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:455 and
38651         it is no need to be copyable.
38652
38653         * css/CSSStyleSelector.cpp:
38654
38655 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
38656
38657         Reviewed by Darin Adler.
38658
38659         Allow custom memory allocation control for WebCore's CSSRuleData
38660         https://bugs.webkit.org/show_bug.cgi?id=30851
38661
38662         Inherits CSSRuleData class from Noncopyable because it is
38663         instantiated by 'new' in WebCore/css/CSSStyleSelector.h:320 and
38664         it is no need to be copyable.
38665
38666         * css/CSSStyleSelector.h:
38667
38668 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
38669
38670         Reviewed by Darin Adler.
38671
38672         Allow custom memory allocation control for WebCore's CSSRuleDataList
38673         https://bugs.webkit.org/show_bug.cgi?id=30850
38674
38675         Inherits CSSRuleDataList class from Noncopyable because it has been
38676         instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:2715 and
38677         it is no need to be copyable.
38678
38679         * css/CSSStyleSelector.h:
38680
38681 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
38682
38683         Reviewed by Darin Adler.
38684
38685         Allow custom memory allocation control for WebCore's CSSNamespace
38686         https://bugs.webkit.org/show_bug.cgi?id=30849
38687
38688         Inherits CSSNamespace struct from Noncopyable because it is
38689         instantiated by 'new' in WebCore/css/CSSStyleSheet.cpp:141 and
38690         it is no need to be copyable.
38691
38692         * css/CSSNamespace.h:
38693
38694 2009-10-30  Dmitry Titov  <dimich@chromium.org>
38695
38696         Reviewed by David Levin.
38697
38698         Refactor DatabaseTask in preparation for removing threadsafe refcounting from it.
38699         Move the synchronizer object out of the DatabaseTask so there is no need to keep
38700         the pointer to Databasetask around after passing it to MessageQueue.
38701         Also pass the references to return parameters to the task so it can update them.
38702         https://bugs.webkit.org/show_bug.cgi?id=30941
38703
38704         No new tests, since this is just moving the code around, no change in functionality.
38705
38706         * storage/Database.cpp:
38707         (WebCore::Database::Database):
38708         (WebCore::Database::openAndVerifyVersion): Use new DatabaseTaskSynchronizer to wait for task completion.
38709         (WebCore::Database::markAsDeletedAndClose): Ditto.
38710         (WebCore::Database::tableNames): Ditto.
38711         (WebCore::Database::stop): Use the boolean flag rather then 'killed' flag built into MessageQueue.
38712         (WebCore::Database::scheduleTransaction): Transaction queue is a Deque now, change the way to fetch the transaction.
38713         * storage/Database.h: Change the SQLTransaction queue to be a Deque rather then a MessageQueue.
38714         * storage/DatabaseTask.cpp:
38715         (WebCore::DatabaseTaskSynchronizer::DatabaseTaskSynchronizer):
38716         (WebCore::DatabaseTaskSynchronizer::waitForTaskCompletion):
38717         (WebCore::DatabaseTaskSynchronizer::taskCompleted):
38718         (WebCore::DatabaseTask::DatabaseTask): Ctor takes DatabaseTaskSynchronizer which can be 0.
38719         (WebCore::DatabaseTask::performTask): Signal completion. m_synchronizer should still be around since main thread is waiting on it.
38720         (WebCore::DatabaseOpenTask::DatabaseOpenTask): Pass synchronizer and return parameters via constructor.
38721         (WebCore::DatabaseCloseTask::DatabaseCloseTask): Ditto.
38722         (WebCore::DatabaseTransactionTask::DatabaseTransactionTask): Ditto.
38723         (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask): Ditto.
38724         * storage/DatabaseTask.h:
38725         (WebCore::DatabaseOpenTask::create):
38726         (WebCore::DatabaseCloseTask::create):
38727         (WebCore::DatabaseTransactionTask::create):
38728         (WebCore::DatabaseTableNamesTask::create):
38729
38730 2009-10-30  Enrica Casucci  <enrica@apple.com>
38731
38732         Reviewed by Darin Adler.
38733
38734         REGRESSION: In Mail, Undo does not restore some characters I have deleted at the end of a line
38735         https://bugs.webkit.org/show_bug.cgi?id=30955
38736         <rdar://problem/7067033>
38737         
38738         When the command is deleteWordBackward or deleteWordForward
38739         we should not add to the open typing command, but
38740         create a new one.
38741         
38742         Test: editing/undo/undo-deleteWord.html
38743
38744         * editing/TypingCommand.cpp:
38745         (WebCore::TypingCommand::deleteKeyPressed): Always start a new command if the granularity is
38746         not CharacterGranularity. 
38747         (WebCore::TypingCommand::forwardDeleteKeyPressed): Always start a new command if the granularity is
38748         not CharacterGranularity. 
38749
38750 2009-10-30  Eric Carlson  <eric.carlson@apple.com>
38751
38752         Reviewed by Darin Adler.
38753
38754         Make MediaPlayer constructor private
38755         https://bugs.webkit.org/show_bug.cgi?id=30965
38756
38757         * html/HTMLMediaElement.cpp:
38758         (WebCore::HTMLMediaElement::loadResource): 
38759         (WebCore::HTMLMediaElement::finishParsingChildren): Use MediaPlayer::create.
38760
38761         * platform/graphics/MediaPlayer.h:
38762         (WebCore::MediaPlayer::create): New.
38763
38764 2009-10-29  Jon Honeycutt  <jhoneycutt@apple.com>
38765
38766         MSAA: Accessibility of headings is not correct
38767
38768         https://bugs.webkit.org/show_bug.cgi?id=30937
38769
38770         Reviewed by Alice Liu.
38771
38772         * accessibility/AccessibilityObject.h:
38773         (WebCore::AccessibilityObject::stringRoleForMSAA):
38774         (WebCore::AccessibilityObject::descriptionForMSAA):
38775
38776         * accessibility/AccessibilityRenderObject.cpp:
38777         (WebCore::shouldReturnTagNameAsRoleForMSAA):
38778         If the element's tag name is one of h1, h2, h3, h4, h5, h6, return
38779         true.
38780         (WebCore::AccessibilityRenderObject::stringRoleForMSAA):
38781         If the element should return its tag name as the role, return the tag
38782         name.
38783         (WebCore::AccessibilityRenderObject::positionalDescriptionForMSAA):
38784         If the object is a heading, return the string "L" followed by the
38785         heading level.
38786         (WebCore::AccessibilityRenderObject::descriptionForMSAA):
38787         If the object has a positional description, return it. Otherwise, get
38788         the accessibility description, and prefix it with "Description" so that
38789         MSAA clients know that it's not a positional description.
38790
38791         * accessibility/AccessibilityRenderObject.h:
38792
38793 2009-10-29  Jon Honeycutt  <jhoneycutt@apple.com>
38794
38795         MSAA: Accessibility of links is wrong
38796
38797         https://bugs.webkit.org/show_bug.cgi?id=30928
38798
38799         Reviewed by Darin Adler.
38800
38801         * accessibility/AccessibilityImageMapLink.cpp:
38802         (WebCore::AccessibilityImageMapLink::stringValueForMSAA):
38803         Return the URL.
38804         (WebCore::AccessibilityImageMapLink::nameForMSAA):
38805         Return the alt text.
38806
38807         * accessibility/AccessibilityImageMapLink.h:
38808         (WebCore::AccessibilityImageMapLink::isLinked):
38809         Return true.
38810
38811         * accessibility/AccessibilityObject.h:
38812         (WebCore::AccessibilityObject::isLinked):
38813         (WebCore::AccessibilityObject::stringValueForMSAA):
38814         (WebCore::AccessibilityObject::nameForMSAA):
38815
38816         * accessibility/AccessibilityRenderObject.cpp:
38817         (WebCore::isLinkable):
38818         Return true if the element is considered "linkable" with respect to
38819         accessibility.
38820         (WebCore::AccessibilityRenderObject::stringValueForMSAA):
38821         If the element is linkable, check whether it has a parent anchor
38822         element. If so, return the anchor element's href.
38823         (WebCore::AccessibilityRenderObject::isLinked):
38824         Return true if the element is linkable and if it's parent anchor tag's
38825         href is non-empty.
38826         (WebCore::AccessibilityRenderObject::nameForMSAA):
38827         For text nodes, return the text.
38828
38829         * accessibility/AccessibilityRenderObject.h:
38830
38831 2009-10-30  Evan Stade  <estade@chromium.org>
38832
38833         Reviewed by David Levin.
38834
38835         Notify the chrome when the focused node has changed.
38836         https://bugs.webkit.org/show_bug.cgi?id=30832
38837
38838         This is similar to AX code that is already in place, except that this also informs the
38839         chrome when there stops being a focused node. This is needed for a browser to show the
38840         anchor for links that have keyboard focus.
38841
38842         * dom/Document.cpp:
38843         (WebCore::Document::setFocusedNode):
38844         * loader/EmptyClients.h:
38845         (WebCore::EmptyChromeClient::focusedNodeChanged):
38846         * page/Chrome.cpp:
38847         (WebCore::Chrome::focusedNodeChanged):
38848         * page/Chrome.h:
38849         * page/ChromeClient.h:
38850
38851 2009-10-30  Ben Murdoch  <benm@google.com>
38852
38853         Reviewed by David Kilzer.
38854
38855         openDatabase() with empty version sets db version up incorrectly
38856         https://bugs.webkit.org/show_bug.cgi?id=28417
38857
38858         Test: storage/open-database-set-empty-version.html
38859
38860         * storage/Database.cpp:
38861         (WebCore::Database::performOpenAndVerify): Raise an exception if the current database version does not match the expected version when the current version is the empty string.
38862
38863 2009-10-30  John Gregg  <johnnyg@google.com>
38864
38865         Reviewed by David Levin.
38866
38867         Need to turn off notifications properly at runtime
38868         https://bugs.webkit.org/show_bug.cgi?id=30409
38869
38870         Moving the notificationsEnabled bit from NotificationCenter
38871         to the new V8 RuntimeEnabledFeatures object.
38872
38873         Just moving a bit around, so no new tests.
38874
38875         * bindings/v8/RuntimeEnabledFeatures.cpp:
38876         * bindings/v8/RuntimeEnabledFeatures.h:
38877         (WebCore::RuntimeEnabledFeatures::setNotificationsEnabled):
38878         (WebCore::RuntimeEnabledFeatures::notificationsEnabled):
38879         * bindings/v8/custom/V8DOMWindowCustom.cpp:
38880         (WebCore::ACCESSOR_RUNTIME_ENABLER):
38881         * bindings/v8/custom/V8WorkerContextCustom.cpp:
38882         (WebCore::ACCESSOR_RUNTIME_ENABLER):
38883         * notifications/NotificationCenter.cpp:
38884         * notifications/NotificationCenter.h:
38885
38886 2009-10-30  Dmitry Titov  <dimich@chromium.org>
38887
38888         Reviewed by Dimitri Glazkov.
38889
38890         [V8] More cleanup after r49949: remove ListenerGuard.
38891         ListenerGuard is no longer needed since EventListeners do not depend on frame or v8 context.
38892         https://bugs.webkit.org/show_bug.cgi?id=30943
38893
38894         Covered by fast/events/add-event-without-document.html which will now pass in Chromium.
38895
38896         * bindings/v8/V8AbstractEventListener.cpp:
38897         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
38898         (WebCore::V8AbstractEventListener::handleEvent):
38899         * bindings/v8/V8AbstractEventListener.h:
38900         * bindings/v8/V8DOMWrapper.cpp:
38901         (WebCore::V8DOMWrapper::getEventListener):
38902         * bindings/v8/V8EventListenerList.h:
38903         (WebCore::V8EventListenerList::findOrCreateWrapper):
38904         * bindings/v8/V8LazyEventListener.cpp:
38905         (WebCore::V8LazyEventListener::V8LazyEventListener):
38906         * bindings/v8/V8Proxy.cpp:
38907         (WebCore::V8Proxy::V8Proxy):
38908         (WebCore::V8Proxy::disconnectFrame):
38909         (WebCore::V8Proxy::clearForNavigation):
38910         * bindings/v8/V8Proxy.h:
38911         * bindings/v8/V8WorkerContextEventListener.cpp:
38912         (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener):
38913         (WebCore::V8WorkerContextEventListener::handleEvent):
38914         (WebCore::V8WorkerContextEventListener::reportError):
38915         * bindings/v8/V8WorkerContextEventListener.h:
38916         (WebCore::V8WorkerContextEventListener::create):
38917         * bindings/v8/WorkerContextExecutionProxy.cpp:
38918         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
38919         (WebCore::WorkerContextExecutionProxy::dispose):
38920         (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener):
38921         * bindings/v8/WorkerContextExecutionProxy.h:
38922         * bindings/v8/custom/V8CustomEventListener.cpp:
38923         (WebCore::V8EventListener::V8EventListener):
38924         * bindings/v8/custom/V8CustomEventListener.h:
38925         (WebCore::V8EventListener::create):
38926
38927 2009-10-30  Shinichiro Hamaji  <hamaji@chromium.org>
38928
38929         Reviewed by Darin Adler.
38930
38931         counterValueForElementById should return space-separated string for multiple counters
38932         https://bugs.webkit.org/show_bug.cgi?id=30939
38933
38934         Test: fast/css/counters/counterValueForElementById.html
38935
38936         * rendering/RenderTreeAsText.cpp:
38937         (WebCore::writeCounterValuesFromChildren):
38938         (WebCore::counterValueForElement):
38939
38940 2009-10-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
38941
38942         Reviewed by Gustavo Noronha.
38943
38944         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
38945         (WebCore::MediaPlayerPrivate::paint):
38946         Add some comments to explain what is happening here.
38947
38948 2009-10-30  Alexander Pavlov  <apavlov@chromium.org>
38949
38950         Reviewed by Timothy Hatcher.
38951
38952         Fix Web Inspector crash on the errors/warnings counter click
38953
38954         RenderObject::createVisiblePosition(const Position& position)
38955         understands "null Positions", so we can construct such a Position manually.
38956
38957         https://bugs.webkit.org/show_bug.cgi?id=30499
38958
38959         * rendering/RenderBox.cpp:
38960         (WebCore::RenderBox::positionForPoint):
38961
38962 2009-10-30  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
38963
38964         Reviewed by Xan Lopez.
38965
38966         https://bugs.webkit.org/show_bug.cgi?id=25534
38967         [GTK] Objects of ROLE_TABLE should implement the accessible table interface
38968
38969         Third part of the implementation of AtkTable.
38970
38971         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
38972         (nameFromChildren):
38973         (webkit_accessible_get_name):
38974         New convenience function to construct an object's name using the name(s) of
38975         any children it has.
38976
38977         (atk_table_interface_init):
38978         (webkit_accessible_table_get_column_description):
38979         (webkit_accessible_table_get_row_description):
38980         Implemented.
38981
38982         (webkit_accessible_table_get_column_header):
38983         Stub function added so that webkit_accessible_table_get_column_description
38984         could be implemented in the meantime.
38985
38986 2009-10-30  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
38987
38988         Reviewed by Xan Lopez.
38989
38990         https://bugs.webkit.org/show_bug.cgi?id=25534
38991         [GTK] Objects of ROLE_TABLE should implement the accessible table interface
38992
38993         Second part of the implementation of AtkTable.
38994
38995         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
38996         (cellAtIndex):
38997         (webkit_accessible_table_get_column_at_index):
38998         (webkit_accessible_table_get_row_at_index):
38999         (webkit_accessible_table_get_caption):
39000         (atk_table_interface_init):
39001
39002 2009-10-30  Pavel Feldman  <pfeldman@chromium.org>
39003
39004         Reviewed by Timothy Hatcher.
39005
39006         Web Inspector: Add TimelinePanel into the panels enum.
39007
39008         https://bugs.webkit.org/show_bug.cgi?id=30915
39009
39010         * inspector/InspectorFrontend.cpp:
39011         (WebCore::InspectorFrontend::showPanel):
39012         * inspector/front-end/inspector.js:
39013         (WebInspector.showTimelinePanel):
39014
39015 2009-10-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
39016
39017         Reviewed by Holger Hans Peter Freyther.
39018
39019         If the owner widget of the page has a palette set, we
39020         should use that one. This was only working when the
39021         owner was a QWebView. This patch fixes that.
39022
39023         * platform/qt/RenderThemeQt.cpp:
39024         (WebCore::RenderThemeQt::applyTheme):
39025
39026 2009-10-30  Pavel Feldman  <pfeldman@chromium.org>
39027
39028         Not reviewed: Wire CookieJarChromium to the cookies
39029         backend. This is a final step of a 3-steps raw cookies
39030         access implementation in Chromium.
39031
39032         * platform/network/chromium/CookieJarChromium.cpp:
39033         (WebCore::getRawCookies):
39034         (WebCore::deleteCookie):
39035
39036 2009-10-30  Yury Semikhatsky  <yurys@chromium.org>
39037
39038         Reviewed by Pavel Feldman.
39039
39040         Fix Chromium crash in console.log in "deeply recursive" function 
39041
39042         Check that result of 'frameSourceName' is not null handle
39043         before casting it to String. 
39044       
39045         Allow V8Proxy::sourceName/sourceLineNumber() to report
39046         that they have failed due to JavaScript stack overflow.
39047
39048         https://bugs.webkit.org/show_bug.cgi?id=30904
39049
39050         * bindings/scripts/CodeGeneratorV8.pm:
39051         * bindings/v8/ScriptCallStack.cpp:
39052         (WebCore::ScriptCallStack::create):
39053         (WebCore::ScriptCallStack::ScriptCallStack):
39054         * bindings/v8/ScriptCallStack.h:
39055         * bindings/v8/V8Proxy.cpp:
39056         (WebCore::V8Proxy::sourceLineNumber):
39057         (WebCore::V8Proxy::sourceName):
39058         * bindings/v8/V8Proxy.h:
39059         * bindings/v8/custom/V8WorkerContextCustom.cpp:
39060         (WebCore::CALLBACK_FUNC_DECL):
39061
39062 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
39063
39064         Reviewed by Darin Adler.
39065
39066         Allow custom memory allocation control for WebCore's MediaQuery
39067         https://bugs.webkit.org/show_bug.cgi?id=30856
39068
39069         Inherits MediaQuery class from Noncopyable because it is
39070         instantiated by 'new' in WebCore/css/CSSParser.cpp:4905 and
39071         it is no need to be copyable.
39072
39073         * css/CSSStyleSelector.h:
39074
39075 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
39076
39077         Reviewed by Darin Adler.
39078
39079         Allow custom memory allocation control for WebCore's MediaQueryExp
39080         https://bugs.webkit.org/show_bug.cgi?id=30855
39081
39082         Inherits MediaQueryExp class from FastAllocBase because it is
39083         instantiated by 'new' in WebCore/css/CSSParser.cpp:4874.
39084
39085         * css/MediaQueryExp.h:
39086
39087 2009-10-30  Roland Steiner  <rolandsteiner@chromium.org>
39088
39089         Reviewed by Eric Seidel.
39090
39091         Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak.
39092
39093         Bug 28420 -  Implement HTML5 <ruby> rendering
39094         (https://bugs.webkit.org/show_bug.cgi?id=28420)
39095
39096         No new tests (no functional change).
39097
39098         * Configurations/FeatureDefines.xcconfig:
39099         * DerivedSources.make:
39100         * GNUmakefile.am:
39101         * WebCore.pro:
39102         * WebCore.vcproj/WebCoreCommon.vsprops:
39103         * WebCore.vcproj/build-generated-files.sh:
39104
39105 2009-10-30  Dan Bernstein  <mitz@apple.com>
39106
39107         Reviewed by Adele Peterson.
39108
39109         Removed test for an impossible condition (a glyph in a right-to-left run not having
39110         the RTL flag 0x800)
39111
39112         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
39113         (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation):
39114
39115 2009-10-29  Adam Barth  <abarth@webkit.org>
39116
39117         Reviewed by Dimitri Glazkov.
39118
39119         [V8] Out-of-memory crash in isolated worlds
39120         https://bugs.webkit.org/show_bug.cgi?id=30906
39121
39122         We need to handle the fact that creating a V8:Context might fail.  I
39123         don't know how to test this change because creating a context usually
39124         only fails when V8 decides it's using too much memory.
39125
39126         * bindings/v8/V8IsolatedWorld.cpp:
39127         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
39128         * bindings/v8/V8Proxy.cpp:
39129         (WebCore::V8Proxy::evaluateInIsolatedWorld):
39130         (WebCore::V8Proxy::evaluateInNewContext):
39131
39132 2009-10-29  Erik Arvidsson  <arv@chromium.org>
39133
39134         Reviewed by Eric Seidel.
39135
39136         Make links mouse focusable only on GTK and QT.
39137
39138         Links are now always mouse focusable on GTK and QT. On other platforms
39139         the link needs a tabIndex or it needs to be contentEditable.
39140
39141         https://bugs.webkit.org/show_bug.cgi?id=26856
39142
39143         * html/HTMLAnchorElement.cpp:
39144         (WebCore::HTMLAnchorElement::isMouseFocusable):
39145
39146 2009-10-29  Dan Bernstein  <mitz@apple.com>
39147
39148         Reviewed by Sam Weinig.
39149
39150         Complete the fix for hit-testing and selection highlighting in ligatures for the ATSUI
39151         code path.
39152
39153         * platform/graphics/mac/ComplexTextController.h: Added m_ltr member to ComplexTextRun.
39154         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
39155         (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Skip over deleted
39156         glyphs, but update indexes and advances correctly.
39157         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Initialize m_ltr.
39158
39159 2009-10-29  Enrica Casucci  <enrica@apple.com>
39160
39161         Reviewed by Darin Adler.
39162
39163         REGRESSION(3.2.3 - 4.0.2): Message composing: when I undo a color change to text in Mail, undo/redo behaves strangely
39164         <rdar://problem/7115041>
39165         https://bugs.webkit.org/show_bug.cgi?id=30892
39166
39167         This problem shows in any scenario where it is necessary to split a text
39168         node to apply a style. SplitElementCommand and WrapContentsInDummySpanCommand both
39169         have member variables initialized in the constructor to keep reference to elements
39170         they need to operate upon. These reference are not updated when reapplying the command.
39171         For this reason it is necessary to guarantee that unapply doesn not delete the references
39172         and that these commands implement doReapply to correctly reuse the existing
39173         elements.
39174
39175         Test: editing/undo/redo-style.html
39176
39177         * editing/SplitElementCommand.cpp:
39178         (WebCore::SplitElementCommand::executeApply): Added.
39179         (WebCore::SplitElementCommand::doApply): Modified to call executeApply. 
39180         (WebCore::SplitElementCommand::doUnapply): Doesn't release m_element1.
39181         (WebCore::SplitElementCommand::doReapply): Added.
39182         * editing/SplitElementCommand.h: Added doReapply and executeApply.
39183         * editing/WrapContentsInDummySpanCommand.cpp:
39184         (WebCore::WrapContentsInDummySpanCommand::executeApply): Added.
39185         (WebCore::WrapContentsInDummySpanCommand::doApply): Modified to call executeApply.
39186         (WebCore::WrapContentsInDummySpanCommand::doUnapply): Doesn't release m_dummySpan.
39187         (WebCore::WrapContentsInDummySpanCommand::doReapply): Added.
39188         * editing/WrapContentsInDummySpanCommand.h: Added doReapply and executeApply.
39189
39190 2009-10-29  Jeremy Orlow  <jorlow@chromium.org>
39191
39192         Reviewed by Darin Fisher.
39193
39194         DOM Storage's condition variable needs to handle spurious wakeups
39195         https://bugs.webkit.org/show_bug.cgi?id=30920
39196
39197         Add a boolean to keep track of whether it's been terminated.  Clean
39198         up the locking code a tiny bit to make it easier to read.  There's
39199         no way to reproduce this reliably in a LayoutTest.
39200
39201         * storage/LocalStorageThread.cpp:
39202         (WebCore::LocalStorageThread::LocalStorageThread):
39203         (WebCore::LocalStorageThread::terminate):
39204         (WebCore::LocalStorageThread::performTerminate):
39205         * storage/LocalStorageThread.h:
39206
39207 2009-10-29  Dimitri Glazkov  <dglazkov@chromium.org>
39208
39209         Unreviewed, build fix.
39210
39211         [Chromium] Include ComplextTextController into Chromium Mac project.
39212
39213         * WebCore.gyp/WebCore.gyp: Added include rule for ComplextText* files.
39214
39215 2009-10-29  Timothy Hatcher  <timothy@apple.com>
39216
39217         Fix tabbing through element attributes in the Web Insector.
39218
39219         https://bugs.webkit.org/show_bug.cgi?id=30429
39220
39221         Reviewed by Pavel Feldman.
39222
39223         * inspector/front-end/ElementsTreeOutline.js:
39224         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): Don't call _updateTitle,
39225         it is called for us when removeAttribute succeeds in the back-end.
39226         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted): Ditto except for nodeValue.
39227         (WebInspector.ElementsTreeElement.prototype._editingCancelled): Don't call _updateTitle, editing code reverts.
39228         (WebInspector.ElementsTreeElement.prototype._updateTitle): Return early if we are editing.
39229
39230 2009-10-29  Dan Bernstein  <mitz@apple.com>
39231
39232         Reviewed by Sam Weinig.
39233
39234         Problem editing or selecting text containing ligatures
39235         https://bugs.webkit.org/show_bug.cgi?id=30025
39236
39237         Test: platform/mac/fast/text/ligature-subdivision.html
39238
39239         * platform/graphics/mac/ComplexTextController.cpp:
39240         (WebCore::ComplexTextController::ComplexTextController): Initialize
39241         m_characterInCurrentGlyph.
39242         (WebCore::ComplexTextController::offsetForPosition): If the hit glyph spans multiple
39243         characters, compute the hit character based on dividing the glyph’s total advance into
39244         a number of equal intervals equal to the number of characters and assigning the hit to the
39245         character corresponding to the hit interval.
39246         (WebCore::ComplexTextController::advance): If the final offset occurs mid-glyph, advance
39247         by a fraction of the glyph’s total advance.
39248         * platform/graphics/mac/ComplexTextController.h: Added m_characterInCurrentGlyph.
39249
39250 2009-10-29  Brian Weinstein  <bweinstein@apple.com>
39251
39252         Reviewed by Timothy Hatcher.
39253
39254         Fixes <http://webkit.org/b/30918>.
39255         Web Inspector: Datagrid Rows on Windows not properly aligned.
39256         
39257         Use line-height for the table rows to make sure the height
39258         of our text and the height of the table rows are consistent.
39259
39260         * inspector/front-end/inspector.css:
39261
39262 2009-10-29  Adam Barth  <abarth@webkit.org>
39263
39264         No review, rolling out r50296.
39265         http://trac.webkit.org/changeset/50296
39266
39267         * bindings/v8/V8IsolatedWorld.cpp:
39268         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
39269         * bindings/v8/V8Proxy.cpp:
39270         (WebCore::V8Proxy::evaluateInIsolatedWorld):
39271         (WebCore::V8Proxy::evaluateInNewContext):
39272
39273 2009-10-29  Adam Barth  <abarth@webkit.org>
39274
39275         Reviewed by Dimitri Glazkov.
39276
39277         [V8] Out-of-memory crash in isolated worlds
39278         https://bugs.webkit.org/show_bug.cgi?id=30906
39279
39280         We need to handle the fact that creating a V8:Context might fail.  I
39281         don't know how to test this change because creating a context usually
39282         only fails when V8 decides it's using too much memory.
39283
39284         * bindings/v8/V8IsolatedWorld.cpp:
39285         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
39286         * bindings/v8/V8Proxy.cpp:
39287         (WebCore::V8Proxy::evaluateInIsolatedWorld):
39288         (WebCore::V8Proxy::evaluateInNewContext):
39289
39290 2009-10-29  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
39291
39292         Reviewed by Xan Lopez.
39293
39294         Remove build warning introduced by r50284.
39295
39296         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
39297         (WebCore::MediaPlayerPrivate::duration):
39298
39299 2009-10-29  Dimitri Glazkov  <dglazkov@chromium.org>
39300
39301         Reviewed by Adam Barth.
39302
39303         [V8] Remove random crashes by removing retrieval of V8 context during garbage collection.
39304
39305         https://bugs.webkit.org/show_bug.cgi?id=30919
39306
39307         Unfortunately, I haven't been able to trigger this crash explicitly, so no test :(.
39308
39309         * bindings/v8/V8DOMWrapper.cpp:
39310         (WebCore::V8DOMWrapper::jsWrapperForDOMObject): Added new "assume-it's-there" getter.
39311         * bindings/v8/V8DOMWrapper.h: Added getter decl.
39312         * bindings/v8/V8GCController.cpp:
39313         (WebCore::GCPrologueVisitor::visitDOMWrapper): Changed to use explicit getter.
39314
39315 2009-10-29  Dimitri Glazkov  <dglazkov@chromium.org>
39316
39317         Unreviewed, build fix.
39318
39319         [Chromium] Adjust the project files to sync up with
39320         http://trac.webkit.org/changeset/50259
39321
39322         * WebCore.gypi: Renamed and added files.
39323
39324 2009-10-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
39325
39326         Reviewed by Tor Arne Vestbø.
39327
39328         [Qt] Implement DELETE HTTP method for XmlHttpRequest
39329         https://bugs.webkit.org/show_bug.cgi?id=30894
39330
39331         No new tests as this functionality is already tested by the 
39332         xmlhttprequest LayoutTests. As this patch depends on an unreleased
39333         version of the dependent QtNetwork library and the tests will be
39334         enabled later once the dependent library is released (and the
39335         buildbot is updated).
39336
39337         * platform/network/qt/QNetworkReplyHandler.cpp:
39338         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
39339         (WebCore::QNetworkReplyHandler::start):
39340
39341 2009-10-29  Brian Weinstein  <bweinstein@apple.com>
39342
39343         Reviewed by Timothy Hatcher.
39344
39345         Part of <http://webkit.org/b/30483>.
39346         Web Inspector: Always show the Local and Session Storage Views.
39347         
39348         Even if the length of the DOM Storage entry array is 0, still
39349         generate the Datagrid because users can add things storage items
39350         through the UI, so we should allow them to even if there isn't
39351         anything there currently.
39352
39353         * English.lproj/localizedStrings.js: Removed "This Storage is Empty".
39354         * inspector/front-end/DOMStorageItemsView.js:
39355         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
39356
39357 2009-10-29  Pavel Feldman  <pfeldman@chromium.org>
39358
39359         Reviewed by Timothy Hatcher.
39360
39361         Web Inspector: Add TimelinePanel into the panels enum.
39362
39363         https://bugs.webkit.org/show_bug.cgi?id=30915
39364
39365         * inspector/InspectorController.cpp:
39366         (WebCore::InspectorController::specialPanelForJSName):
39367         * inspector/InspectorController.h:
39368         (WebCore::InspectorController::):
39369
39370 2009-10-29  Xan Lopez  <xlopez@igalia.com>
39371
39372         Reviewed by Oliver Hunt.
39373
39374         [GTK] Threading problems with some of the tests
39375         https://bugs.webkit.org/show_bug.cgi?id=30814
39376
39377         Create strings shared among threads with crossThreadString
39378         constructor method.
39379
39380         * storage/Database.cpp:
39381         (WebCore::Database::Database):
39382
39383 2009-10-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
39384
39385         Reviewed by Gustavo Noronha.
39386
39387         https://bugs.webkit.org/show_bug.cgi?id=30308
39388         
39389         Add support for ARGB videos.
39390
39391         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
39392         (WebCore::MediaPlayerPrivate::paint):
39393         Create the Cairo image surface for ARGB32 or RGB24
39394         depending on the buffer's caps.
39395         
39396         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
39397         (webkit_video_sink_timeout_func):
39398         (webkit_video_sink_render):
39399         Handle ARGB video and convert GStreamer's ARGB to
39400         Cairo's for displaying.
39401
39402 2009-10-29  Anton Muhin  <antonm@chromium.org>
39403
39404         Reviewed by David Levin.
39405
39406         [chromium] expose a method to access memory usage information in ChromiumBridge
39407         Declare a static method to be implemented by http://codereview.chromium.org/332010/
39408         https://bugs.webkit.org/show_bug.cgi?id=30829
39409
39410         * platform/chromium/ChromiumBridge.h:
39411
39412 2009-10-29  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
39413
39414         Reviewed by Xan Lopez.
39415
39416         https://bugs.webkit.org/show_bug.cgi?id=25679
39417         [Gtk] Improve accessibility of focusable lists
39418
39419         Implements the AtkSelection interface and enables the corresponding
39420         (and expected) object:selection-changed event.
39421
39422         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
39423         (optionFromList):
39424         (optionFromSelection):
39425         (atk_selection_interface_init):
39426         (webkit_accessible_selection_add_selection):
39427         (webkit_accessible_selection_clear_selection):
39428         (webkit_accessible_selection_ref_selection):
39429         (webkit_accessible_selection_get_selection_count):
39430         (webkit_accessible_selection_is_child_selected):
39431         (webkit_accessible_selection_remove_selection):
39432         (webkit_accessible_selection_select_all_selection):
39433         (GetAtkInterfaceTypeFromWAIType):
39434         * accessibility/gtk/AXObjectCacheAtk.cpp:
39435         (AXObjectCache::postPlatformNotification):
39436
39437 2009-10-29  Jian Li  <jianli@chromium.org>
39438
39439         Reviewed by Darin Adler.
39440
39441         Bug 30655 - Only plain text should be copied to clipboard for TextArea.
39442         https://bugs.webkit.org/show_bug.cgi?id=30655
39443
39444         * editing/Editor.cpp:
39445         (WebCore::nodeIsInTextFormControl):
39446         (WebCore::Editor::cut):
39447         (WebCore::Editor::copy):
39448
39449 2009-10-29  Pavel Feldman  <pfeldman@chromium.org>
39450
39451         Reviewed by Timothy Hatcher.
39452
39453         Web Inspector: hide timeline for now - not yet ready.
39454
39455         https://bugs.webkit.org/show_bug.cgi?id=30912
39456
39457         * inspector/front-end/inspector.js:
39458         (WebInspector._createPanels):
39459
39460 2009-10-29  Pavel Feldman  <pfeldman@chromium.org>
39461
39462         Not reviewed: deploy Web Inspector's images in WebCore.gypi.
39463
39464         * WebCore.gypi:
39465
39466 2009-10-29  Pavel Feldman  <pfeldman@chromium.org>
39467
39468         Reviewed by Timothy Hatcher.
39469
39470         Web Inspector: get rid of timelineProfilerEnabled method.
39471
39472         https://bugs.webkit.org/show_bug.cgi?id=30911
39473
39474         * inspector/InspectorBackend.cpp:
39475         * inspector/InspectorBackend.h:
39476         * inspector/InspectorBackend.idl:
39477         * inspector/InspectorController.cpp:
39478         (WebCore::InspectorController::setWindowVisible):
39479         * inspector/InspectorController.h:
39480         * inspector/front-end/TimelinePanel.js:
39481         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
39482
39483 2009-10-29  Pavel Feldman  <pfeldman@chromium.org>
39484
39485         Reviewed by Darin Fisher.
39486
39487         Create stub methods for raw cookies access in ChromiumBridge.h
39488
39489         https://bugs.webkit.org/show_bug.cgi?id=30910
39490
39491         * platform/chromium/ChromiumBridge.h:
39492
39493 2009-10-29  Zoltan Horvath  <zoltan@webkit.org>
39494
39495         Reviewed by Darin Adler.
39496
39497         Allow custom memory allocation control for WebCore's RareData
39498         https://bugs.webkit.org/show_bug.cgi?id=30858
39499
39500         Inherits RareData struct from Noncopyable because it is
39501         instantiated by 'new' in WebCore/css/CSSSelector.h:259 and 
39502         it is no need to be copyable.
39503
39504         * css/CSSSelector.h:
39505
39506 2009-10-29  Zoltan Horvath  <zoltan@webkit.org>
39507
39508         Reviewed by Darin Adler.
39509
39510         Allow custom memory allocation control for WebCore's ShorthandScope
39511         https://bugs.webkit.org/show_bug.cgi?id=30859
39512
39513         Inherits ShorthandScope class from FastAllocBase because it is 
39514         instantiated by 'new' in WebCore/css/CSSParser.cpp:902 and 
39515         it is no need to be copyable.        
39516
39517         * css/CSSParser.h:
39518
39519 2009-10-29  Zoltan Horvath  <zoltan@webkit.org>
39520
39521         Reviewed by Darin Adler.
39522
39523         Allow custom memory allocation control for WebCore's AXObjectCache
39524         https://bugs.webkit.org/show_bug.cgi?id=30848
39525
39526         Inherits AXObjectCache class from FastAllocBase because it is
39527         instantiated by 'new' in WebCore/dom/Document.cpp:1537 and                                
39528         it is no need to be copyable.
39529
39530         * accessibility/AXObjectCache.h:
39531
39532 2009-10-28  Adam Barth  <abarth@webkit.org>
39533
39534         Reviewed by Eric Seidel.
39535
39536         Don't run JavaScript URLs in view source mode
39537         https://bugs.webkit.org/show_bug.cgi?id=30881
39538
39539         Just say no.
39540
39541         Test: http/tests/security/view-source-no-javascript-url.html
39542
39543         * bindings/ScriptControllerBase.cpp:
39544         (WebCore::ScriptController::executeIfJavaScriptURL):
39545
39546 2009-10-29  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
39547
39548         Unreviewed. Fixes style problems pointed out by Evan Martin.
39549
39550         * platform/gtk/Language.cpp:
39551         (WebCore::defaultLanguage):
39552
39553 2009-10-29  Dan Bernstein  <mitz@apple.com>
39554
39555         Rubber-stamped by Mark Rowe.
39556
39557         64-bit Leopard build fix after r50259
39558         
39559         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
39560         Declared ATSUTextInserted in 64-bit.
39561         (WebCore::fontHasMirroringInfo): Use %d format and cast to int.
39562         (WebCore::disableLigatures): Ditto.
39563         (WebCore::initializeATSUStyle): Ditto.
39564         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Ditto.
39565
39566 2009-10-29  Dan Bernstein  <mitz@apple.com>
39567
39568         Tiger build fix after r50259
39569
39570         * platform/graphics/mac/ComplexTextController.h:
39571         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
39572
39573 2009-10-29  Dan Bernstein  <mitz@apple.com>
39574
39575         Attempted Tiger build fix after r50259
39576
39577         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
39578
39579 2009-10-28  Steve Falkenburg  <sfalken@apple.com>
39580
39581         Rubber stamped by Mark Rowe.
39582
39583         https://bugs.webkit.org/show_bug.cgi?id=30899
39584         WebKit fails to build release on 32-bit Windows systems
39585
39586         * WebCore.vcproj/WebCore.vcproj: Excluded files from project.
39587         * bindings/js/JSBindingsAllInOne.cpp: Added.
39588
39589 2009-10-28  Dan Bernstein  <mitz@apple.com>
39590
39591         Reviewed by Jon Honeycutt.
39592
39593         Fixed typos in color names.
39594
39595         * inspector/front-end/Color.js:
39596
39597 2009-10-28  Dan Bernstein  <mitz@apple.com>
39598
39599         Reviewed by Sam Weinig.
39600
39601         Share code between the ATSUI- and Core Text-based Font implementations by doing the
39602         following:
39603         - Generalize CoreTextController as ComplexTextController, keeping the Core Text-specific
39604           parts in ComplexTextControllerCoreText.cpp.
39605         - Generalize FontMacCoreText as FontComplexTextMac using ComplexTextController
39606         - Implement ATSUI-specific parts of ComplexTextController in ComplexTextControllerATSUI.
39607         - Remove FontMacATSUI.
39608
39609         * WebCore.xcodeproj/project.pbxproj: Removed CoreTextController.{cpp,h}, FontMacATSUI.mm,
39610         and FontMacCoreText.cpp, and added ComplexTextController.{cpp,h},
39611         ComplexTextControllerATSUI.cpp, ComplexTextControllerCoreText.cpp, and
39612         FontComplexTextMac.cpp.
39613
39614         * platform/graphics/mac/ComplexTextController.cpp: Copied from CoreTextController.cpp and
39615         kept the non-Core Text-specific bits.
39616         (WebCore::ComplexTextController::ComplexTextController): Updated for renames, including
39617         its own.
39618         (WebCore::ComplexTextController::offsetForPosition): Updated for renames and for
39619         m_complexTextRuns holding references instead of objects.
39620         (WebCore::ComplexTextController::collectComplexTextRuns): Updated for renames, including
39621         its own.
39622         (WebCore::ComplexTextController::advance): Updated for renames.
39623         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Updated for renames and for
39624         m_complexTextRuns holding references instead of objects, and changed to use the glyphs()
39625         and advances() accessors.
39626
39627         * platform/graphics/mac/ComplexTextController.h: Copied from CoreTextController.h and
39628         renamed CoreTextController to ComplexTextController and CoreTextRun to ComplexTextRun. Made
39629         the latter RefCounted, added ATSUI-specific members to it, and made some other members
39630         Core Text-specific. Renamed m_coreTextRuns to m_complexTextRuns and made it hold references
39631         rather than objects.
39632         (WebCore::ComplexTextController::ComplexTextRun::create):
39633         (WebCore::ComplexTextController::ComplexTextRun::glyphs):
39634         (WebCore::ComplexTextController::ComplexTextRun::advances):
39635
39636         * platform/graphics/mac/ComplexTextControllerATSUI.cpp: Added. Includes ATSUI-specific
39637         parts of the ComplexTextController implementation. 
39638         (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): This ATSUI
39639         callback populates the ComplexTextRun’s glyphs, advances and indices vectors. It is invoked
39640         when the ComplexTextRun constructor calls ATSUGetGlyphBounds().
39641         (WebCore::isArabicLamWithAlefLigature): Helper function, copied from FontMacATSUI.mm.
39642         (WebCore::shapeArabic): Helper function, adapted from FontMacATSUI.mm.
39643         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Sets up the
39644         ATSUTextLayout, substituting the text buffer if necessary for things like shaping Arabic,
39645         mirroring glyphs or directionality overrides, then calls ATSUGetGlyphBounds() in order to
39646         get the glyphs, advances and indices vectors populated.
39647         (WebCore::fontHasMirroringInfo): Helper function, copied from FontMacATSUI.mm.
39648         (WebCore::disableLigatures): Ditto.
39649         (WebCore::initializeATSUStyle): Ditto, somewhat cleaned up and simplified.
39650         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Constructs
39651         ComplexTextRuns, either missing-glyphs ones or ATSUTextLayout-based ones.
39652
39653         * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Copied from
39654         CoreTextController.cpp and kept the Core Text-specific bits.
39655         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Updated for renames,
39656         including its own, and moved the code to initialize m_glyphs and m_advances here. Previously
39657         this was done in adjustGlyphsAndAdvances().
39658         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Updated for renames,
39659         including its own.
39660         * platform/graphics/mac/CoreTextController.cpp: Removed.
39661         * platform/graphics/mac/CoreTextController.h: Removed.
39662         * platform/graphics/mac/FontComplexTextMac.cpp: Renamed FontMacCoreText.cpp to this.
39663         (WebCore::Font::selectionRectForComplexText): Changed to use ComplexTextController instead
39664         of CoreTextController.
39665         (WebCore::Font::drawComplexText): Ditto.
39666         (WebCore::Font::floatWidthForComplexText): Ditto.
39667         (WebCore::Font::offsetForPositionForComplexText): Ditto.
39668         * platform/graphics/mac/FontMacATSUI.mm: Removed.
39669         * platform/graphics/mac/FontMacCoreText.cpp: Removed.
39670
39671 2009-10-27  Chris Fleizach  <cfleizach@apple.com>
39672
39673         Reviewed by Darin Adler.
39674
39675         WAI-ARIA: add support for 'option' role
39676         https://bugs.webkit.org/show_bug.cgi?id=30843
39677
39678         Test: accessibility/aria-option-role.html
39679
39680         * accessibility/AccessibilityListBoxOption.h:
39681         (WebCore::AccessibilityListBoxOption::canHaveChildren):
39682         * accessibility/AccessibilityRenderObject.cpp:
39683         (WebCore::RoleEntry::):
39684         (WebCore::AccessibilityRenderObject::canHaveChildren):
39685
39686 2009-10-28  Jens Alfke  <snej@chromium.org>
39687
39688         Reviewed by Eric Seidel.
39689
39690         Fix GCC compiler warnings in WebCore, and enable -Wall and -Werror for Chromium build.
39691         https://bugs.webkit.org/show_bug.cgi?id=30716
39692
39693         * WebCore.gyp/WebCore.gyp:  Enable "chromium_code" flag, just on Mac build for now.
39694         * accessibility/AccessibilityRenderObject.cpp:
39695         (WebCore::createARIARoleMap):  Fix struct visibiity warning.
39696         * bindings/v8/ScriptCallStack.h:  Fix out-of-order member initialization warning.
39697         * bindings/v8/V8Collection.h:
39698         (WebCore::getV8Object):  Function in header should not be 'static' (fixes unused-static warning.)
39699         * bindings/v8/V8DOMWrapper.cpp:
39700         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):  Fix signed/unsigned comparison warning.
39701         * bindings/v8/V8GCController.cpp:
39702         (WebCore::ObjectGrouperVisitor::applyGrouping):  Fix unused-variable warning.
39703         * css/CSSPrimitiveValueMappings.h:
39704         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):  Enable ListButtonPart case to avoid
39705             warning about missing cases in 'switch' statement.
39706         * editing/EditorCommand.cpp:
39707         (WebCore::createCommandMap):  Fix struct visibiity warning.
39708         * platform/graphics/skia/PlatformContextSkia.cpp:
39709         (PlatformContextSkia::State::State):  Fix out-of-order member initialization warning.
39710         * rendering/RenderMediaControlsChromium.cpp:
39711         (WebCore::RenderMediaControlsChromium::shouldRenderMediaControlPart):  Add empty 'default' case in
39712             'switch' statement to avoid missing-case warning.
39713         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):  Ditto.
39714         * xml/XPathFunctions.cpp:
39715         (WebCore::XPath::createFunctionMap):  Fix struct visibiity warning.
39716
39717 2009-10-29  Adam Barth  <abarth@webkit.org>
39718
39719         Reviewed by Darin Adler.
39720
39721         REGRESSION: crashes in WebCore::RedirectScheduler::timerFired(WebCore::Timer<WebCore::RedirectScheduler>*)
39722         https://bugs.webkit.org/show_bug.cgi?id=30839
39723
39724         Added null check for the case when the frame is detached from the page.
39725
39726         * loader/RedirectScheduler.cpp:
39727         (WebCore::RedirectScheduler::timerFired):
39728
39729 2009-10-28  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
39730
39731         Reviewed by Xan Lopez.
39732
39733         https://bugs.webkit.org/show_bug.cgi?id=30817
39734         Use parentObjectUnignored instead of parentObject in webkit_accessible_get_parent
39735
39736         Also removes the hack I had originally added to solve bug 25411, because
39737         the fix here is what I should have done in the first place.
39738
39739         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
39740         (webkit_accessible_get_parent):
39741
39742 2009-10-28  Dmitry Titov  <dimich@chromium.org>
39743
39744         Reviewed by David Levin.
39745
39746         https://bugs.webkit.org/show_bug.cgi?id=30805
39747         Add MessageQueue::removeIf(Predicate&) to remove certain tasks without pulling them from the queue.
39748         Existing Database tests cover this, no change in functionality.
39749
39750         * storage/DatabaseThread.cpp:
39751         (WebCore::SameDatabasePredicate::SameDatabasePredicate): Added predicate that flags the tasks belonging to a specified database.
39752         (WebCore::SameDatabasePredicate::operator()):
39753         (WebCore::DatabaseThread::unscheduleDatabaseTasks): changed to use the new removeIf method.
39754
39755 2009-10-28  Pavel Feldman  <pfeldman@chromium.org>
39756
39757         Reviewed by Timothy Hatcher.
39758
39759         Web Inspector: Glue subsequent timeline records with same category
39760         and title together.
39761
39762         https://bugs.webkit.org/show_bug.cgi?id=30885
39763
39764         * English.lproj/localizedStrings.js:
39765         * inspector/front-end/TimelinePanel.js:
39766         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
39767         (WebInspector.TimelinePanel.prototype._formatRecord):
39768         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
39769         (WebInspector.TimelineRecordTreeElement.prototype.refresh):
39770
39771 2009-10-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
39772
39773         Reviewed by Xan Lopez.
39774
39775         [GTK] Fails new test fast/js/navigator-language.html
39776         https://bugs.webkit.org/show_bug.cgi?id=30440
39777
39778         Reimplement WebCore::defaultLanguage to account for changes in
39779         locale done by setLocale.
39780
39781         Already existing test: fast/js/navigator-language.html
39782
39783         * platform/gtk/Language.cpp:
39784         (WebCore::defaultLanguage):
39785
39786 2009-10-28  Eric Carlson  <eric.carlson@apple.com>
39787
39788         Reviewed by Simon Fraser.
39789
39790         <rdar://problem/7303145> 
39791         Can't exit full screen mode or restart movie after pressing command -R.
39792
39793         * html/HTMLMediaElement.cpp:
39794         (WebCore::HTMLMediaElement::removedFromDocument):
39795         (WebCore::HTMLMediaElement::documentWillBecomeInactive):
39796             Exit from fullscreen if necessary.
39797         * html/HTMLMediaElement.h:
39798
39799 2009-10-28  Alexey Proskuryakov  <ap@apple.com>
39800
39801         Unreviewed - a trivial fix to get Windows bots running.
39802
39803         https://bugs.webkit.org/show_bug.cgi?id=30841
39804         <rdar://problem/7342730> WebKit should not pass Referer header through a redirect to a non-secure site
39805
39806         * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::setHeaderFields): Don't try to
39807         access empty vector's data.
39808
39809 2009-10-28  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
39810
39811         Reviewed by Xan Lopez.
39812
39813         https://bugs.webkit.org/show_bug.cgi?id=25897
39814         [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries
39815
39816         Remove the extraneous object of ROLE_PANEL.
39817
39818         * accessibility/gtk/AccessibilityObjectAtk.cpp:
39819         (AccessibilityObject::accessibilityPlatformIncludesObject):
39820
39821 2009-10-28  Jonathan Dixon  <joth@chromium.org>
39822
39823         Reviewed by Eric Seidel.
39824
39825         Bug 30547: (Chromium) searchbox not rendered properly due to the css property -webkit-border-radius
39826         https://bugs.webkit.org/show_bug.cgi?id=30547
39827
39828         Test: fast/css/text-input-with-webkit-border-radius.html
39829
39830         * rendering/RenderThemeChromiumWin.cpp:
39831         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
39832           Implemented rounded border rendering in Chromium Windows theme renderer.
39833
39834 2009-10-28  Pavel Feldman  <pfeldman@chromium.org>
39835
39836         Reviewed by Timothy Hatcher.
39837
39838         Web Inspector: Pull items collections from resources panel and
39839         timeline panel into AbstractTimelinePanel.
39840
39841         https://bugs.webkit.org/show_bug.cgi?id=30875
39842
39843         * inspector/front-end/AbstractTimelinePanel.js:
39844         (WebInspector.AbstractTimelinePanel):
39845         (WebInspector.AbstractTimelinePanel.prototype.populateSidebar):
39846         (WebInspector.AbstractTimelinePanel.prototype.createItemTreeElement):
39847         (WebInspector.AbstractTimelinePanel.prototype.createItemGraph):
39848         (WebInspector.AbstractTimelinePanel.prototype._showCategory):
39849         (WebInspector.AbstractTimelinePanel.prototype._hideCategory):
39850         (WebInspector.AbstractTimelinePanel.prototype.filter):
39851         (WebInspector.AbstractTimelinePanel.prototype._createGraph):
39852         (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth):
39853         (WebInspector.AbstractTimelinePanel.prototype.refresh):
39854         (WebInspector.AbstractTimelinePanel.prototype.reset):
39855         (WebInspector.AbstractTimelinePanel.prototype.get calculator):
39856         (WebInspector.AbstractTimelinePanel.prototype.set calculator):
39857         (WebInspector.AbstractTimelinePanel.prototype.addItem):
39858         (WebInspector.AbstractTimelinePanel.prototype.removeItem):
39859         (WebInspector.AbstractTimelinePanel.prototype.refreshItem):
39860         (WebInspector.AbstractTimelinePanel.prototype.revealAndSelectItem):
39861         (WebInspector.AbstractTimelinePanel.prototype.sortItems):
39862         (WebInspector.AbstractTimelinePanel.prototype.adjustScrollPosition):
39863         (WebInspector.AbstractTimelineCategory):
39864         (WebInspector.AbstractTimelineCategory.prototype.toString):
39865         * inspector/front-end/ResourceCategory.js:
39866         (WebInspector.ResourceCategory):
39867         * inspector/front-end/ResourcesPanel.js:
39868         (WebInspector.ResourcesPanel):
39869         (WebInspector.ResourcesPanel.prototype.createItemTreeElement):
39870         (WebInspector.ResourcesPanel.prototype.createItemGraph):
39871         (WebInspector.ResourcesPanel.prototype.isCategoryVisible):
39872         (WebInspector.ResourcesPanel.prototype.populateSidebar):
39873         (WebInspector.ResourcesPanel.prototype.get searchableViews):
39874         (WebInspector.ResourcesPanel.prototype.get searchResultsSortFunction.sortFuction):
39875         (WebInspector.ResourcesPanel.prototype.get searchResultsSortFunction):
39876         (WebInspector.ResourcesPanel.prototype.searchMatchFound):
39877         (WebInspector.ResourcesPanel.prototype.searchCanceled):
39878         (WebInspector.ResourcesPanel.prototype.performSearch):
39879         (WebInspector.ResourcesPanel.prototype.refresh):
39880         (WebInspector.ResourcesPanel.prototype.reset):
39881         (WebInspector.ResourcesPanel.prototype.removeResource):
39882         (WebInspector.ResourcesPanel.prototype.addMessageToResource):
39883         (WebInspector.ResourcesPanel.prototype.clearMessages):
39884         (WebInspector.ResourcesPanel.prototype.refreshResource):
39885         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
39886         (WebInspector.ResourcesPanel.prototype.showResource):
39887         (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded):
39888         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
39889         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
39890         (WebInspector.ResourcesPanel.prototype.get _resources):
39891         (WebInspector.ResourceTimeCalculator.prototype._upperBound):
39892         * inspector/front-end/TimelinePanel.js:
39893         (WebInspector.TimelinePanel):
39894         (WebInspector.TimelinePanel.prototype.get categories):
39895         (WebInspector.TimelinePanel.prototype.populateSidebar):
39896         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
39897         (WebInspector.TimelinePanel.prototype.createItemTreeElement):
39898         (WebInspector.TimelinePanel.prototype.createItemGraph):
39899         (WebInspector.TimelinePanel.prototype._formatRecord):
39900         (WebInspector.TimelineCategory):
39901         * inspector/front-end/inspector.css:
39902         * inspector/front-end/inspector.html:
39903
39904 2009-10-28  Kelly Norton  <knorton@google.com>
39905
39906         Reviewed by Pavel Feldman.
39907
39908         Resets InspectorFrontend in InspectorTimelineAgent instead of removing it so
39909         that it remains active on refreshs and page transitions.
39910         https://bugs.webkit.org/show_bug.cgi?id=30874
39911
39912         * inspector/InspectorController.cpp:
39913         (WebCore::InspectorController::setFrontendProxyObject):
39914         * inspector/InspectorTimelineAgent.cpp:
39915         (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
39916         * inspector/InspectorTimelineAgent.h:
39917
39918 2009-10-27  Shinichiro Hamaji  <hamaji@chromium.org>
39919
39920         Reviewed by Darin Adler.
39921
39922         Provide a way to get counter values with layoutTestContoller
39923         https://bugs.webkit.org/show_bug.cgi?id=30555
39924
39925         Expose WebCore::counterValueForElement as a WebCore API.
39926
39927         * WebCore.base.exp:
39928         * rendering/RenderTreeAsText.cpp:
39929         (WebCore::writeCounterValuesFromChildren):
39930         (WebCore::counterValueForElement):
39931         * rendering/RenderTreeAsText.h:
39932
39933 2009-10-28  Nate Chapin  <japhet@chromium.org>
39934
39935         Unreviewed, Chromium build fix for r50225.
39936
39937         * loader/FrameLoader.cpp:
39938         (WebCore::FrameLoader::defaultObjectContentType):
39939
39940 2009-10-28  Eric Z. Ayers  <zundel@google.com>
39941
39942         Reviewed by Pavel Feldman.
39943
39944         Adds InspectorTimelineAgent  instrumentation for encountering a
39945         <SCRIPT> tag when parsing an HTML document. 
39946
39947         https://bugs.webkit.org/show_bug.cgi?id=30861
39948
39949         * bindings/js/ScriptSourceCode.h:
39950         (WebCore::ScriptSourceCode::ScriptSourceCode):
39951         (WebCore::ScriptSourceCode::startLine):
39952         (WebCore::ScriptSourceCode::url):
39953         * html/HTMLTokenizer.cpp:
39954         (WebCore::HTMLTokenizer::scriptHandler):
39955         (WebCore::HTMLTokenizer::scriptExecution):
39956         * inspector/InspectorTimelineAgent.cpp:
39957         (WebCore::InspectorTimelineAgent::willLoadXHR):
39958         (WebCore::InspectorTimelineAgent::willScriptTag):
39959         (WebCore::InspectorTimelineAgent::didScriptTag):
39960         * inspector/InspectorTimelineAgent.h:
39961         (WebCore::):
39962         * inspector/TimelineRecordFactory.cpp:
39963         (WebCore::TimelineRecordFactory::createScriptTagTimelineRecord):
39964         * inspector/TimelineRecordFactory.h:
39965         * inspector/front-end/TimelineAgent.js:
39966
39967 2009-10-28  Steve Block  <steveblock@google.com>
39968
39969         Reviewed by Darin Adler.
39970
39971         Makes sure that Geolocation watch IDs remain positive on overflow.
39972         https://bugs.webkit.org/show_bug.cgi?id=30122
39973
39974         No new tests possible.
39975
39976         * page/Geolocation.cpp: Modified.
39977         (WebCore::Geolocation::watchPosition): Modified. Reset the watch ID to 1 on overflow.
39978
39979 2009-10-28  George Staikos  <george.staikos@torchmobile.com>
39980
39981         Attempt to fix the Mac debug build after 50225.
39982
39983         * loader/FrameLoader.cpp:
39984         (WebCore::FrameLoader::defaultObjectContentType):
39985
39986 2009-10-28  Alexey Proskuryakov  <ap@apple.com>
39987
39988         Reviewed by Darin Adler.
39989
39990         https://bugs.webkit.org/show_bug.cgi?id=30841
39991         <rdar://problem/7342730> WebKit should not pass Referer header through a redirect to a non-secure site
39992
39993         Tests: http/tests/ssl/referer-301.html
39994                http/tests/ssl/referer-303.html
39995
39996         * platform/network/mac/ResourceHandleMac.mm:
39997         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
39998         Remove Referer header if redirecting from https to another protocol.
39999
40000         * platform/network/ResourceRequestBase.cpp:
40001         (WebCore::ResourceRequestBase::clearHTTPReferrer): Update request counterparts, as it is
40002         always done when changing or adding header fields.
40003         (WebCore::ResourceRequestBase::clearHTTPOrigin): Ditto.
40004
40005         * platform/network/ResourceRequestBase.h: clearHTTPReferrer() and clearHTTPOrigin() are
40006         no longer inline, since they have non-trivial implementations.
40007
40008         * platform/network/mac/ResourceRequestMac.mm:
40009         (WebCore::ResourceRequest::doUpdatePlatformRequest): Fixed to synchronize header field removals.
40010         (WebCore::ResourceRequest::doUpdateResourceRequest): Ditto.
40011
40012         * platform/network/cf/ResourceHandleCFNet.cpp:
40013         (WebCore::willSendRequest):
40014         * platform/network/cf/ResourceRequestCFNet.cpp:
40015         (WebCore::setHeaderFields):
40016         (WebCore::ResourceRequest::doUpdatePlatformRequest):
40017         (WebCore::ResourceRequest::doUpdateResourceRequest):
40018         Match Mac changes.
40019         
40020 2009-10-28  Joe Mason  <jmason@rim.com>
40021
40022         Reviewed by Adam Treat.
40023
40024         Add FrameLoader::defaultObjectContentType, containing common code for
40025         implementing FrameLoaderClient::objectContentType.  (Currently the gtk
40026         and win ports have copied this code, and the qt port uses similar code
40027         with a few extra clauses.  Moving this to a utility function cuts down
40028         on copied code.)   This causes no behavioural change.
40029
40030         https://bugs.webkit.org/show_bug.cgi?id=30868
40031
40032         * loader/FrameLoader.cpp:
40033         (WebCore::FrameLoader::defaultObjectContentType):
40034         * loader/FrameLoader.h:
40035
40036 2009-10-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
40037
40038         Reviewed by Tor Arne Vestbø.
40039
40040         [Qt] QWebHistory::saveState() is inconsistent with the Qt API
40041         https://bugs.webkit.org/show_bug.cgi?id=30710
40042
40043         Enforce the versioning, by ignoring any version different
40044         from 1.
40045
40046         * history/qt/HistoryItemQt.cpp:
40047         (WebCore::HistoryItem::restoreState):
40048         (WebCore::HistoryItem::saveState):
40049
40050 2009-10-28  Pavel Feldman  <pfeldman@chromium.org>
40051
40052         Not reviewed: follow up fix to InspectorControllerStub.
40053         Define it after inspector.js due to namespace
40054
40055         https://bugs.webkit.org/show_bug.cgi?id=30866
40056
40057         * inspector/front-end/inspector.html:
40058
40059 2009-10-28  Pavel Feldman  <pfeldman@chromium.org>
40060
40061         Reviewed by Timothy Hatcher.
40062
40063         Web Inspector: Add InspectorController stub in order to
40064         support opening in standalone mode.
40065
40066         https://bugs.webkit.org/show_bug.cgi?id=30866
40067
40068         * WebCore.gypi:
40069         * WebCore.vcproj/WebCore.vcproj:
40070         * inspector/front-end/InspectorControllerStub.js: Added.
40071         (.WebInspector.InspectorControllerStub):
40072         (.WebInspector.InspectorControllerStub.prototype.wrapCallback):
40073         (.WebInspector.InspectorControllerStub.prototype.isWindowVisible):
40074         (.WebInspector.InspectorControllerStub.prototype.platform):
40075         (.WebInspector.InspectorControllerStub.prototype.closeWindow):
40076         (.WebInspector.InspectorControllerStub.prototype.attach):
40077         (.WebInspector.InspectorControllerStub.prototype.detach):
40078         (.WebInspector.InspectorControllerStub.prototype.storeLastActivePanel):
40079         (.WebInspector.InspectorControllerStub.prototype.clearMessages):
40080         (.WebInspector.InspectorControllerStub.prototype.searchingForNode):
40081         (.WebInspector.InspectorControllerStub.prototype.search):
40082         (.WebInspector.InspectorControllerStub.prototype.toggleNodeSearch):
40083         (.WebInspector.InspectorControllerStub.prototype.setAttachedWindowHeight):
40084         (.WebInspector.InspectorControllerStub.prototype.moveByUnrestricted):
40085         (.WebInspector.InspectorControllerStub.prototype.addResourceSourceToFrame):
40086         (.WebInspector.InspectorControllerStub.prototype.addSourceToFrame):
40087         (.WebInspector.InspectorControllerStub.prototype.getResourceDocumentNode):
40088         (.WebInspector.InspectorControllerStub.prototype.highlightDOMNode):
40089         (.WebInspector.InspectorControllerStub.prototype.hideDOMNodeHighlight):
40090         (.WebInspector.InspectorControllerStub.prototype.inspectedWindow):
40091         (.WebInspector.InspectorControllerStub.prototype.loaded):
40092         (.WebInspector.InspectorControllerStub.prototype.localizedStringsURL):
40093         (.WebInspector.InspectorControllerStub.prototype.windowUnloading):
40094         (.WebInspector.InspectorControllerStub.prototype.hiddenPanels):
40095         (.WebInspector.InspectorControllerStub.prototype.debuggerEnabled):
40096         (.WebInspector.InspectorControllerStub.prototype.enableResourceTracking):
40097         (.WebInspector.InspectorControllerStub.prototype.disableResourceTracking):
40098         (.WebInspector.InspectorControllerStub.prototype.resourceTrackingEnabled):
40099         (.WebInspector.InspectorControllerStub.prototype.enableDebugger):
40100         (.WebInspector.InspectorControllerStub.prototype.disableDebugger):
40101         (.WebInspector.InspectorControllerStub.prototype.addBreakpoint):
40102         (.WebInspector.InspectorControllerStub.prototype.removeBreakpoint):
40103         (.WebInspector.InspectorControllerStub.prototype.updateBreakpoint):
40104         (.WebInspector.InspectorControllerStub.prototype.pauseInDebugger):
40105         (.WebInspector.InspectorControllerStub.prototype.pauseOnExceptions):
40106         (.WebInspector.InspectorControllerStub.prototype.setPauseOnExceptions):
40107         (.WebInspector.InspectorControllerStub.prototype.resumeDebugger):
40108         (.WebInspector.InspectorControllerStub.prototype.profilerEnabled):
40109         (.WebInspector.InspectorControllerStub.prototype.enableProfiler):
40110         (.WebInspector.InspectorControllerStub.prototype.disableProfiler):
40111         (.WebInspector.InspectorControllerStub.prototype.startProfiling):
40112         (.WebInspector.InspectorControllerStub.prototype.stopProfiling):
40113         (.WebInspector.InspectorControllerStub.prototype.getProfileHeaders):
40114         (.WebInspector.InspectorControllerStub.prototype.getProfile):
40115         (.WebInspector.InspectorControllerStub.prototype.takeHeapSnapshot):
40116         (.WebInspector.InspectorControllerStub.prototype.databaseTableNames):
40117         (.WebInspector.InspectorControllerStub.prototype.stepIntoStatementInDebugger):
40118         (.WebInspector.InspectorControllerStub.prototype.stepOutOfFunctionInDebugger):
40119         (.WebInspector.InspectorControllerStub.prototype.stepOverStatementInDebugger):
40120         (.WebInspector.InspectorControllerStub.prototype.setSetting):
40121         (.WebInspector.InspectorControllerStub.prototype.dispatchOnInjectedScript):
40122         (.WebInspector.InspectorControllerStub.prototype.releaseWrapperObjectGroup):
40123         (.WebInspector.InspectorControllerStub.prototype.setting):
40124         * inspector/front-end/inspector.html:
40125         * inspector/front-end/inspector.js:
40126         (WebInspector.UIString):
40127
40128 2009-10-28  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
40129
40130         Reviewed by Jan Alonzo.
40131
40132         https://bugs.webkit.org/show_bug.cgi?id=25897
40133         [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries
40134
40135         Expands upon the new funtionality which allows platforms to indicate
40136         that a particular object should not be ignored, so that they can
40137         specify that an object should be ignored or that it should be left up
40138         to the default handling to decide.
40139
40140         * accessibility/AccessibilityObject.h:
40141         * accessibility/chromium/AccessibilityObjectChromium.cpp:
40142         * accessibility/gtk/AccessibilityObjectAtk.cpp:
40143         * accessibility/mac/AccessibilityObjectMac.mm:
40144         * accessibility/qt/AccessibilityObjectQt.cpp:
40145         * accessibility/win/AccessibilityObjectWin.cpp:
40146         * accessibility/wx/AccessibilityObjectWx.cpp:
40147         (AccessibilityObject::accessibilityPlatformIncludesObject):
40148         * accessibility/AccessibilityRenderObject.cpp:
40149         (AccessibilityRenderObject::accessibilityIsIgnored):
40150
40151
40152 2009-10-28  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
40153
40154         Reviewed by Jan Alonzo.
40155
40156         https://bugs.webkit.org/show_bug.cgi?id=25534
40157         [GTK] Objects of ROLE_TABLE should implement the accessible table interface
40158
40159         Expose the table summary as the accessible description because there is no summary object.
40160
40161         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
40162         (webkit_accessible_get_description):
40163
40164 2009-10-28  Steve Block  <steveblock@google.com>
40165
40166         Reviewed by Eric Seidel.
40167
40168         Adds ScriptController::intializeThreading(), with both JSC and V8 implementations.
40169         https://bugs.webkit.org/show_bug.cgi?id=30678
40170
40171         This new method is used from common code, rather than calling JSC::initializeThreading() (or the V8 equivalent) directly.
40172
40173         Build fix, no new tests required.
40174
40175         * bindings/js/ScriptController.cpp: Modified.
40176         (WebCore::ScriptController::initializeThreading): Added.
40177         * bindings/js/ScriptController.h: Modified. Adds ScriptController::initializeThreading().
40178         * bindings/v8/ScriptController.cpp: Modified.
40179         (WebCore::ScriptController::initializeThreading): Added.
40180         * bindings/v8/ScriptController.h: Modified. Adds ScriptController::initializeThreading().
40181         * loader/icon/IconDatabase.cpp: Modified.
40182         (WebCore::iconDatabase): Call ScriptController::initializeThreading(), rather than JSC::initializeThreading().
40183         * storage/Database.cpp: Modified.
40184         (WebCore::Database::Database): Call ScriptController::initializeThreading(), rather than JSC::initializeThreading().
40185
40186 2009-10-26  Holger Hans Peter Freyther  <zecke@selfish.org>
40187
40188         Reviewed by Darin Adler.
40189
40190         Document a feature of the m_liveDecodedResources list.
40191         https://bugs.webkit.org/show_bug.cgi?id=30209
40192
40193         The code made the assumption that the list is sorted by
40194         the m_lastDecodedAccessTime property of the CachedResource.
40195         The above is not true when CachedResource::setDecodedSize
40196         is called and the item is inserted the first time. In this
40197         case the m_lastDecodedAccessTime is still zero and the
40198         m_liveDecodedResources list becomes unsorted.
40199
40200         It is impossible that Cache::pruneLiveResources will
40201         stop to process the list too early due this feature and
40202         the alternatives of updating m_lastDecodedAccessTime in
40203         CachedResource::setDecodedSize or changing the insert
40204         to search the right position have a negative impact on
40205         performance. The best solution for now is to document
40206         this feature.
40207
40208         * loader/Cache.cpp:
40209         (WebCore::Cache::pruneLiveResources):
40210         * loader/CachedResource.cpp:
40211         (WebCore::CachedResource::setDecodedSize):
40212
40213 2009-10-28  Xan Lopez  <xlopez@igalia.com>
40214
40215         Reviewed by Jan Alonzo.
40216
40217         [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries
40218         https://bugs.webkit.org/show_bug.cgi?id=25897
40219
40220         Make text controls always implement the text interface, and the
40221         editable text interface when they are not read only. This is what
40222         ATK-users expect.
40223
40224         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
40225         (getInterfaceMaskFromObject):
40226
40227 2009-10-27  Holger Hans Peter Freyther  <zecke@selfish.org>
40228
40229         Reviewed by Simon Fraser.
40230
40231         Change HitTestResult methods to use (3d) transformation aware methods
40232         https://bugs.webkit.org/show_bug.cgi?id=27347
40233
40234         The current HitTestResult methods are not using the (3d)
40235         transformation aware routines. This can lead to an assertion
40236         SVGRenderBase::mapLocalToContainer method.
40237
40238         Change HitTestResult::imageRect to use the (3d) transformation
40239         aware RenderBox::absoluteContentQuad to avoid running into
40240         an assertion with SVG content.
40241
40242         Remove HitTestResult::boundingBox() as it is only used in
40243         two places and conceptually doesn't belong into a HitTest
40244         which is operating on points.
40245
40246         A classic test case is not possible as the methods are not excercised
40247         from within HTML/SVG but from the WebKit API Layer. A unittest
40248         for Qt/Gtk+/Mac would need to be written but Qt/Gtk+ currently
40249         do not support 3d transformations making it impossible to write
40250         a reliable test case and the Mac port is currently not doing
40251         unit testing.
40252
40253
40254         * rendering/HitTestResult.cpp: Remove boundingBox() method
40255         (WebCore::HitTestResult::imageRect): Use transformation aware method
40256         * rendering/HitTestResult.h: Remove boundingBox()
40257
40258 2009-10-26  Holger Hans Peter Freyther  <zecke@selfish.org>
40259
40260         Reviewed by Eric Seidel.
40261
40262         [Qt] Custom Cursor doesn't use hotspot.
40263         https://bugs.webkit.org/show_bug.cgi?id=30820
40264
40265         Cursors loaded from a QPixmap didn't specifiy the
40266         hotspot. Take the hotspot values from the mac
40267         implementation.
40268
40269         * platform/qt/CursorQt.cpp:
40270
40271 2009-10-27  Pavel Feldman  <pfeldman@chromium.org>
40272
40273         Reviewed by Timothy Hatcher.
40274
40275         Web Inspector: Initial revision of the Timeline grid.
40276
40277         https://bugs.webkit.org/show_bug.cgi?id=30834
40278
40279         * English.lproj/localizedStrings.js:
40280         * WebCore.gypi:
40281         * inspector/front-end/AbstractTimelinePanel.js:
40282         (WebInspector.AbstractTimelinePanel.prototype.populateSidebar):
40283         (WebInspector.AbstractTimelinePanel.prototype.refresh):
40284         (WebInspector.AbstractTimelineCalculator):
40285         * inspector/front-end/Images/timelineBarBlue.png: Added.
40286         * inspector/front-end/Images/timelineBarGray.png: Added.
40287         * inspector/front-end/Images/timelineBarGreen.png: Added.
40288         * inspector/front-end/Images/timelineBarOrange.png: Added.
40289         * inspector/front-end/Images/timelineBarPurple.png: Added.
40290         * inspector/front-end/Images/timelineBarRed.png: Added.
40291         * inspector/front-end/Images/timelineBarYellow.png: Added.
40292         * inspector/front-end/Images/timelineCheckmarks.png: Added.
40293         * inspector/front-end/Images/timelineDots.png: Added.
40294         * inspector/front-end/ResourcesPanel.js:
40295         (WebInspector.ResourceTimeCalculator):
40296         (WebInspector.ResourceTransferSizeCalculator):
40297         * inspector/front-end/TimelineAgent.js:
40298         * inspector/front-end/TimelinePanel.js:
40299         (WebInspector.TimelinePanel):
40300         (WebInspector.TimelinePanel.prototype.get statusBarItems):
40301         (WebInspector.TimelinePanel.prototype.get categories):
40302         (WebInspector.TimelinePanel.prototype.populateSidebar):
40303         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
40304         (WebInspector.TimelinePanel.prototype.addItemToTimeline):
40305         (WebInspector.TimelinePanel.prototype.refresh):
40306         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClick):
40307         (WebInspector.TimelinePanel.prototype.reset):
40308         (WebInspector.TimelinePanel.prototype._formatRecord):
40309         (WebInspector.TimelinePanel.prototype.showCategory):
40310         (WebInspector.TimelinePanel.prototype.hideCategory):
40311         (WebInspector.TimelineRecordTreeElement):
40312         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
40313         (WebInspector.TimelineCalculator):
40314         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
40315         (WebInspector.TimelineCalculator.prototype.computePercentageFromEventTime):
40316         (WebInspector.TimelineCalculator.prototype.computeBarGraphLabels):
40317         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
40318         (WebInspector.TimelineCalculator.prototype.formatValue):
40319         (WebInspector.TimelineGraph):
40320         (WebInspector.TimelineGraph.prototype.get graphElement):
40321         (WebInspector.TimelineGraph.prototype.refreshLabelPositions):
40322         (WebInspector.TimelineGraph.prototype.refresh):
40323         * inspector/front-end/inspector.css:
40324         * inspector/front-end/inspector.js:
40325         (WebInspector._createPanels):
40326
40327 2009-10-27  Joseph Pecoraro  <joepeck@webkit.org>
40328
40329         Reviewed by Pavel Feldman.
40330
40331         Web Inspector: Move runAfterPendingDispatches to TestController for Clarity
40332         https://bugs.webkit.org/show_bug.cgi?id=30844
40333
40334         * inspector/front-end/TestController.js:
40335         (WebInspector.TestController.prototype.runAfterPendingDispatches):
40336         * inspector/front-end/inspector.js: moved runAfterPendingDispatches
40337
40338 2009-10-27  Darin Fisher  <darin@chromium.org>
40339
40340         Reviewed by Dimitri Glazkov.
40341
40342         Add missing forward declaration of FramelessScrollView.
40343         https://bugs.webkit.org/show_bug.cgi?id=30824
40344
40345         * platform/chromium/FramelessScrollViewClient.h:
40346
40347 2009-10-27  Chris Fleizach  <cfleizach@apple.com>
40348
40349         Reviewed by Adele Peterson.
40350
40351         WAI-ARIA: add support for 'presentation' role
40352         https://bugs.webkit.org/show_bug.cgi?id=30806
40353
40354         Test: accessibility/aria-presentational-role.html
40355
40356         * accessibility/AccessibilityObject.h:
40357         (WebCore::):
40358         * accessibility/AccessibilityRenderObject.cpp:
40359         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
40360         (WebCore::RoleEntry::):
40361
40362 2009-10-27  Chris Fleizach  <cfleizach@apple.com>
40363
40364         Reviewed by Darin Adler.
40365
40366         ARIA menu/menu item need AXRoleDescription
40367         https://bugs.webkit.org/show_bug.cgi?id=30804
40368
40369         Make sure that role descriptions will default to the system's first, before
40370         returning an unknown role.
40371
40372         Test: platform/mac/accessibility/aria-menu-role-descriptions.html
40373
40374         * accessibility/mac/AccessibilityObjectWrapper.mm:
40375         (-[AccessibilityObjectWrapper roleDescription]):
40376
40377 2009-10-27  Geoffrey Garen  <ggaren@apple.com>
40378
40379         Qt build fix: migrated away from API that no longer exists.
40380
40381         * bridge/qt/qt_runtime.cpp:
40382         (JSC::Bindings::convertQVariantToValue):
40383
40384 2009-10-27  Geoffrey Garen  <ggaren@apple.com>
40385
40386         Qt build fix: migrated away from API that no longer exists.
40387
40388         * bridge/qt/qt_runtime.cpp:
40389         (JSC::Bindings::convertValueToQVariant):
40390
40391 2009-10-27  Oliver Hunt  <oliver@apple.com>
40392
40393         Fix wording in comment.
40394
40395         * bridge/objc/objc_instance.mm:
40396         (allocateAutoReleasePool):
40397
40398 2009-10-27  Oliver Hunt  <oliver@apple.com>
40399
40400         Reviewed by Darin Adler.
40401
40402         Crash occurs after launching Newsfire 1.6 for the first time
40403         https://bugs.webkit.org/show_bug.cgi?id=30807
40404
40405         We allocate an autorelease pool but then store it off the stack. In a
40406         GC environment this led to it being collected, and thus caused badness
40407         to ensue.  To work around this we simply avoid using a pool at all in
40408         a GC environment as it would be a no-op anyway.
40409
40410         * bridge/objc/objc_instance.mm:
40411         (allocateAutoReleasePool):
40412         (ObjcInstance::virtualBegin):
40413
40414 2009-10-27  Steve Block  <steveblock@google.com>
40415
40416         Reviewed by Darin Adler.
40417
40418         When a Geolocation method is called, immediately calls the error calback asynchronously if permissions
40419         have already been denied.
40420         https://bugs.webkit.org/show_bug.cgi?id=27944.
40421
40422         Tests: fast/dom/Geolocation/permission-denied-already-error.html
40423                fast/dom/Geolocation/permission-denied-already-success.html
40424
40425         * page/Geolocation.cpp: Modified.
40426         (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. GeoNotifier takes Geolocation object as constructor argument.
40427         (WebCore::Geolocation::GeoNotifier::setFatalError): Added. Sets a fatal error for this notifier, causing it to terminate immediately and call the error callback asynchronously.
40428         (WebCore::Geolocation::GeoNotifier::timerFired): Added. Used to call the error callback asynchronously on fatal error.
40429         (WebCore::Geolocation::getCurrentPosition): Modified. Calls startRequest.
40430         (WebCore::Geolocation::watchPosition): Modified. Calls startRequest.
40431         (WebCore::Geolocation::startRequest): Added. Common functionality for starting a one-shot or watch request. Sets a fatal error on the notifier if permissions have already been denied.
40432         (WebCore::Geolocation::fatalErrorOccurred): Added. Registers that a notifier has encountered a fatal error and should be destroyed.
40433         (WebCore::Geolocation::setIsAllowed): Modified. Uses a standard error message for the error callback when permissions are denied.
40434         * page/Geolocation.h: Modified.
40435         (WebCore::Geolocation::isDenied): Added. Determines whether permissions have been denied.
40436
40437 2009-10-27  Chris Marrin  <cmarrin@apple.com>
40438
40439         Reviewed by Oliver Hunt.
40440
40441         Fixed a bug where I was using the wrong Canvas pointer to do a cross-domain check
40442         https://bugs.webkit.org/show_bug.cgi?id=30840
40443
40444         * html/canvas/CanvasRenderingContext2D.cpp:
40445         (WebCore::CanvasRenderingContext2D::drawImage):
40446
40447 2009-10-27  Eric Seidel  <eric@webkit.org>
40448
40449         Reviewed by Nikolas Zimmermann.
40450
40451         SVGStyledElement::getPresentationAttribute() can return a shared CSSValue (some SVG tests randomly fail on the bot, and in release builds)
40452         https://bugs.webkit.org/show_bug.cgi?id=29620
40453
40454         SVG was modifying CSSValues cached of off CSSMappedAttributeDeclarations.
40455         This patch fixes the check to make sure that a new CSSMappedAttributeDeclaration is
40456         created before returning a CSSValue that JavaScript can modify.
40457
40458         Test: svg/dom/getPresentationAttribute-cache-corruption.svg
40459
40460         * svg/SVGStyledElement.cpp:
40461         (WebCore::SVGStyledElement::getPresentationAttribute):
40462
40463 2009-10-27  Dan Bernstein  <mitz@apple.com>
40464
40465         Reviewed by Simon Fraser.
40466
40467         Incomplete repaint of text field in relative positioned inline at imdb.com
40468         https://bugs.webkit.org/show_bug.cgi?id=30047
40469
40470         Test: fast/repaint/inline-relative-positioned.html
40471
40472         Implemented offsetFromContainer(), mapLocalToContainer() and
40473         mapAbsoluteToLocalPoint() in RenderInline.
40474
40475         * rendering/RenderBox.h: Fixed argument names in the declaration of
40476         mapLocalToContainer().
40477         * rendering/RenderInline.cpp:
40478         (WebCore::RenderInline::offsetFromContainer):
40479         (WebCore::RenderInline::mapLocalToContainer):
40480         (WebCore::RenderInline::mapAbsoluteToLocalPoint):
40481         * rendering/RenderInline.h:
40482
40483 2009-10-27  Jeremy Orlow  <jorlow@chromium.org>
40484
40485         Speculative build fix for Chromium.
40486
40487         * platform/graphics/GraphicsContext3D.h:
40488
40489 2009-10-27  Chris Marrin  <cmarrin@apple.com>
40490
40491         Reviewed by Simon Fraser.
40492         
40493         Make WebGL context failure more robust and make it succeed in more cases
40494         https://bugs.webkit.org/show_bug.cgi?id=30349
40495
40496         Bubble a failure to get a CGLContext up to HTMLContextElement so it can
40497         return null from getContext. Also added a more robust pixel format choosing 
40498         mechanism and can render correctly when a SW renderer is chosen.
40499
40500         * html/HTMLCanvasElement.cpp:
40501         (WebCore::HTMLCanvasElement::getContext):
40502         * html/canvas/CanvasRenderingContext.h:
40503         * html/canvas/CanvasRenderingContext2D.cpp:
40504         * html/canvas/CanvasRenderingContext3D.cpp:
40505         * html/canvas/CanvasRenderingContext3D.h:
40506         (WebCore::CanvasRenderingContext3D::graphicsContext3D):
40507         (WebCore::CanvasRenderingContext3D::cleanupAfterGraphicsCall):
40508         * platform/graphics/GraphicsContext3D.h:
40509         * platform/graphics/mac/Canvas3DLayer.mm:
40510         (-[Canvas3DLayer copyCGLPixelFormatForDisplayMask:]):
40511         * platform/graphics/mac/GraphicsContext3DMac.cpp:
40512         (WebCore::setPixelFormat):
40513         (WebCore::GraphicsContext3D::create):
40514         (WebCore::GraphicsContext3D::GraphicsContext3D):
40515         (WebCore::GraphicsContext3D::~GraphicsContext3D):
40516         (WebCore::GraphicsContext3D::reshape):
40517         (WebCore::ensureContext):
40518
40519 2009-10-27  Geoffrey Garen  <ggaren@apple.com>
40520
40521         Mac build fix: a forwarding header.
40522
40523         * ForwardingHeaders/wtf/DateInstanceCache.h: Added.
40524
40525 2009-10-27  Ryosuke Niwa  <rniwa@webkit.org>
40526
40527         No Review.
40528
40529         Making fontWeightIsBold static to fix Snow Leopard build.
40530
40531         * editing/ApplyStyleCommand.cpp:
40532         (WebCore::fontWeightIsBold):
40533
40534 2009-10-27  Ryosuke Niwa  <rniwa@webkit.org>
40535
40536         Reviewed by Eric Seidel.
40537
40538         WebKit cannot remove nested bold tags
40539         https://bugs.webkit.org/show_bug.cgi?id=30784
40540
40541         This patch modifies getPropertiesNotInComputedStyle so that it compares font-weight
40542         more flexibly. Instead of comparing cssText, it uses fontWeightIsBold which converts
40543         all font weights to either bold or unbold state.
40544
40545         * editing/ApplyStyleCommand.cpp:
40546         (WebCore::fontWeightIsBold):
40547         (WebCore::getPropertiesNotInComputedStyle): Removes font-weight property
40548         if two style have the same value under getFontWeightValue
40549
40550 2009-10-27  Carol Szabo  <carol.szabo@nokia.com>
40551
40552         Reviewed by Darin Adler.
40553
40554         Give an ability to WebKit to free statically allocated pointers
40555         before quit.
40556         https://bugs.webkit.org/show_bug.cgi?id=27980
40557
40558         No new tests for this as the change does not affect WebKit
40559         functionality, but only memory usage.
40560
40561         * JavaScriptCore/wtf/StdLibExtras.h:
40562         Allowed for the override of DEFINE_STATIC_LOCAL via compiler 
40563         commandline options or elsewhere in the code. Useful for 
40564         implementing custom builds that free resources allocated via
40565         DEFINE_STATIC_LOCAL.
40566
40567 2009-10-27  Dumitru Daniliuc  <dumi@chromium.org>
40568
40569         Build fix, no review needed.
40570
40571         Fixing the BUILD. m_estimatedSize in Database.h should be of type
40572         'unsigned long' instead of 'unsigned long long'.
40573
40574         No tests required.
40575
40576         * storage/Database.h:
40577
40578 2009-10-27  Dumitru Daniliuc  <dumi@chromium.org>
40579
40580         Reviewed by Adam Barth.
40581
40582         Refactoring the Database class to not depend on
40583         OriginQuotaManager. Also, adding a SecurityOrigin copy to each
40584         Database instance, that is safe to use on the file
40585         thread. Finally, adding new simple fields and getters to the
40586         Database object for storing/getting the display name and estimated
40587         size specified by the user in the openDatabase() call.
40588
40589         https://bugs.webkit.org/show_bug.cgi?id=30548
40590
40591         * page/SecurityOrigin.h:
40592         * storage/Database.cpp:
40593         (WebCore::Database::openDatabase): Storing the display name and
40594         the estimated size in the Database object.
40595         (WebCore::Database::Database): Storing the display name and the
40596         estimated size in the Database object, as well as a SecurityOrigin
40597         instance that is safe to use on the DB thread.
40598         (WebCore::Database::maximumSize): Delegate the call to
40599         DatabaseTracker::getMaxSizeForDatabase().
40600         (WebCore::Database::databaseThreadSecurityOrigin): Return the
40601         SecurityOrigin instance that's safe to use on the DB thread.
40602         (WebCore::Database::threadSafeSecurityOrigin): Return the
40603         SecurityOrigin instance that's safe to use on the current thread.
40604         (WebCore::Database::displayName): Return the display name
40605         specified by the user in the openDatabase() call.
40606         (WebCore::Database::estimatedSize): Return the estimated size
40607         specified by the user in the openDatabase() call.
40608         (WebCore::Database::fileName): Return the name of the file where
40609         the current Database is tored.
40610         * storage/Database.h:
40611         * storage/DatabaseTracker.cpp:
40612         (WebCore::DatabaseTracker::getMaxSizeForDatabase): Returns the
40613         maximum size for a DB file based on the current size of that file
40614         and the space available for that origin.
40615         * storage/DatabaseTracker.h:
40616         * storage/SQLTransaction.cpp:
40617         * storage/SQLTransactionClient.cpp:
40618         (WebCore::SQLTransactionClient::didCommitTransaction): Use the
40619         correct SecurityOrigin instance.
40620
40621 2009-10-27  Joseph Pecoraro  <joepeck@webkit.org>
40622
40623         Reviewed by Timothy Hatcher.
40624
40625         Web Inspector: Pretty Print all HTML Collection Types like we do for NodeList
40626         https://bugs.webkit.org/show_bug.cgi?id=30709
40627
40628         Test: inspector/console-format-collections.html
40629
40630         * inspector/front-end/InjectedScript.js:
40631         (Object.type): check for instances of HTMLCollection like we do for NodeList
40632         * inspector/front-end/inspector.js: added WebInspector.pendingDispatches counter
40633         (WebInspector.dispatch): increment and decrement dispatch counter
40634         (WebInspector.runAfterPendingDispatches): run when there are no more dispatches
40635
40636 2009-10-27  Kelly Norton  <knorton@google.com>
40637
40638         Reviewed by Timothy Hatcher.
40639
40640         Adds XMLHttpRequest support to InspectorTimelineAgent.
40641         https://bugs.webkit.org/show_bug.cgi?id=30578
40642
40643         * inspector/InspectorTimelineAgent.cpp:
40644         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
40645         (WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
40646         (WebCore::InspectorTimelineAgent::willLoadXHR):
40647         (WebCore::InspectorTimelineAgent::didLoadXHR):
40648         * inspector/InspectorTimelineAgent.h:
40649         (WebCore::):
40650         * inspector/TimelineRecordFactory.cpp:
40651         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeTimelineRecord):
40652         (WebCore::TimelineRecordFactory::createXHRLoadTimelineRecord):
40653         * inspector/TimelineRecordFactory.h:
40654         * inspector/front-end/TimelineAgent.js:
40655         * xml/XMLHttpRequest.cpp:
40656         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
40657
40658 2009-10-27  Enrica Casucci  <enrica@apple.com>
40659
40660         Reviewed by Adele Peterson.
40661
40662         REGRESSION (Safari 4.0.3-ToT): After pressing Shift-PageDown, pressing Shift-Up 
40663         extends the top of the selection upwards (but should shrink the selection instead)
40664         <rdar://problem/7269075>
40665         https://bugs.webkit.org/show_bug.cgi?id=29981
40666
40667         * editing/SelectionController.cpp:
40668         (WebCore::SelectionController::modify): Added setting m_lastChangeWasHorizontalExtension.
40669
40670 2009-10-27  Brian Weinstein  <bweinstein@apple.com>
40671
40672         Rubber-stamped by Tim Hatcher.
40673         
40674         Removed an extra console.log from ElementsTreeOutline.
40675
40676         * inspector/front-end/ElementsTreeOutline.js:
40677
40678 2009-10-27  Keishi Hattori  <casey.hattori@gmail.com>
40679
40680         Reviewed by Timothy Hatcher.
40681
40682         Rewrote JavaScriptSourceSyntaxHighlighter to be more accurate
40683         https://bugs.webkit.org/show_bug.cgi?id=27147
40684
40685         Tests: LayoutTests/inspector/javascript-syntax-highlight.html
40686
40687         * inspector/front-end/ElementsTreeOutline.js:
40688         * inspector/front-end/SourceFrame.js:
40689         (WebInspector.JavaScriptSourceSyntaxHighlighter.process): Added. Processes 100 tokens at a time.
40690         (WebInspector.JavaScriptSourceSyntaxHighlighter.lex): Added. Scans for a token.
40691         (WebInspector.JavaScriptSourceSyntaxHighlighter.appendNonToken): Added. Appends the non-token characters that lex ignored.
40692         (WebInspector.JavaScriptSourceSyntaxHighlighter.syntaxHighlightNode): Added. To syntax highlight node in ElementsTreeOutline.
40693
40694 2009-10-27  Mads Ager  <ager@chromium.org>
40695
40696         Reviewed by Adam Barth.
40697
40698         [V8] Missing null check after string conversion in error reporting
40699         https://bugs.webkit.org/show_bug.cgi?id=30774
40700
40701         Add null check after string conversion in error reporting code.
40702         ToString conversion can fail for instance when an exception is
40703         thrown during conversion.
40704
40705         Test: fast/dom/error-to-string-stack-overflow.html
40706
40707         * bindings/v8/V8Utilities.cpp:
40708         (WebCore::reportException):
40709
40710 2009-10-27  Steve Block  <steveblock@google.com>
40711
40712         Reviewed by Darin Adler.
40713
40714         Use a pair of maps to store Geolocation watchers.
40715         https://bugs.webkit.org/show_bug.cgi?id=29178
40716
40717         The pair of maps allows us to look up a watcher either by its ID or by its GeoNotifier object.
40718         The ability to look up by a watcher by its GeoNotifier object will be required when implementing
40719         Geolocation::fatalErrorOccurred. See https://bugs.webkit.org/show_bug.cgi?id=27944
40720
40721         * page/Geolocation.cpp: Modified.
40722         (WebCore::Geolocation::Watchers::set): Added. Adds a watcher with the given ID.
40723         (WebCore::Geolocation::Watchers::remove): Added. Removes a watcher by ID.
40724         (WebCore::Geolocation::Watchers::remove): Added. Removes a watcher by GeoNotifier object.
40725         (WebCore::Geolocation::Watchers::clear): Added. Removes all watchers.
40726         (WebCore::Geolocation::Watchers::isEmpty): Added. Determines if there are no watchers.
40727         (WebCore::Geolocation::Watchers::getNotifiersVector): Added. Gets a vector of the GeoNotifier objects.
40728         (WebCore::Geolocation::watchPosition): Modified. Rename watcher identifier static variable.
40729         (WebCore::Geolocation::stopTimersForWatchers): Modified. Use Watchers::getNotifiersVector.
40730         (WebCore::Geolocation::handleError): Modified. Use Watchers::getNotifiersVector.
40731         (WebCore::Geolocation::makeSuccessCallbacks): Modified. Use Watchers::getNotifiersVector.
40732         * page/Geolocation.h: Modified. Adds Geolocation::Watchers class.
40733
40734 2009-10-27  Jeremy Orlow  <jorlow@chromium.org>
40735
40736         Reviewed by Dimitri Glazkov.
40737
40738         [V8] DOM Storage runtime flag should default to on
40739         https://bugs.webkit.org/show_bug.cgi?id=30828
40740
40741         The DOM Storage runtime flag was supposed to default to on.  I accidentally
40742         changed the logic to default to false when I moved the flag.
40743
40744         * bindings/v8/RuntimeEnabledFeatures.cpp:
40745
40746 2009-10-27  Fumitoshi Ukai  <ukai@chromium.org>
40747
40748         Reviewed by Dimitri Glazkov.
40749
40750         Fix crash found in chromium test_shell.
40751         https://bugs.webkit.org/show_bug.cgi?id=30808
40752
40753         When WebSocket is deleted without close, webkit would crash
40754         when it handles didClose.
40755
40756         Check scriptExecutionContext before post task for event.
40757         Use WebSocketChannel::disconnect() instead of close() in WebSocket
40758         destructor, so that WebSocketChannel should not call deleted WebSocket
40759         back in didClose().
40760         To make sure WebSocketChannel alive while it is processing WebSocket
40761         protocol over SocketStreamHandle, ref() in connect() and deref() in
40762         didClose().
40763
40764         * websockets/WebSocket.cpp:
40765         (WebCore::WebSocket::~WebSocket):
40766         (WebCore::WebSocket::didConnect):
40767         (WebCore::WebSocket::didReceiveMessage):
40768         (WebCore::WebSocket::didClose):
40769         * websockets/WebSocketChannel.cpp:
40770         (WebCore::WebSocketChannel::connect):
40771         (WebCore::WebSocketChannel::disconnect):
40772         (WebCore::WebSocketChannel::didClose):
40773         (WebCore::WebSocketChannel::didReceiveData):
40774         * websockets/WebSocketChannel.h:
40775
40776 2009-10-27  Dan Bernstein  <mitz@apple.com>
40777
40778         Reviewed by Darin Adler.
40779
40780         Updated Apple license
40781
40782         * LICENSE-APPLE:
40783
40784 2009-10-27  Brady Eidson  <beidson@apple.com>
40785
40786         Rubberstamped by Sam Weinig.
40787
40788         Re-enable the check that disallows pages with unload handlers in the page cache.
40789
40790         <rdar://problem/7196485> and http://webkit.org/b/29021 
40791
40792         * loader/FrameLoader.cpp:
40793         (WebCore::FrameLoader::canCachePageContainingThisFrame):
40794         (WebCore::FrameLoader::logCanCacheFrameDecision):
40795
40796 2009-10-27  Timothy Hatcher  <timothy@apple.com>
40797
40798         Remove more empty files that didn't get removed earlier.
40799
40800         * inspector/DOMDispatchTimelineItem.cpp: Removed.
40801         * inspector/DOMDispatchTimelineItem.h: Removed.
40802
40803 2009-10-27  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
40804
40805         Reviewed by Tor Arne Vestbø.
40806
40807         [Qt] Fix assertion crashes introduced by changes made in r50110.
40808
40809         * dom/XMLTokenizerQt.cpp:
40810         (WebCore::XMLTokenizer::parseEndElement): only call popCurrentNode() if there are nodes left in the stack.
40811
40812 2009-10-27  Timothy Hatcher  <timothy@apple.com>
40813
40814         Remove empty files that didn't get removed earlier.
40815
40816         * inspector/TimelineItem.cpp: Removed.
40817         * inspector/TimelineItem.h: Removed.
40818
40819 2009-10-27  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
40820
40821         Reviewed by Xan Lopez.
40822
40823         https://bugs.webkit.org/show_bug.cgi?id=25534
40824         [GTK] Objects of ROLE_TABLE should implement the accessible table interface
40825
40826         First part of the implementation of AtkTable.
40827
40828         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
40829         (getCell):
40830         (getCellIndex):
40831         (webkit_accessible_table_ref_at):
40832         (webkit_accessible_table_get_index_at):
40833         (webkit_accessible_table_get_n_columns):
40834         (webkit_accessible_table_get_n_rows):
40835         (webkit_accessible_table_get_column_extent_at):
40836         (webkit_accessible_table_get_row_extent_at):
40837         (webkit_accessible_table_get_row_header):
40838         (atk_table_interface_init):
40839         (AtkInterfacesInitFunctions):
40840         (GetAtkInterfaceTypeFromWAIType):
40841
40842 2009-10-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
40843
40844         Reviewed by Lars Knoll.
40845
40846         [Qt] Don't lose remainder when computing wheel event deltas
40847
40848         * platform/qt/WheelEventQt.cpp:
40849
40850 2009-10-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
40851
40852         Reviewed by Antti Koivisto.
40853
40854         Fix QtWebKit build for WIN_OS if Netscape plug-in support
40855         is turned off and refactor some related code
40856         https://bugs.webkit.org/show_bug.cgi?id=30786
40857
40858         No new tests as there is no new functionality introduced.
40859
40860         * platform/FileSystem.h: Refactor to make sure that each different
40861         type definition is only repeated once.
40862
40863         * plugins/PluginPackage.cpp:
40864         (WebCore::PluginPackage::compareFileVersion): Move it out from the
40865         ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH guard and combine it with the
40866         function body from PluginPackageWin.
40867
40868         * plugins/win/PluginPackageWin.cpp: Remove compareFileVersion as
40869         it is now in PluginPackage.cpp.
40870
40871 2009-10-26  Xan Lopez  <xlopez@igalia.com>
40872
40873         Reviewed by Gustavo Noronha.
40874
40875         https://bugs.webkit.org/show_bug.cgi?id=27011
40876         [Gtk] Implement support for get_index_in_parent
40877
40878         Implement atk_object_get_index_in_parent.
40879
40880         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
40881         (webkit_accessible_get_index_in_parent):
40882
40883 2009-10-27  Eric Seidel  <eric@webkit.org>
40884
40885         No review, rolling out r50131.
40886         http://trac.webkit.org/changeset/50131
40887
40888         * bridge/objc/objc_instance.h:
40889         * bridge/objc/objc_instance.mm:
40890         (ObjcInstance::ObjcInstance):
40891         (ObjcInstance::virtualEnd):
40892
40893 2009-10-26  Daniel Bates  <dbates@webkit.org>
40894
40895         Reviewed by Darin Adler.
40896
40897         https://bugs.webkit.org/show_bug.cgi?id=30491
40898
40899         Fixes an issue where pressing return/enter on the keyboard 
40900         in <isindex> does not submit it if is not within a <form>.
40901
40902         According to the HTML 2.0 thru HTML 4.01 spec 
40903         (http://www.w3.org/MarkUp/html-spec/html-spec_7.html#SEC7.5), the 
40904         <isindex> element does not need to be within a <form> element in 
40905         order to submit it. It can submitted on its own. Also, if present,
40906         the href property of the <base> element will dictate where to submit
40907         the value of the <isindex> element (this is analogous to the action 
40908         property of the <form> element).
40909
40910         Tests: http/tests/misc/isindex-with-no-form-base-href.html
40911                http/tests/misc/isindex-with-no-form.html
40912
40913         * html/HTMLInputElement.cpp:
40914         (WebCore::HTMLInputElement::defaultEventHandler): Calls createTemporaryFormForIsIndex()
40915         to create a <form> if none is present and we are an <isindex> element.
40916         (WebCore::HTMLInputElement::createTemporaryFormForIsIndex): Added.
40917         * html/HTMLInputElement.h:
40918
40919 2009-10-26  Oliver Hunt  <oliver@apple.com>
40920
40921         Reviewed by Maciej Stachowiak.
40922
40923         Crash occurs after launching Newsfire 1.6 for the first time
40924         https://bugs.webkit.org/show_bug.cgi?id=30807
40925
40926         Use a RetainPtr in ObjcBinding to ensure that we adequately
40927         protect the autorelease pool from GC in GC'd applications.
40928
40929         * bridge/objc/objc_instance.h:
40930         * bridge/objc/objc_instance.mm:
40931         (ObjcInstance::ObjcInstance):
40932         (ObjcInstance::virtualEnd):
40933
40934 2009-10-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
40935
40936         Unreviewed.
40937
40938         [Qt] Build fix for QtWebKit after r50125.
40939
40940         * WebCore.pro: Rename TimelineItem to TimelineRecord.
40941
40942 2009-10-26  Matt Mueller  <mattm@chromium.org>
40943
40944         Reviewed by Darin Adler.
40945
40946         Refactor synchronizable property handling to store one shouldSynchronize flag per set of properties rather than one per property.
40947
40948         Fixes reading uninitialized memory in SynchronizableProperty hash function as well as simplifying the code.
40949
40950         https://bugs.webkit.org/show_bug.cgi?id=30658
40951
40952         Covered by running various svg tests under valgrind, ex:
40953         LayoutTests/svg/custom/js-late-mask-and-object-creation.svg
40954
40955         * svg/SynchronizablePropertyController.cpp:
40956         (WebCore::SynchronizableProperties::addProperty):
40957         (WebCore::SynchronizableProperties::synchronize):
40958         (WebCore::SynchronizableProperties::startAnimation):
40959         (WebCore::SynchronizableProperties::stopAnimation):
40960         (WebCore::SynchronizablePropertyController::registerProperty):
40961         (WebCore::SynchronizablePropertyController::setPropertyNeedsSynchronization):
40962         (WebCore::SynchronizablePropertyController::synchronizeProperty):
40963         (WebCore::SynchronizablePropertyController::synchronizeAllProperties):
40964         (WebCore::SynchronizablePropertyController::startAnimation):
40965         (WebCore::SynchronizablePropertyController::stopAnimation):
40966         * svg/SynchronizablePropertyController.h:
40967         (WebCore::SynchronizableProperties::SynchronizableProperties):
40968         (WebCore::SynchronizableProperties::setNeedsSynchronization):
40969
40970 2009-10-26  Kelly Norton  <knorton@google.com>
40971
40972         Reviewed by Timothy Hatcher.
40973
40974         Renames TimelineItem to TimelineRecord and updates all call sites.
40975         https://bugs.webkit.org/show_bug.cgi?id=30785
40976
40977         * GNUmakefile.am: 
40978         * WebCore.gypi:
40979         * WebCore.vcproj/WebCore.vcproj:
40980         * WebCore.xcodeproj/project.pbxproj:
40981         * inspector/InspectorFrontend.cpp:
40982         (WebCore::InspectorFrontend::addRecordToTimeline):
40983         * inspector/InspectorFrontend.h:
40984         * inspector/InspectorTimelineAgent.cpp:
40985         (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
40986         (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
40987         (WebCore::InspectorTimelineAgent::willLayout):
40988         (WebCore::InspectorTimelineAgent::didLayout):
40989         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
40990         (WebCore::InspectorTimelineAgent::didRecalculateStyle):
40991         (WebCore::InspectorTimelineAgent::willPaint):
40992         (WebCore::InspectorTimelineAgent::didPaint):
40993         (WebCore::InspectorTimelineAgent::willWriteHTML):
40994         (WebCore::InspectorTimelineAgent::didWriteHTML):
40995         (WebCore::InspectorTimelineAgent::didInstallTimer):
40996         (WebCore::InspectorTimelineAgent::didRemoveTimer):
40997         (WebCore::InspectorTimelineAgent::willFireTimer):
40998         (WebCore::InspectorTimelineAgent::didFireTimer):
40999         (WebCore::InspectorTimelineAgent::reset):
41000         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
41001         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
41002         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
41003         * inspector/InspectorTimelineAgent.h:
41004         (WebCore::):
41005         (WebCore::InspectorTimelineAgent::RecordEntry::RecordEntry):
41006         * inspector/TimelineItemFactory.cpp: Removed.
41007         * inspector/TimelineItemFactory.h: Removed.
41008         * inspector/TimelineRecordFactory.cpp: Added.
41009         (WebCore::TimelineRecordFactory::createGenericRecord):
41010         (WebCore::TimelineRecordFactory::createDOMDispatchRecord):
41011         (WebCore::TimelineRecordFactory::createGenericTimerRecord):
41012         (WebCore::TimelineRecordFactory::createTimerInstallRecord):
41013         * inspector/TimelineRecordFactory.h: Added.
41014         (WebCore::TimelineRecordFactory::TimelineRecordFactory):
41015         * inspector/front-end/TimelineAgent.js:
41016         (WebInspector.addRecordToTimeline):
41017         * inspector/front-end/TimelinePanel.js:
41018         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
41019         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
41020         (WebInspector.TimelinePanel.prototype.getRecordTypeName):
41021         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
41022
41023 2009-10-26  Girish Ramakrishnan  <girish@forwardbias.in>
41024
41025         Reviewed by Antti Koivisto.
41026
41027         [Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled
41028         
41029         When printing, QPrinter's preview mode uses a QPicture to capture the output. The
41030         QPicture holds a reference to the X Pixmap. As a result, the print preview would
41031         update itself when the X Pixmap changes. To prevent the print preview from updating
41032         whenever m_drawable is updated (i.e when the view updates), we create a copy.
41033         
41034         We require that a QPixmap::copy() result in a QPixmap backed by a XPixmap
41035         regardless of the graphicssystem. This is taken care of by
41036         commit d310f7c710ecb331a9689861f0551eabd38e946e in Qt (4.6)
41037         
41038         The beauty of this patch is that the newly created X Pixmap is managed by Qt and
41039         it will free the Pixmap whenever the user closes the print preview dialog and
41040         handles the case of displaying multiple preview dialogs nicely.
41041         
41042         All credit to Samuel Rødal for suggesting usage of QPixmap::copy().
41043         
41044         https://bugs.webkit.org/show_bug.cgi?id=30714
41045
41046         * plugins/qt/PluginViewQt.cpp:
41047         (WebCore::PluginView::paint):
41048
41049 2009-10-26  Benjamin Otte  <otte@gnome.org>
41050
41051         Reviewed by Gustavo Noronha.
41052
41053         Don't store properties in the MediaPlayerPrivate class
41054
41055         Access them via the MediaPlayer class instead.
41056         https://bugs.webkit.org/show_bug.cgi?id=30462
41057
41058         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
41059         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
41060         (WebCore::MediaPlayerPrivate::seek):
41061         (WebCore::MediaPlayerPrivate::setVolume):
41062         (WebCore::MediaPlayerPrivate::setRate):
41063         (WebCore::MediaPlayerPrivate::setVisible):
41064         (WebCore::MediaPlayerPrivate::paint):
41065         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
41066         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
41067
41068 2009-10-26  Brian Weinstein  <bweinstein@apple.com>
41069
41070         Reviewed by Timothy Hatcher.
41071
41072         Fixes <http://webkit.org/b/30801>.
41073         Web Inspector: Control + ]/[ on Windows doesn't change Panels.
41074         
41075         In my testing, Windows uses "U+00DB" and "U+00DD" to represent
41076         [ and ], so we should honor those as well.
41077
41078         * inspector/front-end/inspector.js:
41079         (WebInspector.documentKeyDown):
41080
41081 2009-10-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
41082
41083         Reviewed by Darin Adler.
41084
41085         Make .rc files compile on Windows without depending on MFC headers
41086         https://bugs.webkit.org/show_bug.cgi?id=30750
41087
41088         * WebCore.vcproj/QTMovieWin.rc: Use winresrc.h because it exists 
41089         even when MFC is not installed, and is all that's needed here.
41090
41091 2009-10-26  Brent Fulgham  <bfulgham@webkit.org>
41092
41093         Reviewed by Darin Adler.
41094
41095         Build corrections for ENABLE_FILTERS in Windows.
41096         https://bugs.webkit.org/show_bug.cgi?id=30797
41097
41098         Build correction for ENABLE_FILTERS feature.  No new tests needed.
41099
41100         * platform/graphics/filters/FEColorMatrix.cpp: Use MathExtras.h and
41101           its piDouble constant.
41102         * platform/graphics/filters/FEGaussianBlur.cpp: Use MathExtras.h and
41103           its piDouble constant.  Remove unnecessary call to floor used in
41104           the division of an unsigned, converting to int.
41105         * platform/graphics/win/SimpleFontDataCairoWin.cpp: Correct include
41106           style for MathExtras.h.
41107
41108 2009-10-26  Brady Eidson  <beidson@apple.com>
41109
41110         Reviewed by Darin Adler.
41111
41112         <rdar://problem/7289467> and http://webkit.org/b/30798 - REGRESSION (r48687): www.myuhc.com doesn't load.
41113
41114         Test: fast/loader/grandparent-completion-starts-redirect.html
41115
41116         * loader/FrameLoader.cpp:
41117         (WebCore::FrameLoader::completed): Notify all descendants that the load completed, not just direct children.
41118
41119 2009-10-26  Dan Bernstein  <mitz@apple.com>
41120
41121         Reviewed by Beth Dakin.
41122
41123         Re-add CSSPropertyWebkitBackgroundSize in one more place
41124
41125         Fixes transitions/multiple-background-size-transitions.html, transitions/background-transitions.html
41126
41127         * page/animation/AnimationBase.cpp:
41128         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
41129
41130 2009-10-26  Jeremy Orlow  <jorlow@chromium.org>
41131
41132         Reviewed by Dimitri Glazkov.
41133
41134         [V8] Tidy up the DOM Storage runtime flag stuff
41135         https://bugs.webkit.org/show_bug.cgi?id=30794
41136
41137         Clean up the DOM Storage runtime flag stuff to match the new way of doing
41138         things.  No behavioral changes.
41139
41140         * bindings/v8/RuntimeEnabledFeatures.cpp:
41141         * bindings/v8/RuntimeEnabledFeatures.h:
41142         (WebCore::RuntimeEnabledFeatures::setDatabaseEnabled):
41143         (WebCore::RuntimeEnabledFeatures::databaseEnabled):
41144         (WebCore::RuntimeEnabledFeatures::setLocalStorageEnabled):
41145         (WebCore::RuntimeEnabledFeatures::localStorageEnabled):
41146         (WebCore::RuntimeEnabledFeatures::setSessionStorageEnabled):
41147         (WebCore::RuntimeEnabledFeatures::sessionStorageEnabled):
41148         * bindings/v8/custom/V8DOMWindowCustom.cpp:
41149         (WebCore::ACCESSOR_RUNTIME_ENABLER):
41150         * storage/Storage.cpp:
41151         * storage/Storage.h:
41152
41153 2009-10-26  Brady Eidson  <beidson@apple.com>
41154
41155         Reviewed by Darin Adler.
41156
41157         <rdar://problem/7308952> and http://webkit.org/b/30424 - REGRESSION (r48687): Pages on ucas.com appear blank.
41158
41159         Test: fast/loader/history-forward-in-head.html
41160
41161         * loader/RedirectScheduler.cpp:
41162         (WebCore::RedirectScheduler::scheduleHistoryNavigation): Restore the moved canGoBackOrForward() check.
41163           This restores the side effect of an invalid history navigation canceling previous scheduled redirects
41164           and also fixes the bug of scheduling an invalid history navigation canceling parsing of the current document.
41165         (WebCore::RedirectScheduler::timerFired): Removed the canGoBackOrForward() check as it is now made before
41166           the redirect is scheduled.
41167
41168 2009-10-26  Alexey Proskuryakov  <ap@apple.com>
41169
41170         Reviewed by Darin Adler.
41171
41172         https://bugs.webkit.org/show_bug.cgi?id=30049
41173         <rdar://problem/7286002> Manipulating DOM from a script while parsing XHTML can cause a crash
41174
41175         Tests: fast/parser/remove-current-node-parent-x-2.xhtml
41176                fast/parser/remove-current-node-parent-x.xhtml
41177
41178         * dom/XMLTokenizer.h: Store the whole stack of parent nodes - element.parentNode() is
41179         unreliable after DOM manipulation.
41180
41181         * dom/XMLTokenizer.cpp:
41182         (WebCore::XMLTokenizer::pushCurrentNode): Push the new node onto stack.
41183         (WebCore::XMLTokenizer::popCurrentNode): This is now called instead of setCurrentNode when
41184         exiting a node.
41185         (WebCore::XMLTokenizer::clearCurrentNodeStack): We're aborting; or just done parsing. This
41186         replaces setCurrentNode(0).
41187         (WebCore::XMLTokenizer::enterText): Call pushCurrentNode().
41188         (WebCore::XMLTokenizer::exitText): Call popCurrentNode(), removing a long-standing FIXME
41189         (not sure if it was ever practical though - how can a parent become null while adding text?)
41190
41191         * dom/XMLTokenizerLibxml2.cpp:
41192         (WebCore::XMLTokenizer::~XMLTokenizer): Call clearCurrentNodeStack().
41193         (WebCore::XMLTokenizer::startElementNs): Call pushCurrentNode().
41194         (WebCore::XMLTokenizer::endElementNs): Call popCurrentNode() to safely get to a parent. Also
41195         added a check fo script element still being in document - Firefox parses those that aren't,
41196         but doesn't execute them.
41197
41198         * dom/XMLTokenizerQt.cpp:
41199         (WebCore::XMLTokenizer::~XMLTokenizer):
41200         (WebCore::XMLTokenizer::parseStartElement):
41201         (WebCore::XMLTokenizer::parseEndElement):
41202         Match libxml2 version changes.
41203
41204 2009-10-26  Dan Bernstein  <mitz@apple.com>
41205
41206         Reviewed by Beth Dakin.
41207
41208         background-size: X treated as background-size: X X, not background-size: X auto
41209         https://bugs.webkit.org/show_bug.cgi?id=28440
41210
41211         Updated fast/backgrounds/size/resources/parsing-background-size-values.js
41212         and fast/backgrounds/size/resources/parsing-inherit.js
41213
41214         Reinstated -webkit-background-size and kept its behavior of filling in
41215         the second value with the first one; and changed background-size to have
41216         the behavior of filling in the second value with 'auto'.
41217
41218         * css/CSSComputedStyleDeclaration.cpp:
41219         (computedProperties): Re-added CSSPropertyWebkitBackgroundSize.
41220         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
41221         * css/CSSParser.cpp:
41222         (WebCore::CSSParser::parseValue): Ditto.
41223         (WebCore::CSSParser::parseFillSize): Adapted for the new parsing rule.
41224         (WebCore::CSSParser::parseFillProperty): Re-added
41225         CSSPropertyWebkitBackgroundSize.
41226         (WebCore::cssPropertyID): Removed mapping of -webkit-background-size to
41227         background-size.
41228         * css/CSSParser.h:
41229         * css/CSSPropertyNames.in: Re-added -webkit-background-size.
41230         * css/CSSStyleSelector.cpp:
41231         (WebCore::CSSStyleSelector::applyProperty): Re-added
41232         CSSPropertyWebkitBackgroundSize.
41233
41234 2009-10-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
41235
41236         Reviewed by Eric Seidel.
41237
41238         [Qt] Use "%lli" to format "long long" on WIN_OS to fix HTML5 WebDB crash
41239         https://bugs.webkit.org/show_bug.cgi?id=30777
41240
41241         No new tests as the crash can be reproduced by existing storage
41242         LayoutTests (by hitting an assert in debug mode Webkit on WIN_OS).
41243
41244         * platform/text/String.cpp:
41245         (WebCore::String::number): Qt's QString::vsprintf does not
41246         understand the "%I64u" format string. Always use the "%lli"
41247         format string for Qt port.
41248
41249 2009-10-26  Tony Chang  <tony@chromium.org>
41250
41251         Reviewed by Eric Seidel.
41252
41253         Roll back r50073 because r50041-50043 were reverted.  r50073 was
41254         a chromium side fix for r50041.
41255         https://bugs.webkit.org/show_bug.cgi?id=30789
41256
41257         * bindings/v8/V8Collection.h:
41258         * bindings/v8/custom/V8CustomBinding.h:
41259         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
41260         (WebCore::getNamedItems):
41261         (WebCore::getItem):
41262         (WebCore::NAMED_PROPERTY_GETTER):
41263         (WebCore::CALLBACK_FUNC_DECL):
41264         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
41265         (WebCore::getNamedItems):
41266         (WebCore::getItem):
41267         (WebCore::NAMED_PROPERTY_GETTER):
41268         (WebCore::CALLBACK_FUNC_DECL):
41269         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
41270
41271 2009-10-26  Geoffrey Garen  <ggaren@apple.com>
41272
41273         Reviewed by Dimitri Glazkov.
41274
41275         Fixed https://bugs.webkit.org/show_bug.cgi?id=30765
41276         REGRESSION (r48701): Removing an event listener causes the one added just after it not to fire
41277         
41278         and related bugs.
41279
41280         If the event listener being removed is prior to the current firing event
41281         iterator, we need to decrement the current firing event iterator in
41282         addition to the endpoint. (Otherwise, shrinking the event listener vector
41283         by one implicity moves the current firing event iterator forward by one.
41284         It's like relativity, only without the planets.)
41285         
41286         Also took the opportunity to change some pointers to references, since
41287         they can't be null.
41288
41289         * dom/EventTarget.cpp:
41290         (WebCore::EventTarget::removeEventListener):
41291         (WebCore::EventTarget::removeAllEventListeners): Update iterator in addition
41292         to end, if need be.
41293         (WebCore::EventTarget::fireEventListeners): Updated for interface changes.
41294         Added a comment to explain a behavior that was implicit enough to be
41295         confusing.
41296
41297         * dom/EventTarget.h:
41298         (WebCore::FiringEventIterator::FiringEventIterator):
41299         (WebCore::EventTarget::isFiringEventListeners): Updated for interface changes.
41300
41301 2009-10-26  Brian Weinstein  <bweinstein@apple.com>
41302
41303         Reviewed by Timothy Hatcher.
41304
41305         Fixes <http://webkit.org/b/30792>.
41306         Web Inspector: When changing resource scope, resource graph can get in weird state.
41307         
41308         If the user was scrolled down while looking at All resources, and then just
41309         selects Fonts, or something that doesn't have many resources, then the graph
41310         will stay scrolled down, even when there is no content there.
41311         
41312         When the filter is updated, scroll to the top of the graph view, so this won't
41313         happen.
41314
41315         * inspector/front-end/AbstractTimelinePanel.js:
41316         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
41317
41318 2009-10-26  Sam Weinig  <sam@webkit.org>
41319
41320         Fix mac clean build.
41321
41322         * html/HTMLOptionsCollection.idl:
41323
41324 2009-10-26  Pavel Feldman  <pfeldman@chromium.org>
41325
41326         Reviewed by Timothy Hatcher.
41327
41328         Web Inspector: Extract AbstractTimelinePanel that will be a base
41329         class for ResourcesPanel and TimelinePanel.
41330
41331         https://bugs.webkit.org/show_bug.cgi?id=30776
41332
41333         * WebCore.gypi:
41334         * WebCore.vcproj/WebCore.vcproj:
41335         * inspector/front-end/AbstractTimelinePanel.js: Added.
41336         (WebInspector.AbstractTimelinePanel):
41337         (WebInspector.AbstractTimelinePanel.prototype.get categories):
41338         (WebInspector.AbstractTimelinePanel.prototype.showCategory):
41339         (WebInspector.AbstractTimelinePanel.prototype.hideCategory):
41340         (WebInspector.AbstractTimelinePanel.prototype.createTimelinePanels):
41341         (WebInspector.AbstractTimelinePanel.prototype._createFilterPanel.createFilterElement):
41342         (WebInspector.AbstractTimelinePanel.prototype._createFilterPanel):
41343         (WebInspector.AbstractTimelinePanel.prototype.filter):
41344         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
41345         (WebInspector.AbstractTimelinePanel.prototype._createGraph):
41346         (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
41347         (WebInspector.AbstractTimelinePanel.prototype._updateSummaryGraph):
41348         (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
41349         (WebInspector.AbstractTimelinePanel.prototype.get needsRefresh):
41350         (WebInspector.AbstractTimelinePanel.prototype.set needsRefresh):
41351         (WebInspector.AbstractTimelinePanel.prototype.refreshIfNeeded):
41352         (WebInspector.AbstractTimelinePanel.prototype.show):
41353         (WebInspector.AbstractTimelinePanel.prototype.resize):
41354         (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth):
41355         (WebInspector.TimelineCalculator):
41356         (WebInspector.TimelineCalculator.prototype.computeSummaryValues):
41357         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
41358         (WebInspector.TimelineCalculator.prototype.computeBarGraphLabels):
41359         (WebInspector.TimelineCalculator.prototype.get boundarySpan):
41360         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
41361         (WebInspector.TimelineCalculator.prototype.reset):
41362         (WebInspector.TimelineCalculator.prototype._value):
41363         (WebInspector.TimelineCalculator.prototype.formatValue):
41364         * inspector/front-end/ResourceCategory.js:
41365         (WebInspector.ResourceCategory):
41366         * inspector/front-end/ResourcesPanel.js:
41367         (WebInspector.ResourcesPanel):
41368         (WebInspector.ResourcesPanel.prototype.toolbarItemClass.get toolbarItemLabel):
41369         (WebInspector.ResourcesPanel.prototype.get statusBarItems):
41370         (WebInspector.ResourcesPanel.prototype.get categories):
41371         (WebInspector.ResourcesPanel.prototype.showCategory):
41372         (WebInspector.ResourcesPanel.prototype.hideCategory):
41373         (WebInspector.ResourcesPanel.prototype.isCategoryVisible):
41374         (WebInspector.ResourcesPanel.prototype.populateSidebar):
41375         (WebInspector.ResourcesPanel.prototype.createPanelEnabler):
41376         (WebInspector.ResourcesPanel.prototype.createStatusbarButtons):
41377         (WebInspector.ResourcesPanel.prototype.set mainResourceLoadTime):
41378         (WebInspector.ResourcesPanel.prototype.set mainResourceDOMContentTime):
41379         (WebInspector.ResourcesPanel.prototype.show):
41380         (WebInspector.ResourcesPanel.prototype.resize):
41381         (WebInspector.ResourcesPanel.prototype.reset):
41382         (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
41383         (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
41384         (WebInspector.ResourceTimeCalculator):
41385         (WebInspector.ResourceTransferSizeCalculator):
41386         (WebInspector.ResourceTransferSizeCalculator.prototype.computeBarGraphLabels):
41387         * inspector/front-end/SummaryBar.js:
41388         (WebInspector.SummaryBar.prototype.update):
41389         * inspector/front-end/WebKit.qrc:
41390         * inspector/front-end/inspector.html:
41391         * inspector/front-end/inspector.js:
41392         (WebInspector.loaded):
41393
41394 2009-10-26  Avi Drissman  <avi@google.com>
41395
41396         Reviewed by Darin Adler.
41397
41398         Use Helvetica in the Inspector as intended.
41399         https://bugs.webkit.org/show_bug.cgi?id=30787
41400
41401         * inspector/front-end/inspector.css:
41402
41403 2009-10-26  Nate Chapin  <japhet@chromium.org>
41404
41405         Reviewed by Alexey Proskuryakov.
41406
41407         Don't set window.opener to 0 for the current FrameLoader if a noreferrer link was clicked, only suppress opener in a new frame.
41408         https://bugs.webkit.org/show_bug.cgi?id=30781
41409
41410         * loader/FrameLoader.cpp:
41411         (WebCore::FrameLoader::urlSelected): Don't suppress opener in the current frame for noreferrer navigations.
41412
41413 2009-10-26  Ryosuke Niwa  <rniwa@webkit.org>
41414
41415         Reviewed by Eric Seidel.
41416
41417         Data loss occurs when unbolding nested bold tags.
41418         https://bugs.webkit.org/show_bug.cgi?id=30083
41419
41420         Fixes the loop in swapInNodePreservingAttributesAndChildren by saving nextSibling() of child
41421         to a temporary valuable.  It was originally calling nextSibling() after appending the child
41422         to new parent, in which case, nextSibling is always 0.
41423
41424         Test: editing/style/unbolding-nested-b.html
41425
41426         * editing/ReplaceNodeWithSpanCommand.cpp:
41427         (WebCore::swapInNodePreservingAttributesAndChildren):
41428
41429 2009-10-21  Jeremy Orlow  <jorlow@chromium.org>
41430
41431         Reviewed by Darin Adler.
41432
41433         Storage events should use Document::url() rather than documentURI()
41434         https://bugs.webkit.org/show_bug.cgi?id=30535
41435
41436         Storage events should use Document::url() rather than Document::documentURI()
41437         per http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-October/023703.html
41438
41439         Test: storage/domstorage/documentURI.html
41440
41441         * storage/StorageEventDispatcher.cpp:
41442         (WebCore::StorageEventDispatcher::dispatch):
41443
41444 2009-10-26  Sam Weinig  <sam@webkit.org>
41445
41446         Rubber-stamped by Darin Adler.
41447
41448         Rollout r50041-50043.  The HTML5 spec changed to make HTMLOptionsCollection
41449         inherit from HTMLCollection.
41450
41451         * GNUmakefile.am:
41452         * WebCore.gypi:
41453         * WebCore.pro:
41454         * WebCore.vcproj/WebCore.vcproj:
41455         * WebCore.xcodeproj/project.pbxproj:
41456         * bindings/js/JSHTMLAllCollectionCustom.cpp:
41457         (WebCore::getNamedItems):
41458         (WebCore::callHTMLAllCollection):
41459         (WebCore::JSHTMLAllCollection::nameGetter):
41460         (WebCore::JSHTMLAllCollection::item):
41461         (WebCore::JSHTMLAllCollection::namedItem):
41462         * bindings/js/JSHTMLCollectionCustom.cpp:
41463         (WebCore::getNamedItems):
41464         (WebCore::callHTMLCollection):
41465         (WebCore::JSHTMLCollection::nameGetter):
41466         (WebCore::JSHTMLCollection::item):
41467         (WebCore::JSHTMLCollection::namedItem):
41468         (WebCore::toJS):
41469         * bindings/js/JSHTMLCollectionFunctions.h: Removed.
41470         * bindings/js/JSHTMLDocumentCustom.cpp:
41471         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
41472         (WebCore::JSHTMLOptionsCollection::length):
41473         (WebCore::JSHTMLOptionsCollection::indexSetter):
41474         * bindings/objc/DOMHTML.mm:
41475         (kitClass):
41476         * bindings/objc/DOMUtility.mm:
41477         (JSC::createDOMWrapper):
41478         * bindings/scripts/CodeGeneratorJS.pm:
41479         * html/HTMLCollection.idl:
41480         * html/HTMLOptionsCollection.idl:
41481
41482 2009-10-26  Brent Fulgham  <bfulgham@webkit.org>
41483
41484         Reviewed by Adam Roben.
41485
41486         Build fix for ENABLE_FILTERS under Windows.
41487         https://bugs.webkit.org/show_bug.cgi?id=30762
41488
41489         Build correction for ENABLE_FILTERS feature.  No new tests needed.
41490
41491         * WebCore.vcproj/WebCore.vcproj:  Make the following changes:
41492           (1) Create a new 'filters' sub-folder of the platform/graphics 
41493               folder to properly show the sources held in this directory.
41494           (2) Move the files that are currently shown in svn/graphics/filters
41495               to platform/graphics/filters (where they actually live on disk).
41496           (3) Add the missing SVGFilter, SVGFilterBuilder, and SVGFETile to
41497               the project so they are built.
41498           (4) Remove SVGFEFloodElement.cpp from the build, since it is already
41499               being compiled by SVGAllInOne.cpp.  Its presence as a separate
41500               entity is causing a linker warning for duplicate symbols.
41501           (5) Add ImageBuffer.cpp to the build to support color space
41502               calculations for non-CG builds.
41503         * WebCore.vcproj/WebCoreCommon.vsprops: Add the platform/graphics/filters
41504           path to the search paths in the project.
41505
41506 2009-10-26  Keishi Hattori  <casey.hattori@gmail.com>
41507
41508         Reviewed by Timothy Hatcher.
41509
41510         console.assert should prefix messages with "Assertion failed: "
41511         https://bugs.webkit.org/show_bug.cgi?id=19135
41512
41513         * English.lproj/localizedStrings.js:
41514         * inspector/front-end/ConsoleView.js:
41515         (WebInspector.ConsoleMessage.prototype.toMessageElement): Append "Assertion failed: " for AssertMessageType.
41516         (WebInspector.ConsoleMessage.prototype.toString):
41517         * page/Console.cpp:
41518         (WebCore::Console::assertCondition): Use AssertMessageType.
41519         * page/Console.h:
41520         (WebCore::MessageType): Added AssertMessageType.
41521
41522 2009-10-26  Rahul Kuchhal  <kuchhal@chromium.org>
41523
41524         Reviewed by Eric Seidel.
41525
41526         Prevent crash when optgroup element is empty by adding a NULL check.
41527
41528         https://bugs.webkit.org/show_bug.cgi?id=30365
41529
41530         Test: fast/forms/select-empty-optgroup.html
41531
41532         * dom/SelectElement.cpp:
41533         (WebCore::SelectElement::appendFormData):
41534
41535 2009-10-21  Steven Knight  <sgk@chromium.org>
41536
41537         Reviewed by David Levin.
41538
41539         Refactor gyp for separate webcore_bindings{,_sources} targets.
41540
41541         https://bugs.webkit.org/show_bug.cgi?id=30447
41542
41543         Handle long link lines by building .idl-generated bindings in a
41544         separate webcore_bindings library target.  Avoid Visual Studio
41545         dependency issues by building additional generated .cpp and .h files
41546         in a separate webcore_bindings_sources target.
41547
41548         Chrome should still build and test successfully.
41549
41550         * WebCore.gyp/WebCore.gyp:
41551         * WebCore.gypi:
41552
41553 2009-10-26  Mike Belshe  <mike@belshe.com>
41554
41555         Reviewed by Darin Fisher.
41556
41557         Make the number of connections for chromium controlled by
41558         chromium rather than by ResourceRequestBase.
41559         https://bugs.webkit.org/show_bug.cgi?id=30661
41560
41561         * platform/network/ResourceRequestBase.cpp:
41562         * platform/network/chromium/ResourceRequest.cpp:
41563
41564 2009-10-26  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
41565
41566         Unreviewed. make distcheck build fixes.
41567
41568         * GNUmakefile.am:
41569
41570 2009-10-26  Anton Muhin  <antonm@chromium.org>
41571
41572         Reviewed by Dimitri Glazkov.
41573
41574         Unbreak Chromium build: that requires adding custom implementations
41575         for HTMLOptionsCollection's item and namedItem.  Keep v8 binding
41576         close to JSC bindings as well.
41577         https://bugs.webkit.org/show_bug.cgi?id=30780
41578
41579         * bindings/v8/V8Collection.h:
41580         (WebCore::getNamedItemsFromCollection):
41581         (WebCore::getItemFromCollection):
41582         * bindings/v8/custom/V8CustomBinding.h:
41583         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
41584         (WebCore::NAMED_PROPERTY_GETTER):
41585         (WebCore::CALLBACK_FUNC_DECL):
41586         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
41587         (WebCore::NAMED_PROPERTY_GETTER):
41588         (WebCore::CALLBACK_FUNC_DECL):
41589         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
41590         (WebCore::CALLBACK_FUNC_DECL):
41591
41592 2009-10-23  Alexey Proskuryakov  <ap@apple.com>
41593
41594         Reviewed by Adam Barth and Darin Adler.
41595
41596         https://bugs.webkit.org/show_bug.cgi?id=30723
41597         <rdar://problem/6189415> Input names added to multipart/form-data headers need to be escaped.
41598
41599         Test: http/tests/security/escape-form-data-field-names.html
41600
41601         * platform/network/FormDataBuilder.cpp:
41602         (WebCore::appendQuotedString):
41603         (WebCore::FormDataBuilder::beginMultiPartHeader):
41604         (WebCore::FormDataBuilder::addFilenameToMultiPartHeader):
41605         Percent-escape line breaks and quotation marks.
41606
41607 2009-10-26  Kelly Norton  <knorton@google.com>
41608
41609         Reviewed by Pavel Feldman.
41610
41611         Adds DOMTimer support to InspectorTimelineAgent.
41612         https://bugs.webkit.org/show_bug.cgi?id=30467
41613
41614         * inspector/InspectorTimelineAgent.cpp: Added timer support and fixed some method names.
41615         (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
41616         (WebCore::InspectorTimelineAgent::didLayout):
41617         (WebCore::InspectorTimelineAgent::didRecalculateStyle):
41618         (WebCore::InspectorTimelineAgent::didPaint):
41619         (WebCore::InspectorTimelineAgent::didWriteHTML):
41620         (WebCore::InspectorTimelineAgent::didInstallTimer): Added.
41621         (WebCore::InspectorTimelineAgent::didRemoveTimer): Added.
41622         (WebCore::InspectorTimelineAgent::willFireTimer): Added.
41623         (WebCore::InspectorTimelineAgent::didFireTimer): Added.
41624         (WebCore::InspectorTimelineAgent::addItemToTimeline): Added.
41625         (WebCore::InspectorTimelineAgent::didCompleteCurrentTimelineItem): Renamed.
41626         * inspector/InspectorTimelineAgent.h:
41627         (WebCore::):
41628         * inspector/TimelineItemFactory.cpp: Add methods for timer-related ScriptObjects.
41629         (WebCore::TimelineItemFactory::createGenericTimerTimelineItem):
41630         (WebCore::TimelineItemFactory::createTimerInstallTimelineItem):
41631         * inspector/TimelineItemFactory.h:
41632         * page/DOMTimer.cpp: Added instrumentation points.
41633         (WebCore::DOMTimer::install):
41634         (WebCore::DOMTimer::removeById):
41635         (WebCore::DOMTimer::fired):
41636
41637 2009-10-26  Simon Fraser  <simon.fraser@apple.com>
41638
41639         Reviewed by Sam Weinig.
41640
41641         <rdar://problem/6988966> Hardware layers do not show up in page snapshots
41642
41643         Add a method that gets called when snapshotting Canvas3DLayers for page snapshots,
41644         that allows the layer to return a CGImageRef of its contents.
41645         
41646         * platform/graphics/mac/Canvas3DLayer.h:
41647         * platform/graphics/mac/Canvas3DLayer.mm:
41648         (-[Canvas3DLayer copyImageSnapshotWithColorSpace:]):
41649
41650 2009-10-26  Yury Semikhatsky  <yurys@chromium.org>
41651
41652         Reviewed by Pavel Feldman.
41653
41654         Pass "console" as object group when evaluating selection.
41655
41656         https://bugs.webkit.org/show_bug.cgi?id=30738
41657
41658         * inspector/front-end/SourceFrame.js:
41659         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
41660
41661 2009-10-26  Keishi Hattori  <casey.hattori@gmail.com>
41662
41663         Reviewed by Pavel Feldman.
41664
41665         Fix for Console not showing repeat count when repeatedly logging an Event
41666         https://bugs.webkit.org/show_bug.cgi?id=30324
41667
41668         * inspector/ConsoleMessage.cpp:
41669         (WebCore::ConsoleMessage::addToConsole):
41670         (WebCore::ConsoleMessage::updateRepeatCountInConsole): Added.
41671         * inspector/ConsoleMessage.h:
41672         * inspector/InspectorController.cpp:
41673         (WebCore::InspectorController::addConsoleMessage): Calls updateRepeatCountInConsole if it is a repeating message.
41674         * inspector/InspectorFrontend.cpp:
41675         (WebCore::InspectorFrontend::addConsoleMessage): Renamed WebCore::InspectorFrontend::addMessageToConsole
41676         (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount): Added. Called when repeatCount is incremented.
41677         * inspector/InspectorFrontend.h:
41678         * inspector/front-end/ConsoleView.js:
41679         (WebInspector.ConsoleView.prototype.addMessage): Removed calls to msg.isEqual.
41680         (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): Added.
41681         (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): Added. Updates the error/warning count.
41682         (WebInspector.ConsoleView.prototype.clearMessages):
41683         (WebInspector.ConsoleMessage):
41684         (WebInspector.ConsoleMessage.prototype.toMessageElement): Use ConsoleMessage._updateRepeatCount
41685         (WebInspector.ConsoleMessage.prototype._updateRepeatCount):
41686         * inspector/front-end/inspector.js:
41687         (WebInspector.addConsoleMessage): Renamed WebInspector.addMessageToConsole.
41688         (WebInspector.updateConsoleMessageRepeatCount): Added.
41689
41690 2009-10-26  Chris Fleizach  <cfleizach@apple.com>
41691
41692         Reviewed by Darin Adler.
41693
41694         crash with AX on when an image map contains an anchor tag
41695         https://bugs.webkit.org/show_bug.cgi?id=30739
41696
41697         Tests: accessibility/crashing-a-tag-in-map.html
41698
41699         * accessibility/AccessibilityRenderObject.cpp:
41700         (WebCore::AccessibilityRenderObject::addChildren):
41701
41702 2009-10-26  Steve Block  <steveblock@google.com>
41703
41704         Reviewed by Eric Seidel.
41705
41706         Adds feature ENABLE guards to V8 bindings.
41707         https://bugs.webkit.org/show_bug.cgi?id=30697
41708
41709         This adds guards for the following features to the V8 bindings,
41710         to allow builds with V8 to succeed when these features are not enabled.
41711         - DATABASE
41712         - WORKERS
41713         - SHARED_WORKERS
41714         - SVG
41715         - XPATH
41716         - XSLT
41717         - INSPECTOR
41718
41719         This is a build fix only, no new tests required.
41720
41721         * bindings/v8/DOMObjectsInclude.h: Modified.
41722         * bindings/v8/DerivedSourcesAllInOne.cpp: Modified.
41723         * bindings/v8/V8Index.cpp: Modified.
41724         * bindings/v8/V8Index.h: Modified.
41725
41726 2009-10-26  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
41727
41728         Reviewed by Xan Lopez.
41729
41730         https://bugs.webkit.org/show_bug.cgi?id=25679
41731         [Gtk] Improve accessibility of focusable lists
41732
41733         Fixes the issues with the Atk states exposed for ListBoxOption
41734
41735         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
41736         (setAtkStateSetFromCoreObject):
41737
41738 2009-10-26  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
41739
41740         Reviewed by Xan Lopez.
41741
41742         https://bugs.webkit.org/show_bug.cgi?id=27085
41743         [Gtk] Incorrect rendering of list
41744
41745         Adds a way for platforms to indicate that a particular object
41746         should not be ignored.
41747
41748         * accessibility/AccessibilityObject.h:
41749         * accessibility/chromium/AccessibilityObjectChromium.cpp:
41750         * accessibility/gtk/AccessibilityObjectAtk.cpp:
41751         * accessibility/mac/AccessibilityObjectMac.mm:
41752         * accessibility/qt/AccessibilityObjectQt.cpp:
41753         * accessibility/win/AccessibilityObjectWin.cpp:
41754         * accessibility/wx/AccessibilityObjectWx.cpp:
41755         (AccessibilityObject::accessibilityPlatformIncludesObject):
41756         * accessibility/AccessibilityRenderObject.cpp:
41757         (AccessibilityRenderObject::accessibilityIsIgnored):
41758
41759 2009-10-26  Kinuko Yasuda  <kinuko@google.com>
41760
41761         Reviewed by Jan Alonzo.
41762
41763         Bug 30619: [Linux] Menu key doesn't work
41764         https://bugs.webkit.org/show_bug.cgi?id=30619
41765
41766         Test: manual-tests/keyboard-menukey-event.html
41767         No new layout tests: testing this will require changes in the test
41768         controller in a platform-specific way.
41769
41770         * platform/chromium/KeyCodeConversionGtk.cpp:
41771         (WebCore::windowsKeyCodeForKeyEvent): changed switch-case code for
41772         GDK_Menu to return VKEY_APPS instead of VKEY_MENU.
41773         * platform/gtk/KeyEventGtk.cpp:
41774         (WebCore::windowsKeyCodeForKeyEvent): changed switch-case code for
41775         GDK_Menu to return V_APPS instead of VK_MENU.
41776
41777 2009-10-25  Anton Muhin  <antonm@chromium.org>
41778
41779         Reviewed by Adam Barth.
41780
41781         Reuse already fetched proxy.
41782         https://bugs.webkit.org/show_bug.cgi?id=30747
41783
41784         * bindings/v8/V8DOMWrapper.cpp:
41785         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
41786
41787 2009-10-25  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
41788
41789         Unreviewed build fix.
41790
41791         Build fix for WIN_OS if Netscape plugin support is turned off
41792         https://bugs.webkit.org/show_bug.cgi?id=30753
41793
41794         * plugins/PluginDatabase.cpp:
41795
41796 2009-10-25  Hironori Bono  <hbono@chromium.org>
41797
41798         Reviewed by Darin Adler.
41799
41800         A quick fix for Bug 29103.
41801         Since String::startsWith() cannot fold non-ASCII characters, this change folds the prefix string
41802         and the option string before calling String::startsWith().
41803         https://bugs.webkit.org/show_bug.cgi?id=29103
41804
41805         Tests: fast/forms/listbox-typeahead-cyrillic.html
41806                fast/forms/listbox-typeahead-greek.html
41807
41808         * dom/SelectElement.cpp:
41809         (WebCore::SelectElement::typeAheadFind):
41810
41811 2009-10-25  Keishi Hattori  <casey.hattori@gmail.com>
41812
41813         Reviewed by Timothy Hatcher.
41814
41815         Web Inspector: Expanding a node in the Console should not show the element in Elements panel
41816         https://bugs.webkit.org/show_bug.cgi?id=30749
41817
41818         * inspector/front-end/ElementsTreeOutline.js:
41819         (WebInspector.ElementsTreeElement.prototype.onmousedown): Check if inside disclosure triangle.
41820
41821 2009-10-25  Sam Weinig  <sam@webkit.org>
41822
41823         Reviewed by Dan Bernstein.
41824
41825         Fix for https://bugs.webkit.org/show_bug.cgi?id=30751
41826         HTMLOptionsCollection should not inherit from HTMLCollection
41827
41828         * GNUmakefile.am:
41829         * WebCore.gypi:
41830         * WebCore.pro:
41831         * WebCore.vcproj/WebCore.vcproj:
41832         * WebCore.xcodeproj/project.pbxproj:
41833         Added JSHTMLCollectionFunctions.h
41834
41835         * bindings/js/JSHTMLAllCollectionCustom.cpp:
41836         (WebCore::callHTMLAllCollection):
41837         (WebCore::JSHTMLAllCollection::nameGetter):
41838         (WebCore::JSHTMLAllCollection::item):
41839         (WebCore::JSHTMLAllCollection::namedItem):
41840         * bindings/js/JSHTMLCollectionCustom.cpp:
41841         (WebCore::callHTMLCollection):
41842         (WebCore::JSHTMLCollection::nameGetter):
41843         (WebCore::JSHTMLCollection::item):
41844         (WebCore::JSHTMLCollection::namedItem):
41845         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
41846         (WebCore::callHTMLCollection):
41847         (WebCore::JSHTMLOptionsCollection::getCallData):
41848         (WebCore::JSHTMLOptionsCollection::canGetItemsForName):
41849         (WebCore::JSHTMLOptionsCollection::nameGetter):
41850         (WebCore::JSHTMLOptionsCollection::indexSetter):
41851         (WebCore::JSHTMLOptionsCollection::item):
41852         (WebCore::JSHTMLOptionsCollection::namedItem):
41853         Refactor to use generic implementation of HTMLCollection bindings functions
41854         from JSHTMLCollectionFunctions.h
41855
41856         * bindings/js/JSHTMLCollectionFunctions.h: Added.
41857         (WebCore::getCollectionNamedItems):
41858         (WebCore::getCollectionItems):
41859         (WebCore::callHTMLCollectionGeneric):
41860         Added generic functions that JSHTMLCollection, JSHTMLAllCollection and
41861         JSHTMLOptionsCollection can all use.
41862
41863         * bindings/js/JSHTMLDocumentCustom.cpp: Add include of JSHTMLAllCollection.h
41864         for toJS on document.all.
41865
41866         * bindings/objc/DOMHTML.mm:
41867         * bindings/objc/DOMUtility.mm:
41868         (JSC::createDOMWrapper):
41869         Remove special cases for HTMLOptionsCollection.
41870
41871         * bindings/scripts/CodeGeneratorJS.pm:
41872         * html/HTMLAllCollection.idl:
41873         * html/HTMLCollection.idl:
41874         * html/HTMLOptionsCollection.idl:
41875
41876 2009-10-24  Keishi Hattori  <casey.hattori@gmail.com>
41877
41878         Reviewed by Timothy Hatcher.
41879
41880         WebInspector: Fixed issue with IME inside console
41881         https://bugs.webkit.org/show_bug.cgi?id=30660
41882
41883         * inspector/front-end/ConsoleView.js:
41884         (WebInspector.ConsoleView.prototype._promptKeyDown):
41885         * inspector/front-end/DatabaseQueryView.js:
41886         (WebInspector.DatabaseQueryView.prototype._promptKeyDown):
41887         * inspector/front-end/inspector.js:
41888         (WebInspector.loaded):
41889         (WebInspector.searchKeyDown): Moved performSearch here from WebInspector.searchKeyUp.
41890         (WebInspector.startEditing.element.handleKeyEvent):
41891         (WebInspector.startEditing):
41892         * inspector/front-end/utilities.js:
41893         (isEnterKey): Added. Check if in IME.
41894
41895 2009-10-24  Brian Weinstein  <bweinstein@apple.com>
41896
41897         Reviewed by Timothy Hatcher.
41898
41899         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30752>.
41900         Web Inspector: Multiple Selection on Scope Bars by default Conflicts with other behavior on OSX.
41901         
41902         Have the scope bars select one scope by default, but if the multiple selection key
41903         is pressed, allow for multiple selection.
41904
41905         * inspector/front-end/ConsoleView.js:
41906         (WebInspector.ConsoleView):
41907         (WebInspector.ConsoleView.prototype._updateFilter):
41908         (WebInspector.ConsoleView.prototype.filter):
41909         * inspector/front-end/ResourcesPanel.js:
41910         (WebInspector.ResourcesPanel):
41911         (WebInspector.ResourcesPanel.prototype.filter):
41912         (WebInspector.ResourcesPanel.prototype._updateFilter):
41913
41914 2009-10-24  Timothy Hatcher  <timothy@apple.com>
41915
41916         Make the scope bars in the Web Inspector match other scope bars in Mac OS X.
41917         Also cleans up the CSS to use classes instead of ID selectors.
41918
41919         https://bugs.webkit.org/show_bug.cgi?id=28186
41920
41921         Reviewed by Dan Bernstein.
41922
41923         * inspector/front-end/ResourcesPanel.js: Add the scope-bar class.
41924         * inspector/front-end/inspector.css: Lots of changes to make it look right.
41925         * inspector/front-end/inspector.html: Add the scope-bar class.
41926
41927 2009-10-24  Timothy Hatcher  <timothy@apple.com>
41928
41929         Fix selecting Resources in the Web Inspector's Resources panel.
41930
41931         https://bugs.webkit.org/show_bug.cgi?id=30743
41932
41933         Reviewed by Pavel Feldman.
41934
41935         * inspector/front-end/ResourcesPanel.js:
41936         (WebInspector.ResourcesPanel.prototype.isCategoryVisible): Added.
41937         (WebInspector.ResourceSidebarTreeElement.prototype.get selectable): Call
41938         isCategoryVisible on the ResourcesPanel.
41939
41940 2009-10-24  Timothy Hatcher  <timothy@apple.com>
41941
41942         Fix the Scope Bar in the Web Inspector's Resource panel, so that selecting
41943         All will deselect the other filters.
41944
41945         https://bugs.webkit.org/show_bug.cgi?id=30744
41946
41947         Reviewed by Pavel Feldman.
41948
41949         * inspector/front-end/ResourcesPanel.js:
41950         (WebInspector.ResourcesPanel.createFilterElement): Better syntax.
41951         (WebInspector.ResourcesPanel):
41952         (WebInspector.ResourcesPanel.prototype.filter): Use a normal for loop,
41953         and the child variable instead of target in the loop. Other clean up.
41954
41955 2009-10-24  Timothy Hatcher  <timothy@apple.com>
41956
41957         Make resizing the Web Inspector's Elements panel sidebar work again.
41958         Also makes Resources panel use the sidebar code in Panel.
41959
41960         https://bugs.webkit.org/show_bug.cgi?id=30742
41961
41962         Reviewed by Pavel Feldman.
41963
41964         * inspector/front-end/Panel.js:
41965         (WebInspector.Panel): Don't create the sidebar with an argument.
41966         (WebInspector.Panel.prototype.show): Call updateSidebarWidth.
41967         (WebInspector.Panel.prototype.handleKeyEvent): Call handleSidebarKeyEvent.
41968         (WebInspector.Panel.prototype.handleSidebarKeyEvent): Added.
41969         (WebInspector.Panel.prototype.createSidebar): Renamed from _createSidebar.
41970         (WebInspector.Panel.prototype._sidebarDragging): Call updateSidebarWidth.
41971         (WebInspector.Panel.prototype.updateSidebarWidth): Renamed from _updateSidebarWidth.
41972         (WebInspector.Panel.prototype.setSidebarWidth): Added. Called by updateSidebarWidth.
41973         (WebInspector.Panel.prototype.updateMainViewWidth): Renamed from setMainViewWidth.
41974         * inspector/front-end/ProfilesPanel.js:
41975         (WebInspector.ProfilesPanel): Call createSidebar.
41976         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth): Renamed from setMainViewWidth.
41977         * inspector/front-end/ResourcesPanel.js:
41978         (WebInspector.ResourcesPanel.prototype.show): Remove call to _updateSidebarWidth.
41979         (WebInspector.ResourcesPanel.prototype.showResource): Call updateSidebarWidth
41980         (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Ditto.
41981         (WebInspector.ResourcesPanel.prototype.setSidebarWidth): Added.
41982         (WebInspector.ResourcesPanel.prototype.updateMainViewWidth): Added.
41983         * inspector/front-end/StoragePanel.js:
41984         (WebInspector.StoragePanel): Call createSidebar.
41985         (WebInspector.StoragePanel.prototype.updateMainViewWidth): Renamed from setMainViewWidth.
41986         * inspector/front-end/TimelinePanel.js:
41987         (WebInspector.TimelinePanel): Call createSidebar.
41988         (WebInspector.TimelinePanel.prototype.updateMainViewWidth): Renamed from setMainViewWidth.
41989
41990 2009-10-24  Timothy Hatcher  <timothy@apple.com>
41991
41992         Call updateSelection() in a few places so hovering in the Web Inspector's
41993         Elements panel always has the correct row selection height.
41994
41995         https://bugs.webkit.org/show_bug.cgi?id=30735
41996
41997         Reviewed by Pavel Feldman.
41998
41999         * inspector/front-end/ElementsTreeOutline.js:
42000         (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton): Call updateSelection().
42001         (WebInspector.ElementsTreeElement.prototype._insertInLastAttributePosition): Ditto.
42002         * inspector/front-end/inspector.css: Prevent text wrapping in the middle of the add attribute text.
42003
42004 2009-10-24  Timothy Hatcher  <timothy@apple.com>
42005
42006         Remove the re-root tree feature from the Web Inspector's
42007         Elements panel. This feature wasn't super useful and gets
42008         in the way of double-click to edit.
42009
42010         https://bugs.webkit.org/show_bug.cgi?id=30736
42011
42012         Reviewed by Pavel Feldman.
42013
42014         * inspector/front-end/ElementsTreeOutline.js:
42015         (WebInspector.ElementsTreeElement.prototype.ondblclick):
42016
42017 2009-10-24  Anton Muhin  <antonm@chromium.org>
42018
42019         Reviewed by Adam Barth.
42020
42021         Implements ReturnsNew hint for V8 bindings generation code.
42022         https://bugs.webkit.org/show_bug.cgi?id=30745
42023
42024         * bindings/scripts/CodeGeneratorV8.pm:
42025         * bindings/v8/V8DOMWrapper.h:
42026         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
42027
42028 2009-10-24  Dan Bernstein  <mitz@apple.com>
42029
42030         Reviewed by Sam Weinig.
42031
42032         Missing images at 350.org due to wrong URLs
42033         https://bugs.webkit.org/show_bug.cgi?id=30748
42034
42035         Test: fast/dom/HTMLImageElement/parse-src.html
42036
42037         * dom/Element.cpp:
42038         (WebCore::Element::getURLAttribute): Pass the attribute value through deprecateParseURL().
42039         This matches what the Objective-C bindings do, as well as what HTMLImageLoader::sourceURI()
42040         and SVGImageLoader::sourceURI() do.
42041
42042 2009-10-24  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
42043
42044         Unreviewed.
42045
42046         [Qt] Build fix for QtWebKit after r50013.
42047
42048         * WebCore.pro:
42049
42050 2009-10-24  Dimitri Glazkov  <dglazkov@chromium.org>
42051
42052         Unreviewed, build fix.
42053
42054         [V8] Fix up to accommodate for HTMLAllCollection changes in
42055         http://trac.webkit.org/changeset/49998.
42056
42057         * WebCore.gypi:
42058         * bindings/scripts/CodeGeneratorV8.pm:
42059         * bindings/v8/custom/V8CustomBinding.h:
42060         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
42061
42062 2009-10-23  Dan Bernstein  <mitz@apple.com>
42063
42064         Reviewed by Alexey Proskuryakov.
42065
42066         <rdar://problem/7294131> Assertion failure in AuthenticationMac at
42067         mac(const Credential&) after authenticating to MobileMe Gallery movie
42068
42069         * platform/network/Credential.cpp:
42070         (WebCore::Credential::Credential): Initialize m_persistence.
42071         (WebCore::Credential::isEmpty): Made this method const.
42072         * platform/network/Credential.h:
42073         * platform/network/mac/AuthenticationMac.mm:
42074         (WebCore::mac): Return nil if the Credential is empty.
42075
42076 2009-10-23  Brian Weinstein  <bweinstein@apple.com>
42077
42078         Reviewed by Timothy Hatcher.
42079
42080         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30617>.
42081         Web Inspector: Resources Scope Bar Should Allow Combinations.
42082         
42083         Refactor the filtering in ResourcePanel to make it match ConsoleView,
42084         and add a divider between All, and the other choices of Resource types.
42085
42086         * inspector/front-end/ResourcesPanel.js:
42087         (WebInspector.ResourcesPanel):
42088         (WebInspector.ResourcesPanel.prototype.filter):
42089         (WebInspector.ResourcesPanel.prototype._updateFilter):
42090         * inspector/front-end/inspector.css:
42091
42092 2009-10-23  Chris Evans  <cevans@chromium.org>
42093
42094         Reviewed by Adam Barth.
42095
42096         Ignore the Refresh header if we're in view source mode.
42097
42098         https://bugs.webkit.org/show_bug.cgi?id=27239
42099
42100         Test: http/tests/security/view-source-no-refresh.html
42101
42102         * loader/FrameLoader.cpp: ignore Refresh in view-source mode.
42103
42104 2009-10-23  Alexey Proskuryakov  <ap@apple.com>
42105
42106         Reviewed by Sam Weinig.
42107
42108         https://bugs.webkit.org/show_bug.cgi?id=30734
42109         Remove XMLTokenizer::m_currentNodeIsReferenced
42110
42111         No change in behavior, no tests.
42112
42113         * dom/XMLTokenizer.cpp:
42114         (WebCore::XMLTokenizer::setCurrentNode):
42115         * dom/XMLTokenizer.h:
42116         Don't store a boolean for the current node being the document - we can always check for that.
42117
42118         * dom/XMLTokenizerLibxml2.cpp:
42119         (WebCore::XMLTokenizer::XMLTokenizer):
42120         * dom/XMLTokenizerQt.cpp:
42121         (WebCore::XMLTokenizer::XMLTokenizer):
42122         A fragment passed to XMLTokenizer is never null - in fact, the first thing we do is dereference
42123         it unconditionally, and then begin checking it for null, as if it could help.
42124
42125 2009-10-23  Beth Dakin  <bdakin@apple.com>
42126
42127         No review since this is a build fix.
42128
42129         Build fix for the Mac. (Build is only broken when SVG filters are 
42130         enabled.)
42131
42132         Labelled these function static.
42133         * platform/graphics/filters/FEComponentTransfer.cpp:
42134         (WebCore::identity):
42135         (WebCore::table):
42136         (WebCore::discrete):
42137         (WebCore::linear):
42138         (WebCore::gamma):
42139         * platform/graphics/filters/FEGaussianBlur.cpp:
42140         (WebCore::boxBlur):
42141
42142 2009-10-23  Pavel Feldman  <pfeldman@chromium.org>
42143
42144         Reviewed by Timothy Hatcher.
42145
42146         Web Inspector: Implement a Timeline panel.
42147
42148         https://bugs.webkit.org/show_bug.cgi?id=30725
42149
42150         * WebCore.gypi:
42151         * WebCore.vcproj/WebCore.vcproj:
42152         * inspector/front-end/Images/timelineIcon.png: Added.
42153         * inspector/front-end/TimelineAgent.js:
42154         (WebInspector.addItemToTimeline):
42155         (WebInspector.timelineProfilerWasStarted):
42156         (WebInspector.timelineProfilerWasStopped):
42157         * inspector/front-end/TimelinePanel.js: Added.
42158         (WebInspector.TimelinePanel):
42159         (WebInspector.TimelinePanel.prototype.toolbarItemClass.get toolbarItemLabel):
42160         (WebInspector.TimelinePanel.prototype.get statusBarItems):
42161         (WebInspector.TimelinePanel.prototype.handleKeyEvent):
42162         (WebInspector.TimelinePanel.prototype.timelineWasStarted):
42163         (WebInspector.TimelinePanel.prototype.timelineWasStopped):
42164         (WebInspector.TimelinePanel.prototype.addItemToTimeline):
42165         (WebInspector.TimelinePanel.prototype._innerAddItemToTimeline):
42166         (WebInspector.TimelinePanel.prototype._toggleTimelineButton):
42167         (WebInspector.TimelinePanel.prototype.setMainViewWidth):
42168         (WebInspector.TimelinePanel.prototype.getItemTypeName):
42169         (WebInspector.TimelineRecordTreeElement):
42170         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
42171         * inspector/front-end/WebKit.qrc:
42172         * inspector/front-end/inspector.css:
42173         * inspector/front-end/inspector.html:
42174         * inspector/front-end/inspector.js:
42175         (WebInspector._createPanels):
42176
42177 2009-10-23  Joseph Pecoraro  <joepeck@webkit.org>
42178
42179         Reviewed by Timothy Hatcher.
42180
42181         Web Inspector: Clash Between Search's onkeyup and incremental search events
42182         https://bugs.webkit.org/show_bug.cgi?id=30731
42183
42184         * inspector/front-end/inspector.js:
42185         (WebInspector.performSearch): prevent incremental search event from clobbering a forced search
42186
42187 2009-10-23  Kelly Norton  <knorton@google.com>
42188
42189         Reviewed by Pavel Feldman.
42190
42191         Removes the need for C++ Timeline types in InspectorTimelineAgent in favor
42192         of ScriptObjects.
42193         https://bugs.webkit.org/show_bug.cgi?id=30707
42194
42195         * GNUmakefile.am:
42196         * WebCore.vcproj/WebCore.vcproj:
42197         * WebCore.xcodeproj/project.pbxproj:
42198         * inspector/DOMDispatchTimelineItem.cpp: Removed.
42199         * inspector/DOMDispatchTimelineItem.h: Removed.
42200         * inspector/InspectorTimelineAgent.cpp:
42201         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
42202         (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
42203         (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
42204         (WebCore::InspectorTimelineAgent::willLayout):
42205         (WebCore::InspectorTimelineAgent::didLayout):
42206         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
42207         (WebCore::InspectorTimelineAgent::didRecalculateStyle):
42208         (WebCore::InspectorTimelineAgent::willPaint):
42209         (WebCore::InspectorTimelineAgent::didPaint):
42210         (WebCore::InspectorTimelineAgent::willWriteHTML):
42211         (WebCore::InspectorTimelineAgent::didWriteHTML):
42212         (WebCore::InspectorTimelineAgent::reset):
42213         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
42214         (WebCore::InspectorTimelineAgent::pushCurrentTimelineItem):
42215         * inspector/InspectorTimelineAgent.h:
42216         (WebCore::InspectorTimelineAgent::TimelineItemEntry::TimelineItemEntry):
42217         * inspector/TimelineItem.cpp: Removed.
42218         * inspector/TimelineItem.h: Removed.
42219         * inspector/TimelineItemFactory.cpp: Added.
42220         (WebCore::TimelineItemFactory::createGenericTimelineItem):
42221         (WebCore::TimelineItemFactory::createDOMDispatchTimelineItem):
42222         * inspector/TimelineItemFactory.h: Added.
42223         (WebCore::):
42224         (WebCore::TimelineItemFactory::TimelineItemFactory):
42225
42226 2009-10-23  Gavin Barraclough  <barraclough@apple.com>
42227
42228         Reviewed by Geoff Garen.
42229
42230         https://bugs.webkit.org/show_bug.cgi?id=30729
42231         Provide private API to request the global context for a specific world.
42232         Used to initialize parameters on the global object.
42233
42234         * bindings/js/ScriptController.cpp:
42235         (WebCore::ScriptController::globalObject):
42236         * bindings/js/ScriptController.h:
42237
42238 2009-10-23  Steve Block  <steveblock@google.com>
42239
42240         Reviewed by Eric Seidel.
42241
42242         Fixes style problems in Android-specific files.
42243         https://bugs.webkit.org/show_bug.cgi?id=30717
42244
42245         Style changes only, no new tests possible.
42246
42247         * page/android/EventHandlerAndroid.cpp: Modified.
42248         (WebCore::EventHandler::passMouseDownEventToWidget): Fixes whitespace in method signature.
42249         (WebCore::EventHandler::passSubframeEventToSubframe): Fixes whitespace in method signature.
42250         (WebCore::EventHandler::passWheelEventToWidget): Fixes whitespace in method signature.
42251         (WebCore::EventHandler::passMouseMoveEventToSubframe): Fixes whitespace in method signature.
42252         * platform/android/ClipboardAndroid.h: Modified. Fixes header include order and indenting.
42253         * platform/android/CursorAndroid.cpp: Modified. 
42254         (WebCore::grabCursor): Fixes function braces.
42255         (WebCore::grabbingCursor): Fixes function braces.
42256         * platform/android/FileChooserAndroid.cpp: Modified.
42257         (WebCore::FileChooser::basenameForWidth): Fixes braces on while statement, and updates String::copy to String::threadsafeCopy.
42258         * platform/android/FileSystemAndroid.cpp: Modified. Fixes header include order.
42259         (WebCore::unloadModule): Fixes zero test.
42260         (WebCore::writeToFile): Fixes if statement structure.
42261         * platform/android/KeyEventAndroid.cpp: Modified.
42262         (WebCore::windowsKeyCodeForKeyEvent): Fixes switch statement indenting.
42263         (WebCore::keyIdentifierForAndroidKeyCode): Fixes switch statement indenting.
42264         * platform/android/ScreenAndroid.cpp: Modified. Fixes header include order and switch statement indenting.
42265         * platform/android/TemporaryLinkStubs.cpp: Modified. Fixes header include order.
42266
42267 2009-10-23  Sam Weinig  <sam@webkit.org>
42268
42269         Another shot at a fixed build.
42270
42271         * DerivedSources.cpp:
42272
42273 2009-10-23  Sam Weinig  <sam@webkit.org>
42274
42275         Another shot at a fixed build.
42276
42277         * html/HTMLOptionsCollection.idl:
42278
42279 2009-10-23  Brady Eidson  <beidson@apple.com>
42280
42281         50,000!
42282
42283         * ChangeLog: Point out revision 50,000.
42284
42285 2009-10-23  Sam Weinig  <sam@webkit.org>
42286
42287         Reviewed by Anders Carlsson.
42288
42289         Fix for https://bugs.webkit.org/show_bug.cgi?id=30695
42290         Drop .tags() support from HTMLCollection
42291
42292         - Make .tags() only work for HTMLAllCollections in JS. .tags() is still
42293           available for all HTMLCollection like objects in Objective-C since that
42294           is API.
42295         - Auto-generate HTMLAllCollection.
42296
42297         Test: fast/dom/HTMLDocument/document-all.html
42298
42299         * DerivedSources.make:
42300         * GNUmakefile.am:
42301         * WebCore.gypi:
42302         * WebCore.pro:
42303         * WebCore.vcproj/WebCore.vcproj:
42304         * WebCore.xcodeproj/project.pbxproj:
42305         * bindings/js/JSHTMLAllCollection.cpp: Removed.
42306         * bindings/js/JSHTMLAllCollection.h: Removed.
42307         * bindings/js/JSHTMLAllCollectionCustom.cpp: Added.
42308         (WebCore::getNamedItems):
42309         (WebCore::callHTMLAllCollection):
42310         (WebCore::JSHTMLAllCollection::getCallData):
42311         (WebCore::JSHTMLAllCollection::canGetItemsForName):
42312         (WebCore::JSHTMLAllCollection::nameGetter):
42313         (WebCore::JSHTMLAllCollection::item):
42314         (WebCore::JSHTMLAllCollection::namedItem):
42315         * bindings/js/JSHTMLCollectionCustom.cpp:
42316         (WebCore::toJS):
42317         * bindings/js/JSHTMLDocumentCustom.cpp:
42318         * bindings/scripts/CodeGeneratorJS.pm:
42319         * dom/Document.cpp:
42320         (WebCore::Document::all):
42321         * dom/Document.h:
42322         * dom/HTMLAllCollection.idl: Removed.
42323         * html/HTMLAllCollection.cpp: Added.
42324         (WebCore::HTMLAllCollection::create):
42325         (WebCore::HTMLAllCollection::HTMLAllCollection):
42326         (WebCore::HTMLAllCollection::~HTMLAllCollection):
42327         * html/HTMLAllCollection.h: Added.
42328         * html/HTMLAllCollection.idl: Added.
42329         * html/HTMLCollection.h:
42330         * html/HTMLCollection.idl:
42331         * html/HTMLDocument.idl:
42332         * page/DOMWindow.idl:
42333
42334 2009-10-23  Pavel Feldman  <pfeldman@chromium.org>
42335
42336         Reviewed by Timothy Hatcher.
42337
42338         Web Inspector: pull basic sidebar implementation into the Panel.
42339
42340         https://bugs.webkit.org/show_bug.cgi?id=30720
42341
42342         * inspector/front-end/Panel.js:
42343         (WebInspector.Panel):
42344         (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
42345         (WebInspector.Panel.prototype.handleKeyEvent):
42346         (WebInspector.Panel.prototype._createSidebar):
42347         (WebInspector.Panel.prototype._startSidebarDragging):
42348         (WebInspector.Panel.prototype._sidebarDragging):
42349         (WebInspector.Panel.prototype._endSidebarDragging):
42350         (WebInspector.Panel.prototype._updateSidebarWidth):
42351         (WebInspector.Panel.prototype.setCenterViewWidth):
42352         * inspector/front-end/ProfilesPanel.js:
42353         (WebInspector.ProfilesPanel):
42354         (WebInspector.ProfilesPanel.prototype.setCenterViewWidth):
42355         * inspector/front-end/StoragePanel.js:
42356         (WebInspector.StoragePanel):
42357         (WebInspector.StoragePanel.prototype.setCenterViewWidth):
42358
42359 2009-10-23  Jens Alfke  <snej@chromium.org>
42360
42361         Reviewed by Dimitri Glazkov.
42362
42363         Slight optimizations to object returning and exception handling in generated V8 bindings.
42364         https://bugs.webkit.org/show_bug.cgi?id=30599
42365
42366         * bindings/scripts/CodeGeneratorV8.pm: Generate better code
42367         * bindings/v8/V8DOMWrapper.h:
42368         (WebCore::V8DOMWrapper::convertToV8Object): Added overload that takes a Ref<>
42369         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
42370         (WebCore::CALLBACK_FUNC_DECL): Remove unnecessary template param to prevent compile error
42371
42372 2009-10-23  Alpha Lam  <hclam@chromium.org>
42373
42374         Reviewed by Eric Carlson.
42375
42376         Volume slider always starts at half volume
42377         https://bugs.webkit.org/show_bug.cgi?id=28322
42378
42379         Sets the value attribute of volume slider to the volume attribute
42380         of the media element. Also update the value attribute of the
42381         input element for the volume slider when the volume attribute
42382         of the media element is updated.
42383
42384         Test: media/video-volume-slider.html
42385
42386         * rendering/MediaControlElements.cpp:
42387         (WebCore::MediaControlVolumeSliderElement::update):
42388         Set the value attribute of the input element for the volume slider
42389         using the current volume of the media element.
42390         * rendering/MediaControlElements.h:
42391         Add method definition of update().
42392         * rendering/RenderMedia.cpp:
42393         (WebCore::RenderMedia::createVolumeSlider):
42394         Creates a volume slider with value attribute equals to the current
42395         volume attribute of the media element.
42396
42397 2009-10-23  Evan Martin  <evan@chromium.org>
42398
42399         Reviewed by Eric Seidel.
42400
42401         Chrome Linux: fix caret positioning in LTR complex languages
42402         The caret is positioned off by one in languages like Thai.
42403
42404         https://bugs.webkit.org/show_bug.cgi?id=28284
42405
42406         A group of us spent a while trying various approaches to write a test
42407         for this; however, since it is only that the blinking cursor is
42408         displayed incorrectly, we concluded it can not be tested.
42409
42410         (Patch by Hironori Bono.)
42411
42412         * platform/graphics/chromium/FontLinux.cpp:
42413         (WebCore::Font::selectionRectForComplexText):
42414
42415 2009-10-23  Tony Chang  <tony@chromium.org>
42416
42417         Reviewed by David Levin.
42418
42419         Fix Chromium build after IsoldatedWorld change (r49963).
42420         https://bugs.webkit.org/show_bug.cgi?id=30719
42421
42422         * bindings/ScriptControllerBase.cpp:
42423         * bindings/js/ScriptController.cpp:
42424         (WebCore::ScriptController::executeScriptInIsolatedWorld):
42425         * bindings/v8/ScriptController.cpp:
42426         (WebCore::mainThreadNormalWorld):
42427         * bindings/v8/ScriptController.h:
42428         (WebCore::ScriptController::windowShell):
42429         (WebCore::ScriptController::existingWindowShell):
42430         * dom/Document.cpp:
42431         (WebCore::Document::createWrapperCache):
42432         * dom/ScriptExecutionContext.cpp:
42433         * dom/ScriptExecutionContext.h:
42434         * xml/XMLHttpRequest.cpp:
42435         * xml/XMLHttpRequest.h:
42436
42437 2009-10-23  Xiaomei Ji  <xji@chromium.org>
42438
42439         Reviewed by Sam Weinig.
42440
42441         Fix caretRangeFromPoint()/elementFromPoint() returns wrong result 
42442         for a zoomed and scrolled page.
42443         https://bugs.webkit.org/show_bug.cgi?id=30689.
42444
42445         The real cause is the wrong calculation of event.clientX/Y when
42446         page is zoomed and scolled.
42447         After Sam fixed the event.clientX/Y in r49551, the hit test point
42448         should be recalculated (revert r49490).
42449
42450         Test: fast/dom/Document/CaretRangeFromPoint/caretRangeFromPoint-in-zoom-and-scroll.html
42451
42452         * dom/Document.cpp:
42453         (WebCore::Document::elementFromPoint): calculate the correct point
42454         relative to document when page is zoomed and scrolled.
42455         (WebCore::Document::caretRangeFromPoint): calculate the correct point
42456         relative to document when page is zoomed and scrolled.
42457
42458 2009-10-22  Dumitru Daniliuc  <dumi@chromium.org>
42459
42460         Reviewed by Dmitry Titov.
42461
42462         Adding a class that allows us to enable/disable features at
42463         runtime. Adding a flag to enable database support.
42464
42465         https://bugs.webkit.org/show_bug.cgi?id=30653
42466
42467         * WebCore.gypi:
42468         * bindings/v8/RuntimeEnabledFeatures.cpp: Added.
42469         * bindings/v8/RuntimeEnabledFeatures.h: Added.
42470         (WebCore::RuntimeEnabledFeatures::setDatabaseEnabled):
42471         (WebCore::RuntimeEnabledFeatures::databaseEnabled):
42472         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
42473         * bindings/v8/custom/V8CustomBinding.h:
42474         * bindings/v8/custom/V8DOMWindowCustom.cpp:
42475         (WebCore::ACCESSOR_RUNTIME_ENABLER):
42476         * page/DOMWindow.idl:
42477
42478 2009-10-23  Keishi Hattori  <casey.hattori@gmail.com>
42479
42480         Reviewed by Timothy Hatcher.
42481
42482         Inspector injects _inspectorCommandLineAPI into global object when opened
42483         https://bugs.webkit.org/show_bug.cgi?id=30675
42484
42485         * inspector/front-end/InjectedScript.js:
42486         (InjectedScript.getCompletions):
42487         (InjectedScript._evaluateOn):
42488         (InjectedScript.addInspectedNode):
42489         (InjectedScript._ensureCommandLineAPIInstalled): Moved _inspectorCommandLineAPI from window to console.
42490
42491 2009-10-23  Janne Koskinen  <janne.p.koskinen@digia.com>
42492
42493         Reviewed by Tor Arne Vestbø.
42494
42495         [Qt] don't undef NULL in Symbian emulator
42496
42497         npapi.h way of defining mwerks compiler,__intel__
42498         and win32 are all true for Symbian emulator.
42499         Changed the definions so that NULL won't be undefined
42500         when compiling for Symbian emulator nor target HW.
42501
42502         * bridge/npapi.h:
42503
42504 2009-10-23  Janne Koskinen  <janne.p.koskinen@digia.com>
42505
42506         Reviewed by Tor Arne Vestbø.
42507
42508         [Qt] Correct linking of sqlite3 for Symbian
42509         https://bugs.webkit.org/show_bug.cgi?id=30569
42510
42511         ".lib" will try to include library as static library
42512         causing the library to be searched from wrong directory and if found
42513         will be statically linked instead of the inteded dynamic linking.
42514
42515         * WebCore.pro:
42516
42517 2009-10-23  Enrica Casucci  <enrica@apple.com>
42518
42519         Reviewed by Adele Peterson.
42520
42521         REGRESSION: Copy is copying incorrect background-color
42522         <rdar://problem/7248529>
42523         https://bugs.webkit.org/show_bug.cgi?id=29697
42524
42525         Test: editing/execCommand/indent-paragraphs.html
42526
42527         This change removes the BackgroundColor from the list 
42528         of inheritable CSS properties and changes significantly
42529         the way we perform indentation.
42530         The new implementation of IndentOutdentCommand uses a new method
42531         defined in CompositeEditCommand called moveParagraphWithClones.
42532         This is an improved version of the original moveParagraph that
42533         is aimed at preserving the original markup of the paragraph being
42534         moved.
42535
42536         * editing/ApplyStyleCommand.cpp:
42537         (WebCore::): removed CSSPropertyBackgroundColor from editingStyleProperties.
42538         * editing/CompositeEditCommand.cpp:
42539         (WebCore::CompositeEditCommand::CompositeEditCommand): Removed trailing blanks.
42540         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Removed trailing blanks.
42541         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): Added.
42542         (WebCore::CompositeEditCommand::cleanupAfterDeletion): Added.
42543         (WebCore::CompositeEditCommand::moveParagraphWithClones): Added.
42544         (WebCore::CompositeEditCommand::moveParagraphs): Modified to use cleanupAfterDeletion.
42545         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Removed trailing blanks.
42546         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Removed trailing blanks.
42547         (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): Removed trailing blanks.
42548         * editing/CompositeEditCommand.h: Added three new methods.
42549         * editing/IndentOutdentCommand.cpp:
42550         (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Changed to use moveParagraphWithClones.
42551         (WebCore::IndentOutdentCommand::indentIntoBlockquote): Changed to use moveParagraphWithClones.
42552         (WebCore::IndentOutdentCommand::indentRegion): Removed comment.
42553         * editing/IndentOutdentCommand.h: Removed prepareBlockquoteLevelForInsertion method.
42554
42555 2009-10-23  Steve Block  <steveblock@google.com>
42556
42557         Reviewed by Eric Seidel.
42558
42559         Adds missing UnusedParam.h includes, required when INSPECTOR is not enabled.
42560         https://bugs.webkit.org/show_bug.cgi?id=30677
42561
42562         Build fix, no new tests required.
42563
42564         * page/Console.cpp: Modified. Added UnusedParam.h include.
42565         * workers/WorkerContext.cpp: Modified. Added UnusedParam.h include.
42566
42567 2009-10-23  Girish Ramakrishnan  <girish@forwardbias.in>
42568
42569         Reviewed by Holger Freyther.
42570
42571         [Qt] Plugins : Use window's winId() instead of the widget's.
42572
42573         As per, https://developer.mozilla.org/en/NPN_GetValue
42574         NPNVnetscapeWindow on Unix/X11: "Gets the browser toplevel window in which the
42575         plug-in is displayed; returns Window".
42576
42577         The issue was found because NPNVNetscapeWindow winId() ends up creating
42578         a native window resulting in flicker.
42579
42580         https://bugs.webkit.org/show_bug.cgi?id=30706
42581
42582         * plugins/qt/PluginViewQt.cpp:
42583         (WebCore::PluginView::getValue):
42584
42585 2009-10-23  Girish Ramakrishnan  <girish@forwardbias.in>
42586
42587         Reviewed by Holger Freyther.
42588
42589         [Qt] Windowless Plugins : Don't use m_clipRect when painting.
42590
42591         Though it works, it is not correct to use m_clipRect for painting
42592         in Windowless mode. Instead, the rect paramater that is passed
42593         as a part of PluginView::paint() must be used. This change will
42594         also result in some speedup since previously we used to paint all
42595         the visible parts of a windowless plugin (even if those parts were
42596         not dirty).
42597
42598         Also, fix invalidateRect() to compute the correct width and height.
42599
42600         https://bugs.webkit.org/show_bug.cgi?id=30711
42601
42602         * plugins/qt/PluginViewQt.cpp:
42603         (WebCore::PluginView::paint):
42604         (WebCore::PluginView::invalidateRect):
42605
42606 2009-10-21  Girish Ramakrishnan  <girish@forwardbias.in>
42607
42608         Reviewed by Holger Freyther.
42609
42610         Plugins : Use test.swf in the plugins manual tests.
42611
42612         They previously referenced youtube videos which among other things are
42613         cumbersome to use without internet connection. The old youtube link is
42614         just commented out so that testing with youtube can be done with
42615         little effort.
42616
42617         https://bugs.webkit.org/show_bug.cgi?id=30662
42618
42619         * manual-tests/plugins/test.swf: Copied from LayoutTests/fast/replaced/resources/test.swf.
42620         * manual-tests/plugins/windowed.html:
42621         * manual-tests/plugins/windowless.html:
42622         * manual-tests/qt/plugin-sibling-frame-include.html:
42623
42624 2009-10-23  Brian Weinstein  <bweinstein@apple.com>
42625
42626         Reviewed by Jon Honeycutt.
42627
42628         Fix the Windows Release build by moving Accessibility files
42629         into all-in-one file and excluding them from the build.
42630
42631         * WebCore.vcproj/WebCore.vcproj:
42632         * accessibility/AccessibilityAllInOne.cpp: Added.
42633
42634 2009-10-16  Gavin Barraclough  <barraclough@apple.com>
42635
42636         Reviewed by Sam Weinig & Geoff Garen.
42637
42638         https://bugs.webkit.org/show_bug.cgi?id=30696
42639         Add support for IsolatedWorlds to JSC bindings.
42640
42641         An IsolatedWorld is basically a parallel, separate copy of the window shells and DOM wrapper objects for
42642         a given document.  To support isolation this patch:
42643
42644             * Adds support to the ScriptController to track multiple window shells, one per world.
42645             * Adds support to Document to support multiple separate wrapper-maps, one per world.
42646             * Replaces the single global DOM wrapper map (on the WebCoreJSClientData) with separate maps,
42647               stored on the (new) IsolatedWorld objects.
42648
42649         In addition to supporting separate copies of these objects, two other features are supported:
42650
42651             * It is necessary to track the current world on entry into JSC, so that within callbacks out to WebCore
42652               we can determine which world (and as such, set of DOM bindings) we should be operating on.
42653             * EventListeners & Callbacks are run in the world they were registered in.
42654               This requires the handler to retain a reference to the world.
42655
42656         No new tests. (Enabled existing isolated world layout tests.)
42657
42658         * WebCore.base.exp:
42659         * bindings/js/JSAbstractWorkerCustom.cpp:
42660         (WebCore::JSAbstractWorker::addEventListener):
42661         (WebCore::JSAbstractWorker::removeEventListener):
42662         * bindings/js/JSCallbackData.cpp:
42663         (WebCore::JSCallbackData::invokeCallback):
42664         * bindings/js/JSCallbackData.h:
42665         (WebCore::JSCallbackData::JSCallbackData):
42666         * bindings/js/JSCustomXPathNSResolver.cpp:
42667         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
42668         * bindings/js/JSDOMApplicationCacheCustom.cpp:
42669         (WebCore::JSDOMApplicationCache::addEventListener):
42670         (WebCore::JSDOMApplicationCache::removeEventListener):
42671         * bindings/js/JSDOMBinding.cpp:
42672         (WebCore::removeWrappers):
42673         (WebCore::DOMObjectWrapperMap::get):
42674         (WebCore::DOMObjectWrapperMap::set):
42675         (WebCore::DOMObjectWrapperMap::remove):
42676         (WebCore::DOMObjectWrapperMap::take):
42677         (WebCore::IsolatedWorld::IsolatedWorld):
42678         (WebCore::IsolatedWorld::~IsolatedWorld):
42679         (WebCore::EnterIsolatedWorld::EnterIsolatedWorld):
42680         (WebCore::EnterIsolatedWorld::~EnterIsolatedWorld):
42681         (WebCore::JSGlobalDataWorldIterator::JSGlobalDataWorldIterator):
42682         (WebCore::JSGlobalDataWorldIterator::operator bool):
42683         (WebCore::JSGlobalDataWorldIterator::operator*):
42684         (WebCore::JSGlobalDataWorldIterator::operator->):
42685         (WebCore::JSGlobalDataWorldIterator::operator++):
42686         (WebCore::getCurrentWorld):
42687         (WebCore::getNormalWorld):
42688         (WebCore::commonNormalWorld):
42689         (WebCore::commonCurrentWorld):
42690         (WebCore::DOMObjectHashTableMap::mapFor):
42691         (WebCore::DOMObjectWrapperMap::mapFor):
42692         (WebCore::forgetDOMObject):
42693         (WebCore::getCachedDOMNodeWrapper):
42694         (WebCore::forgetDOMNode):
42695         (WebCore::cacheDOMNodeWrapper):
42696         (WebCore::forgetAllDOMNodesForDocument):
42697         (WebCore::forgetWorldOfDOMNodesForDocument):
42698         (WebCore::isObservableThroughDOM):
42699         (WebCore::markDOMNodesForDocument):
42700         (WebCore::markActiveObjectsForContext):
42701         (WebCore::takeWrappers):
42702         (WebCore::updateDOMNodeDocument):
42703         (WebCore::markDOMObjectWrapper):
42704         (WebCore::allowsAccessFromFrame):
42705         (WebCore::printErrorMessageForFrame):
42706         (WebCore::JSC_DebuggerCallFrame_evaluateInWorld):
42707         (WebCore::JSC_callInWorld):
42708         (WebCore::JSC_constructInWorld):
42709         (WebCore::JSC_evaluateInWorld):
42710         * bindings/js/JSDOMBinding.h:
42711         (WebCore::IsolatedWorld::rememberDocument):
42712         (WebCore::IsolatedWorld::forgetDocument):
42713         (WebCore::IsolatedWorld::rememberScriptController):
42714         (WebCore::IsolatedWorld::forgetScriptController):
42715         (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
42716         (WebCore::DOMObjectHashTableMap::get):
42717         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
42718         (WebCore::WebCoreJSClientData::currentWorld):
42719         (WebCore::WebCoreJSClientData::normalWorld):
42720         (WebCore::WebCoreJSClientData::rememberWorld):
42721         (WebCore::WebCoreJSClientData::forgetWorld):
42722         (WebCore::debuggerWorld):
42723         (WebCore::pluginWorld):
42724         * bindings/js/JSDOMGlobalObject.cpp:
42725         (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
42726         (WebCore::toJSDOMGlobalObject):
42727         * bindings/js/JSDOMGlobalObject.h:
42728         * bindings/js/JSDOMWindowBase.cpp:
42729         (WebCore::JSDOMWindowBase::printErrorMessage):
42730         (WebCore::JSDOMWindowBase::commonJSGlobalData):
42731         (WebCore::toJS):
42732         (WebCore::toJSDOMWindow):
42733         * bindings/js/JSDOMWindowBase.h:
42734         * bindings/js/JSDOMWindowCustom.cpp:
42735         (WebCore::createWindow):
42736         (WebCore::JSDOMWindow::open):
42737         (WebCore::JSDOMWindow::showModalDialog):
42738         (WebCore::JSDOMWindow::setTimeout):
42739         (WebCore::JSDOMWindow::setInterval):
42740         (WebCore::JSDOMWindow::addEventListener):
42741         (WebCore::JSDOMWindow::removeEventListener):
42742         * bindings/js/JSDOMWindowShell.cpp:
42743         (WebCore::toJS):
42744         (WebCore::toJSDOMWindowShell):
42745         * bindings/js/JSDOMWindowShell.h:
42746         * bindings/js/JSDesktopNotificationsCustom.cpp:
42747         (WebCore::JSNotification::addEventListener):
42748         (WebCore::):
42749         * bindings/js/JSEventListener.cpp:
42750         (WebCore::JSEventListener::JSEventListener):
42751         (WebCore::JSEventListener::handleEvent):
42752         (WebCore::JSEventListener::reportError):
42753         * bindings/js/JSEventListener.h:
42754         (WebCore::JSEventListener::create):
42755         * bindings/js/JSEventSourceCustom.cpp:
42756         (WebCore::JSEventSource::addEventListener):
42757         (WebCore::JSEventSource::removeEventListener):
42758         * bindings/js/JSEventTarget.cpp:
42759         (WebCore::toJS):
42760         * bindings/js/JSHTMLDocumentCustom.cpp:
42761         (WebCore::JSHTMLDocument::open):
42762         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
42763         (WebCore::JSHTMLFrameSetElement::nameGetter):
42764         * bindings/js/JSInspectorBackendCustom.cpp:
42765         (WebCore::JSInspectorBackend::databaseForId):
42766         (WebCore::JSInspectorBackend::inspectedWindow):
42767         (WebCore::JSInspectorBackend::nodeForId):
42768         * bindings/js/JSLazyEventListener.cpp:
42769         (WebCore::JSLazyEventListener::JSLazyEventListener):
42770         (WebCore::JSLazyEventListener::parseCode):
42771         * bindings/js/JSLazyEventListener.h:
42772         (WebCore::JSLazyEventListener::create):
42773         * bindings/js/JSMessageChannelCustom.cpp:
42774         (WebCore::JSMessageChannel::markChildren):
42775         * bindings/js/JSMessagePortCustom.cpp:
42776         (WebCore::JSMessagePort::markChildren):
42777         (WebCore::JSMessagePort::addEventListener):
42778         (WebCore::JSMessagePort::removeEventListener):
42779         * bindings/js/JSNodeCustom.cpp:
42780         (WebCore::JSNode::addEventListener):
42781         (WebCore::JSNode::removeEventListener):
42782         (WebCore::JSNode::markChildren):
42783         * bindings/js/JSNodeFilterCondition.cpp:
42784         (WebCore::JSNodeFilterCondition::acceptNode):
42785         * bindings/js/JSQuarantinedObjectWrapper.cpp:
42786         (WebCore::JSQuarantinedObjectWrapper::construct):
42787         (WebCore::JSQuarantinedObjectWrapper::call):
42788         * bindings/js/JSSVGElementInstanceCustom.cpp:
42789         (WebCore::JSSVGElementInstance::addEventListener):
42790         (WebCore::JSSVGElementInstance::removeEventListener):
42791         * bindings/js/JSSharedWorkerCustom.cpp:
42792         (WebCore::JSSharedWorker::markChildren):
42793         * bindings/js/JSWebSocketCustom.cpp:
42794         (WebCore::JSWebSocket::addEventListener):
42795         (WebCore::JSWebSocket::removeEventListener):
42796         * bindings/js/JSWorkerContextCustom.cpp:
42797         (WebCore::JSWorkerContext::addEventListener):
42798         (WebCore::JSWorkerContext::removeEventListener):
42799         (WebCore::JSWorkerContext::setTimeout):
42800         (WebCore::JSWorkerContext::setInterval):
42801         * bindings/js/JSXMLHttpRequestConstructor.cpp:
42802         (WebCore::constructXMLHttpRequest):
42803         * bindings/js/JSXMLHttpRequestCustom.cpp:
42804         (WebCore::JSXMLHttpRequest::markChildren):
42805         (WebCore::JSXMLHttpRequest::addEventListener):
42806         (WebCore::JSXMLHttpRequest::removeEventListener):
42807         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
42808         (WebCore::JSXMLHttpRequestUpload::markChildren):
42809         (WebCore::JSXMLHttpRequestUpload::addEventListener):
42810         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
42811         * bindings/js/ScheduledAction.cpp:
42812         (WebCore::ScheduledAction::create):
42813         (WebCore::ScheduledAction::ScheduledAction):
42814         (WebCore::ScheduledAction::executeFunctionInContext):
42815         (WebCore::ScheduledAction::execute):
42816         * bindings/js/ScheduledAction.h:
42817         (WebCore::ScheduledAction::ScheduledAction):
42818         * bindings/js/ScriptCachedFrameData.cpp:
42819         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
42820         (WebCore::ScriptCachedFrameData::restore):
42821         * bindings/js/ScriptController.cpp:
42822         (WebCore::ScriptController::~ScriptController):
42823         (WebCore::ScriptController::evaluateInWorld):
42824         (WebCore::ScriptController::evaluate):
42825         (WebCore::ScriptController::evaluateInIsolatedWorld):
42826         (WebCore::ScriptController::clearWindowShell):
42827         (WebCore::ScriptController::initScript):
42828         (WebCore::ScriptController::processingUserGestureEvent):
42829         (WebCore::ScriptController::attachDebugger):
42830         (WebCore::ScriptController::updateDocument):
42831         (WebCore::ScriptController::bindingRootObject):
42832         (WebCore::ScriptController::createRootObject):
42833         (WebCore::ScriptController::windowScriptNPObject):
42834         (WebCore::ScriptController::jsObjectForPluginElement):
42835         * bindings/js/ScriptController.h:
42836         (WebCore::ScriptController::windowShell):
42837         (WebCore::ScriptController::existingWindowShell):
42838         (WebCore::ScriptController::globalObject):
42839         (WebCore::ScriptController::forgetWorld):
42840         * bindings/js/ScriptControllerMac.mm:
42841         (WebCore::ScriptController::windowScriptObject):
42842         * bindings/js/ScriptEventListener.cpp:
42843         (WebCore::createAttributeEventListener):
42844         * bindings/js/ScriptFunctionCall.cpp:
42845         (WebCore::ScriptFunctionCall::call):
42846         (WebCore::ScriptFunctionCall::construct):
42847         * bindings/js/ScriptObjectQuarantine.cpp:
42848         (WebCore::getQuarantinedScriptObject):
42849         * bindings/js/ScriptState.cpp:
42850         (WebCore::scriptStateFromNode):
42851         (WebCore::scriptStateFromPage):
42852         * bindings/js/ScriptState.h:
42853         * bindings/js/WorkerScriptController.cpp:
42854         (WebCore::WorkerScriptController::WorkerScriptController):
42855         (WebCore::WorkerScriptController::evaluate):
42856         * bindings/objc/DOMInternal.mm:
42857         (-[WebScriptObject _initializeScriptDOMNodeImp]):
42858         * bindings/objc/WebScriptObject.mm:
42859         (-[WebScriptObject callWebScriptMethod:withArguments:]):
42860         (-[WebScriptObject evaluateWebScript:]):
42861         * bindings/scripts/CodeGeneratorJS.pm:
42862         * bridge/NP_jsobject.cpp:
42863         (_NPN_InvokeDefault):
42864         (_NPN_Invoke):
42865         (_NPN_Evaluate):
42866         (_NPN_Construct):
42867         * bridge/jni/jni_jsobject.mm:
42868         (JavaJSObject::call):
42869         (JavaJSObject::eval):
42870         * dom/Document.cpp:
42871         (WebCore::Document::createWrapperCache):
42872         * dom/Document.h:
42873         (WebCore::Document::wrapperCacheMap):
42874         (WebCore::Document::getWrapperCache):
42875         * inspector/InspectorController.cpp:
42876         (WebCore::InspectorController::startUserInitiatedProfiling):
42877         (WebCore::InspectorController::stopUserInitiatedProfiling):
42878         * inspector/JavaScriptCallFrame.cpp:
42879         (WebCore::JavaScriptCallFrame::evaluate):
42880         * loader/FrameLoader.cpp:
42881         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
42882         * platform/network/mac/AuthenticationMac.mm:
42883         * xml/XMLHttpRequest.cpp:
42884         (WebCore::XMLHttpRequest::XMLHttpRequest):
42885         (WebCore::XMLHttpRequest::dropProtection):
42886         * xml/XMLHttpRequest.h:
42887         (WebCore::XMLHttpRequest::create):
42888
42889 2009-10-22  Joseph Pecoraro  <joepeck@webkit.org>
42890
42891         Reviewed by Timothy Hatcher.
42892
42893         Web Inspector: EventListenersSidebarPane TODO No Longer Needed
42894         https://bugs.webkit.org/show_bug.cgi?id=30705
42895
42896         * inspector/front-end/EventListenersSidebarPane.js:
42897
42898 2009-10-22  Alexey Proskuryakov  <ap@apple.com>
42899
42900         Reviewed by Tim Hatcher.
42901
42902         https://bugs.webkit.org/show_bug.cgi?id=30506
42903         <rdar://problem/7319845> Resources that the server sent as 304 not modified are not shown
42904         in the inspectors resource pane
42905
42906         I don't know how to make a test for this.
42907
42908         The issue here was that preloaded resources weren't added to DocLoader document resource set,
42909         but Web Inspector asked DocLoader to fetch data from CachedResource. Even when (if) document
42910         parser eventually requested the same resource for real and it got added to resource set, it
42911         was too late - the Inspector wasn't updated.
42912
42913         * inspector/InspectorResource.cpp:
42914         (WebCore::InspectorResource::cachedResource):
42915         (WebCore::InspectorResource::type):
42916         (WebCore::InspectorResource::resourceData):
42917         * inspector/InspectorResource.h:
42918         Fix the issue by trying to fetch corresponding CachedResource harder - also look in global
42919         cache. This seems safe, and easier than updating the Inspector on transitions between
42920         resource states (revalidate vs. revalidate done and preload vs. non-preload).
42921
42922 2009-10-22  Beth Dakin  <bdakin@apple.com>
42923
42924         Reviewed by Dan Bernstein.
42925
42926         Fix for <rdar://problem/6942706> ER: Add a CSS property that allows 
42927         shadows to work for SVG content
42928         -and corresponding-
42929         https://bugs.webkit.org/show_bug.cgi?id=30479
42930
42931         This patch adds a new SVG-specific CSS property called -webkit-
42932         shadow that has the same syntax as -webkit-box-shadow
42933
42934         Add CSSPropertyWebkitShadow to the list of SVG CSS properties, and 
42935         make valueForShadow a member function rather than a static function 
42936         * css/CSSComputedStyleDeclaration.cpp:
42937         (WebCore::):
42938         (WebCore::CSSComputedStyleDeclaration::valueForShadow):
42939         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
42940         * css/CSSComputedStyleDeclaration.h:
42941
42942         Call valueForShadow for CSSPropertyWebkitShadow
42943         * css/SVGCSSComputedStyleDeclaration.cpp:
42944         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
42945
42946         Do standard CSS stuff for CSSPropertyWebkitShadow
42947         * css/SVGCSSParser.cpp:
42948         (WebCore::CSSParser::parseSVGValue):
42949         * css/SVGCSSPropertyNames.in:
42950         * css/SVGCSSStyleSelector.cpp:
42951         (WebCore::CSSStyleSelector::applySVGProperty):
42952
42953         Set the appropriate shadow on the paint context if we have one. 
42954         This seems to be all we have to do to have an SVG-shaped shadow.
42955         * rendering/SVGRenderSupport.cpp:
42956         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
42957
42958         Add shadow to SVGRenderStyle. I added a new macro that I don't like 
42959         just because that's the way things are done here right now.
42960         * rendering/style/SVGRenderStyle.cpp:
42961         (WebCore::SVGRenderStyle::SVGRenderStyle):
42962         (WebCore::SVGRenderStyle::operator==):
42963         * rendering/style/SVGRenderStyle.h:
42964         * rendering/style/SVGRenderStyleDefs.cpp:
42965         (StyleShadowSVGData::StyleShadowSVGData):
42966         (StyleShadowSVGData::operator==):
42967         * rendering/style/SVGRenderStyleDefs.h:
42968         (WebCore::StyleShadowSVGData::create):
42969         (WebCore::StyleShadowSVGData::copy):
42970         (WebCore::StyleShadowSVGData::operator!=):
42971
42972 2009-10-22  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
42973  
42974         Reviewed by Xan Lopez.
42975
42976         https://bugs.webkit.org/show_bug.cgi?id=25530
42977         [Gtk] Implement LABEL_FOR/LABELLED_BY relationship pair for labels
42978
42979         Implements atk_object_ref_relation_set and LABEL_FOR/LABELLED_BY.
42980         Also causes the accessible name for labeled controls to be based on
42981         the label as expected, rather than based on the contents.
42982
42983         * accessibility/AccessibilityRenderObject.h:
42984         * accessibility/AccessibilityRenderObject.cpp:
42985         (correspondingLabelForControlElement):
42986         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
42987         (setAtkRelationSetFromCoreObject):
42988         (webkit_accessible_ref_relation_set):
42989         (webkit_accessible_class_init):
42990         (webkit_accessible_get_name):
42991
42992 2009-10-22  Joseph Pecoraro  <joepeck@webkit.org>
42993
42994         Reviewed by Timothy Hatcher.
42995
42996         Web Inspector: windowFocused and windowBlured Fail to Clear/Mark Inspector as "inactive"
42997         https://bugs.webkit.org/show_bug.cgi?id=30663
42998
42999           Correctly handle focusing/blurring on inner <iframe>'s such as Source Frames.
43000
43001         * inspector/front-end/inspector.js:
43002         (WebInspector.windowFocused): fix for inner iframes
43003         (WebInspector.windowBlurred): fix for inner iframes
43004         (WebInspector.addMainEventListeners): change useCapture to false
43005
43006 2009-10-22  Jaime Yap  <jaimeyap@google.com>
43007
43008         Reviewed by Timothy Hatcher.
43009
43010         Makes a page reload optional when activating resource monitoring in
43011         InspectorController. It leaves the default behavior as performing the reload.
43012         Reload is an optional param so callsites do not have to change.
43013
43014         https://bugs.webkit.org/show_bug.cgi?id=30684
43015
43016         No new tests added.
43017
43018         * inspector/InspectorController.cpp:
43019         (WebCore::InspectorController::enableResourceTracking):
43020         * inspector/InspectorController.h:
43021
43022 2009-10-22  Shu Chang  <Chang.Shu@nokia.com>
43023
43024         Reviewed by Eric Seidel.
43025
43026         [Qt] Fix memory leak in QNetworkReplyHandler::abort().
43027         In QNetworkReplyHandler::release(), m_reply should no longer point to its parent
43028         after being released.
43029         https://bugs.webkit.org/show_bug.cgi?id=30167
43030
43031         No layout test available as a non-functional fix.
43032
43033         * platform/network/qt/QNetworkReplyHandler.cpp:
43034         (WebCore::QNetworkReplyHandler::abort):
43035         (WebCore::QNetworkReplyHandler::release):
43036
43037 2009-10-22  Pavel Feldman  <pfeldman@chromium.org>
43038
43039         Reviewed by Timothy Hatcher.
43040
43041         Web Inspector: Fix DOMAgent leak.
43042
43043         https://bugs.webkit.org/show_bug.cgi?id=30615
43044
43045         * inspector/InspectorController.cpp:
43046         (WebCore::InspectorController::~InspectorController):
43047         (WebCore::InspectorController::setFrontendProxyObject):
43048         (WebCore::InspectorController::close):
43049         (WebCore::InspectorController::releaseDOMAgent):
43050         * inspector/InspectorController.h:
43051         * inspector/InspectorDOMAgent.h:
43052         (WebCore::InspectorDOMAgent::create):
43053
43054 2009-10-22  Dimitri Glazkov  <dglazkov@chromium.org>
43055
43056         Reviewed by Adam Barth.
43057
43058         [V8] Rework event listeners to not hold references to frame or V8 context.
43059
43060         https://bugs.webkit.org/show_bug.cgi?id=30648
43061
43062         Covered by existing layout tests: fast/events/attribute-listener*
43063
43064         * bindings/scripts/CodeGeneratorV8.pm: Added passing ScriptExecutionContext*
43065             to event listener handling code.
43066         * bindings/v8/DateExtension.cpp:
43067         (WebCore::DateExtension::setAllowSleep): Changed to use currentContext().
43068         * bindings/v8/ScriptEventListener.cpp:
43069         (WebCore::createAttributeEventListener): Reworked to match JSC logic.
43070         (WebCore::getEventListenerHandlerBody): Added ScriptExecutionContext* param.
43071         * bindings/v8/V8AbstractEventListener.cpp:
43072         (WebCore::V8AbstractEventListener::V8AbstractEventListener): Removed Frame* param
43073             and usage.
43074         (WebCore::V8AbstractEventListener::handleEvent): Chaged to use ScriptExecutionContext*.
43075         (WebCore::V8AbstractEventListener::invokeEventHandler): Ditto.
43076         * bindings/v8/V8AbstractEventListener.h:
43077         (WebCore::V8AbstractEventListener::getListenerObject): Ditto.
43078         (WebCore::V8AbstractEventListener::prepareListenerObject): Ditto.
43079         * bindings/v8/V8DOMWrapper.cpp:
43080         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):  Added ScriptExecutionContext* param.
43081         (WebCore::V8DOMWrapper::getEventListener): Ditto.
43082         * bindings/v8/V8DOMWrapper.h:
43083         (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Ditto.
43084         * bindings/v8/V8EventListenerList.h:
43085         (WebCore::V8EventListenerList::findOrCreateWrapper): Removed ContextType* template param,
43086             because it's no longer needed.
43087         * bindings/v8/V8IsolatedWorld.h:
43088         (WebCore::V8IsolatedWorld::sharedContext): Renamed from shared_context.
43089         * bindings/v8/V8LazyEventListener.cpp:
43090         (WebCore::V8LazyEventListener::V8LazyEventListener): Removed Frame* param and usage.
43091         (WebCore::V8LazyEventListener::callListenerFunction): Added ScriptExecutionContext* param.
43092         (WebCore::V8LazyEventListener::prepareListenerObject): Ditto.
43093         * bindings/v8/V8LazyEventListener.h:
43094         (WebCore::V8LazyEventListener::create): Reordered params to match JSC impl.
43095         * bindings/v8/V8Proxy.cpp:
43096         (WebCore::V8Proxy::V8Proxy): Adjusted formatting to match WebKit style.
43097         (WebCore::V8Proxy::evaluateInNewContext): Changed to use m_context directly.
43098         (WebCore::V8Proxy::setInjectedScriptContextDebugId): Ditto.
43099         (WebCore::V8Proxy::createWrapperFromCacheSlowCase): Ditto.
43100         (WebCore::V8Proxy::isContextInitialized): Ditto.
43101         (WebCore::V8Proxy::updateDocumentWrapperCache): Ditto.
43102         (WebCore::V8Proxy::clearDocumentWrapperCache): Ditto.
43103         (WebCore::V8Proxy::disposeContextHandles): Added explicit disposing of m_context. 
43104         (WebCore::V8Proxy::clearForClose): Changed to use m_context directly.
43105         (WebCore::V8Proxy::clearForNavigation): Ditto.
43106         (WebCore::V8Proxy::setSecurityToken): Ditto.
43107         (WebCore::V8Proxy::updateDocument): Ditto.
43108         (WebCore::V8Proxy::initContextIfNeeded): Ditto.
43109         (WebCore::V8Proxy::context): Changed to use v8::Local.
43110         (WebCore::V8Proxy::mainWorldContext): Changed to use m_context directly. 
43111         (WebCore::V8Proxy::setContextDebugId): Ditto.
43112         (WebCore::toV8Context):
43113         * bindings/v8/V8Proxy.h: Removed shared_context decl, changed to use straight
43114             v8::Persistent for m_context.
43115         * bindings/v8/V8WorkerContextEventListener.cpp:
43116         (WebCore::workerProxy): Added.
43117         (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener): Removed
43118             WorkerContextExecutionProxy* param.
43119         (WebCore::V8WorkerContextEventListener::handleEvent): Started using ScriptExecutionContext*.
43120         (WebCore::V8WorkerContextEventListener::reportError): Ditto.
43121         (WebCore::V8WorkerContextEventListener::callListenerFunction): Ditto.
43122         (WebCore::V8WorkerContextEventListener::getReceiverObject): Ditto.
43123         * bindings/v8/V8WorkerContextEventListener.h:
43124         (WebCore::V8WorkerContextEventListener::create): Removed
43125             WorkerContextExecutionProxy* param.
43126         * bindings/v8/WorkerContextExecutionProxy.cpp:
43127         (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener): Removed ContextType*
43128             template param.
43129         * bindings/v8/custom/V8CustomEventListener.cpp:
43130         (WebCore::V8EventListener::V8EventListener): Removed Frame* param.
43131         (WebCore::V8EventListener::getListenerFunction): Started using ScriptExecutionContext*.
43132         (WebCore::V8EventListener::callListenerFunction): Ditto.
43133         * bindings/v8/custom/V8CustomEventListener.h:
43134         (WebCore::V8EventListener::create): Removed Frame* param.
43135
43136 2009-10-14  Gaurav Shah  <gauravsh@google.com>
43137
43138         Reviewed by Darin Fisher.
43139
43140         Replaces temporary link stub for <keygen> tag handler for the Chromium
43141         browser with a call via the Chromium Bridge.
43142
43143         https://bugs.webkit.org/show_bug.cgi?id=30360
43144
43145         * platform/SSLKeyGenerator.h:
43146         * platform/chromium/ChromiumBridge.h:
43147         * platform/chromium/SSLKeyGeneratorChromium.cpp:
43148         (WebCore::getSupportedKeySizes):
43149         (WebCore::signedPublicKeyAndChallengeString):
43150         * platform/chromium/TemporaryLinkStubs.cpp:
43151         (WebCore::KURL::fileSystemPath):
43152         (WebCore::SharedBuffer::createWithContentsOfFile):
43153
43154 2009-10-22  Avi Drissman  <avi@chromium.org>
43155
43156         Reviewed by Eric Seidel.
43157
43158         Fixes Chromium Mac pasteboard handling to flow through the same code paths as other platforms.
43159
43160         https://bugs.webkit.org/show_bug.cgi?id=30591
43161
43162         * platform/chromium/ChromiumBridge.h:
43163         * platform/chromium/PasteboardChromium.cpp:
43164         (WebCore::Pasteboard::writeImage):
43165
43166 2009-10-20  Simon Fraser  <simon.fraser@apple.com>
43167
43168         Reviewed by Darin Adler.
43169
43170         Make accelerated compositing debug indicators work in release builds
43171         https://bugs.webkit.org/show_bug.cgi?id=30588
43172         
43173         Allow some debug indicators, that show which page elements go into compositing layers,
43174         to work in release builds, when the runtime prefs are set.
43175
43176         * platform/graphics/GraphicsLayer.cpp:
43177         (WebCore::GraphicsLayer::GraphicsLayer):
43178         (WebCore::GraphicsLayer::setZPosition):
43179         * platform/graphics/GraphicsLayer.h:
43180         * platform/graphics/mac/GraphicsLayerCA.h:
43181         * platform/graphics/mac/GraphicsLayerCA.mm:
43182         (WebCore::clearBorderColor):
43183         (WebCore::GraphicsLayer::showRepaintCounter):
43184         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
43185         (WebCore::GraphicsLayerCA::updateMasksToBounds):
43186         (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
43187         (WebCore::GraphicsLayerCA::setDebugBorder):
43188         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
43189         (WebCore::GraphicsLayerCA::setupContentsLayer):
43190         * platform/graphics/mac/WebLayer.mm:
43191
43192 2009-10-22  Keishi Hattori  <casey.hattori@gmail.com>
43193
43194         Reviewed by Pavel Feldman.
43195
43196         Inspector should support monitorEvents/un monitorEvents() in the command line
43197         https://bugs.webkit.org/show_bug.cgi?id=19879
43198
43199         * inspector/front-end/EventListenersSidebarPane.js:
43200         (WebInspector.EventListenersSidebarPane.prototype.update.callback): Ignores event listeners generated by monitorEvent
43201         * inspector/front-end/InjectedScript.js:
43202         (InjectedScript._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI._logEvent, _allEventTypes, 
43203         _normalizeEventTypes, monitorEvent, unmonitorEvent.
43204
43205 2009-10-21  Joseph Pecoraro  <joepeck@webkit.org>
43206
43207         Reviewed by Pavel Feldman.
43208
43209         Web Inspector: windowFocused and windowBlurred Fail to Clear/Mark Inspector as "inactive"
43210         https://bugs.webkit.org/show_bug.cgi?id=30663
43211
43212         * inspector/front-end/inspector.js:
43213         (WebInspector.windowFocused):
43214         (WebInspector.windowBlurred):
43215
43216 2009-10-22  Joseph Pecoraro  <joepeck@webkit.org>
43217
43218         Reviewed by Pavel Feldman.
43219
43220         Web Inspector: Error - requestContentType [undefined] is not an object
43221         https://bugs.webkit.org/show_bug.cgi?id=30666
43222
43223         * inspector/front-end/ResourceView.js:
43224         (WebInspector.ResourceView.prototype._refreshFormData):
43225
43226 2009-10-22  Maxime Simon  <simon.maxime@gmail.com>
43227
43228         Reviewed by Holger Freyther.
43229
43230         [Haiku] Correction of the accented letter width (they were 2 characters long).
43231         https://bugs.webkit.org/show_bug.cgi?id=30629
43232
43233         * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
43234         (WebCore::SimpleFontData::platformWidthForGlyph):
43235
43236 2009-10-21  Jon Honeycutt  <jhoneycutt@apple.com>
43237
43238         <rdar://problem/7270320> Screenshots of off-screen plug-ins are blank
43239         <rdar://problem/7270314> After halting a transparent PluginView on
43240         Windows, the transparency is applied twice
43241
43242         Replace use of Frame::nodeImage() with a function that takes a snapshot
43243         of a PluginView.
43244
43245         Reviewed by Dan Bernstein.
43246
43247         * plugins/PluginView.h:
43248         Made paintWindowedPluginIntoContext() non-const, as it now calls
43249         paintIntoTransformedContext(). Declare paintIntoTransformedContext()
43250         and snapshot() for Windows platforms.
43251
43252         * plugins/win/PluginViewWin.cpp:
43253         (WebCore::PluginView::paintIntoTransformedContext):
43254         Paints into the passed HDC without applying any coordinate translations.
43255         Code moved from paintWindowedPluginIntoContext() and paint(). Removed
43256         the memset() of windowpos in lieu of assignment.
43257         (WebCore::PluginView::paintWindowedPluginIntoContext):
43258         Code moved to paintIntoTransformedContext().
43259         (WebCore::PluginView::paint):
43260         Ditto.
43261         (WebCore::PluginView::snapshot):
43262         Create a context, and if the plug-in is windowless, translate it so the
43263         plug-in will draw at the correct location. Create a bitmap, and select
43264         it into the context. Paint the plug-in, and create a BitmapImage from
43265         the bitmap.
43266         (WebCore::PluginView::halt):
43267         Use snapshot().
43268
43269 2009-10-22  Fumitoshi Ukai  <ukai@chromium.org>
43270
43271         Reviewed by Alexey Proskuryakov.
43272
43273         Fix calculation of length in WebSocketChannel.cpp
43274         https://bugs.webkit.org/show_bug.cgi?id=30656
43275
43276         * websockets/WebSocketChannel.cpp:
43277         (WebCore::WebSocketChannel::didReceiveData):
43278
43279 2009-10-21  Dumitru Daniliuc  <dumi@chromium.org>
43280
43281         Reviewed by Dimitri Glazkov.
43282
43283         Adding the ability to enable/disable functions in V8 at runtime.
43284
43285         https://bugs.webkit.org/show_bug.cgi?id=30650
43286
43287         * bindings/scripts/CodeGeneratorV8.pm:
43288
43289 2009-10-21  Darin Adler  <darin@apple.com>
43290
43291         Swedish search (and other languages as well) is broken while fixing Japanese search
43292         https://bugs.webkit.org/show_bug.cgi?id=30646
43293
43294         Rolled Japanese tailoring out that was done to fix
43295         https://bugs.webkit.org/show_bug.cgi?id=30437 earlier.
43296         It was overriding the locale-specific tailoring.
43297         We'll land a fix once we figure out how to add the
43298         Japanese tailoring without removing anything.
43299
43300         * editing/TextIterator.cpp: Rolled out r49924.
43301
43302 2009-10-21  Pavel Feldman  <pfeldman@chromium.org>
43303
43304         Not reviewed: chromium build fix - add missing image to gypi.
43305
43306         * WebCore.gypi:
43307
43308 2009-10-21  Brian Weinstein  <bweinstein@apple.com>
43309
43310         Reviewed by Eric Seidel.
43311
43312         Fixes part of <http://webkit.org/b/30522>.
43313         Web Inspector: DOM Exceptions throughout the Inspector should be more human readable.
43314
43315         Expose the description attribute that is now a member of
43316         ExceptionBase as of r49723, so when a user logs an exception, they
43317         can see the description in the Web Inspector.
43318
43319         Test: fast/dom/dom-exception-description.html
43320
43321         * dom/DOMCoreException.idl:
43322         * dom/EventException.idl:
43323         * dom/RangeException.idl:
43324         * svg/SVGException.idl:
43325         * xml/XMLHttpRequestException.idl:
43326         * xml/XPathException.idl:
43327
43328 2009-10-21  Brian Weinstein  <bweinstein@apple.com>
43329
43330         Reviewed by Timothy Hatcher.
43331
43332         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30616>.
43333         REGRESSION (r49036): Web Inspector: Summary graph no longer switching to size summary.
43334         
43335         Add a check to make sure a function we need to calculate percentages is
43336         defined before we use it.
43337
43338         * inspector/front-end/ResourcesPanel.js:
43339         (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
43340
43341 2009-10-21  Keishi Hattori  <casey.hattori@gmail.com>
43342
43343         Reviewed by Timothy Hatcher.
43344
43345         REGRESSION: Clicking on nodes in the console should take you to the element in the DOM
43346         https://bugs.webkit.org/show_bug.cgi?id=27231
43347
43348         * inspector/front-end/ConsoleView.js:
43349         (WebInspector.ConsoleView.prototype._formatnode): Turns on ElementsTreeOutline.showInElementsPanelEnabled
43350         * inspector/front-end/ElementsTreeOutline.js:
43351         (WebInspector.ElementsTreeOutline): Added ElementsTreeOutline.showInElementsPanelEnabled
43352         (WebInspector.ElementsTreeElement.prototype.onmousedown): Reveals the node in the Elements panel if 
43353         treeOutline.showInElementsPanelEnabled is true.
43354
43355 2009-10-21  Jeremy Orlow  <jorlow@chromium.org>
43356
43357         Reviewed by Eric Seidel.
43358
43359         https://bugs.webkit.org/show_bug.cgi?id=30637
43360         Fix a compiler warning in windows.
43361
43362         * loader/ResourceLoadNotifier.h:
43363
43364 2009-10-21  Dmitry Titov  <dimich@chromium.org>
43365
43366         Reviewed by Darin Adler.
43367
43368         Fix the crash when a node not in a document receives dispatchEvent.
43369         https://bugs.webkit.org/show_bug.cgi?id=30611
43370
43371         Test: fast/events/dispatch-event-no-document.html
43372
43373         * dom/EventTarget.cpp: Check for scriptExecutionContext() at the moment of dispatchEvent; do nothing if no context.
43374         (WebCore::EventTarget::dispatchEvent):
43375
43376 2009-10-21  Adam Langley  <agl@google.com>
43377
43378         Reviewed by Eric Seidel.
43379
43380         Chromium Linux: disable subpixel text on layers.
43381
43382         https://bugs.webkit.org/show_bug.cgi?id=30635
43383         http://code.google.com/p/chromium/issues/detail?id=25365
43384
43385         With the addition of layers for drawing rounded corners in r49641,
43386         subpixel text on rounded rectangles broke. This is because the layer
43387         only contains a single alpha channel and this is insufficient to
43388         compose subpixel text correctly.
43389
43390         On Windows, a large body of code in TransparencyWin.cpp exists to try
43391         to deal with this. Even then, in some cases, it downgrades to
43392         anti-aliased text. We need a fix for the grevious effects quickly thus
43393         this patch disables subpixel text when rendering into a layer.
43394
43395         This would be covered by existing tests except that subpixel text is
43396         disabled for pixel tests on Chromium Linux.
43397
43398         * platform/graphics/chromium/FontLinux.cpp:
43399         (WebCore::isCanvasMultiLayered):
43400         (WebCore::adjustTextRenderMode):
43401         (WebCore::Font::drawGlyphs):
43402         (WebCore::Font::drawComplexText):
43403
43404 2009-10-21  Kevin Ollivier  <kevino@theolliviers.com>
43405
43406         wxMac 10.4 build fix, make sure we specify the Sqlite3 dependency correctly as otherwise
43407         it will use the sqlite3 system library rather than WebCoreSQLite3.
43408
43409         * wscript:
43410
43411 2009-10-21  Dan Bernstein  <mitz@apple.com>
43412
43413         Reviewed by Sam Weinig.
43414
43415         Fixed background-clip parsing regressions introduced in r46240.
43416
43417         Test: fast/css/background-clip-text.html
43418
43419         * css/CSSParser.cpp:
43420         (WebCore::parseBackgroundClip): Added this helper method.
43421         (WebCore::CSSParser::parseFillShorthand): Use parseBackgroundClip() to
43422         reparse the value. The old code called parseFillProperty() again, which
43423         didn’t work, because parseFillProperty() advances the value list.
43424         (WebCore::CSSParser::parseFillProperty): Changed to use
43425         parseBackgroundClip().
43426         * css/CSSPrimitiveValueMappings.h:
43427         (WebCore::CSSPrimitiveValue::operator EFillBox): Added a case for
43428         CSSValueWebkitText.
43429
43430 2009-10-21  Alexander Pavlov  <apavlov@chromium.org>
43431
43432         Reviewed by Timothy Hatcher.
43433
43434         Enable creation of custom SidebarTreeElements for different ProfileTypes
43435
43436         ProfileTypes can now create sidebar tree elements of custom types.
43437         https://bugs.webkit.org/show_bug.cgi?id=30520
43438
43439         * inspector/front-end/ProfileView.js:
43440         (WebInspector.CPUProfileType.prototype.setRecordingProfile):
43441         (WebInspector.CPUProfileType.prototype.createSidebarTreeElementForProfile):
43442         (WebInspector.CPUProfileType.prototype.createView):
43443         (WebInspector.CPUProfile.prototype.get head):
43444         * inspector/front-end/ProfilesPanel.js:
43445         (WebInspector.ProfileType.prototype.buttonClicked):
43446         (WebInspector.ProfileType.prototype.viewForProfile):
43447         (WebInspector.ProfileType.prototype.createView):
43448         (WebInspector.ProfileType.prototype.createSidebarTreeElementForProfile):
43449         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
43450         (WebInspector.ProfilesPanel.prototype.showProfile):
43451
43452 2009-10-20  Joseph Pecoraro  <joepeck@webkit.org>
43453
43454         Reviewed by Timothy Hatcher.
43455
43456         Web Inspector: Selectors in the Styles pane should trigger a search for that selector when clicked
43457         https://bugs.webkit.org/show_bug.cgi?id=17126
43458
43459         * inspector/front-end/ElementsPanel.js:
43460         (WebInspector.ElementsPanel.prototype.addNodesToSearchResult): only change focusedDOMNode on a manual search
43461         * inspector/front-end/StylesSidebarPane.js:
43462         (WebInspector.StylePropertiesSection.prototype._clickSelector): trigger a search
43463         * inspector/front-end/ElementsTreeOutline.js:
43464         (WebInspector.ElementsTreeElement.prototype._startEditing): correctly start editing attribute value instead of name
43465
43466 2009-10-20  Pavel Feldman  <pfeldman@chromium.org>
43467
43468         Reviewed by Timothy Hatcher.
43469
43470         Web Inspector: Fix DOM Agent leak.
43471
43472         https://bugs.webkit.org/show_bug.cgi?id=30615
43473
43474         * inspector/InspectorController.cpp:
43475         (WebCore::InspectorController::~InspectorController):
43476
43477 2009-10-21  Girish Ramakrishnan  <girish@forwardbias.in>
43478
43479         Reviewed by Holger Freyther.
43480
43481         Plugins: Create manual tests for testing plugins
43482         
43483         Create two test files:
43484         1. windowed.html - Test plugin in windowed mode.
43485         2. windowless.html - Test plugin in windowless mode.
43486
43487         https://bugs.webkit.org/show_bug.cgi?id=30503
43488
43489         * manual-tests/plugins/windowed.html: Added.
43490         * manual-tests/plugins/windowless.html: Added.
43491
43492 2009-10-21  Satoshi Nakagawa  <psychs@limechat.net>
43493
43494         Reviewed by Darin Adler.
43495
43496         Fixed Japanese text search problems.
43497         Treat small kana letters and kana letters as different characters in search.
43498         Do not ignore diacritic marks in search for Japanese texts.
43499
43500         https://bugs.webkit.org/show_bug.cgi?id=30437
43501
43502         Test: fast/text/international/japanese-kana-letters.html
43503
43504         * editing/TextIterator.cpp:
43505         (WebCore::createCollator):
43506         (WebCore::collator):
43507         (WebCore::createSearcher):
43508
43509 2009-10-20  Eric Z. Ayers  <zundel@google.com>
43510
43511         Reviewed by Timothy Hatcher.
43512
43513         Changes TimelineItems to be created with raw timestamps as opposed
43514         to a time relative to a start of session.  Normalized timestamps cause
43515         problems when monitoring a browsing session across multiple page
43516         transitions.
43517
43518         * inspector/InspectorTimelineAgent.cpp:
43519         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
43520         (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
43521         (WebCore::InspectorTimelineAgent::willLayout):
43522         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
43523         (WebCore::InspectorTimelineAgent::willPaint):
43524         (WebCore::InspectorTimelineAgent::willWriteHTML):
43525         (WebCore::InspectorTimelineAgent::reset):
43526         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
43527         * inspector/InspectorTimelineAgent.h:
43528
43529 2009-10-20  Mark Rowe  <mrowe@apple.com>
43530
43531         Reviewed by Oliver Hunt.
43532
43533         Fix leak of WebSocketChannel by adopting the newly-created reference.
43534
43535         * websockets/WebSocketChannel.h:
43536         (WebCore::WebSocketChannel::create):
43537
43538 2009-10-20  Jeremy Orlow  <jorlow@chromium.org>
43539
43540         Reviewed by Adam Barth.
43541
43542         DOM Storage runtime flag changes
43543         https://bugs.webkit.org/show_bug.cgi?id=30602
43544
43545         Part 1/2.  Removing sessionStorageEnabled in next patch after the
43546         Chromium side of the changes lands.
43547
43548         Revert my changes to Settings and instead implement DOM Storage enabling via
43549         the methods agreed upon in https://bugs.webkit.org/show_bug.cgi?id=30240
43550
43551         This stuff was (intentionally) never exposed to web pages or DRT, so there's no
43552         LayoutTest visible changes and thus no tests.
43553
43554         * bindings/v8/custom/V8CustomBinding.h:
43555         * bindings/v8/custom/V8DOMWindowCustom.cpp:
43556         (WebCore::ACCESSOR_RUNTIME_ENABLER):
43557         * page/DOMWindow.idl:
43558         * storage/Storage.cpp:
43559         (WebCore::Storage::setLocalStorageAvailable):
43560         (WebCore::Storage::localStorageAvailable):
43561         (WebCore::Storage::setSessionStorageAvailable):
43562         (WebCore::Storage::sessionStorageAvailable):
43563         * storage/Storage.h:
43564
43565 2009-10-20  John Gregg  <johnnyg@google.com>
43566
43567         Reviewed by David Levin.
43568
43569         Need to turn off notifications properly at runtime
43570         https://bugs.webkit.org/show_bug.cgi?id=30409
43571
43572         This code only affects chromium, and is all behind a compile time
43573         flag current turned off, so no new tests.
43574
43575         * bindings/v8/custom/V8CustomBinding.h:
43576         * bindings/v8/custom/V8DOMWindowCustom.cpp:
43577         (WebCore::ACCESSOR_RUNTIME_ENABLER):
43578         * bindings/v8/custom/V8WorkerContextCustom.cpp:
43579         (WebCore::ACCESSOR_RUNTIME_ENABLER):
43580         * notifications/NotificationCenter.cpp:
43581         (WebCore::NotificationCenter::setIsAvailable):
43582         (WebCore::NotificationCenter::isAvailable):
43583         * notifications/NotificationCenter.h:
43584         * page/DOMWindow.idl:
43585         * workers/WorkerContext.idl:
43586
43587 2009-10-20  James Robinson  <jamesr@chromium.org>
43588
43589         Reviewed by Adam Barth.
43590
43591         Fixes RefPtr initialization in the V8 implementation of WebCore::ScriptString to use the ::create() idiom and
43592         use adoptRef() properly.  I failed to read the RefPtr docs the first time through :(
43593
43594         No new tests, error was caught by valgrind on the Chromium builders.
43595
43596         * bindings/v8/ScriptString.h:
43597         (WebCore::ScriptString::ScriptString):
43598         (WebCore::ScriptString::operator=):
43599         * bindings/v8/ScriptStringImpl.h:
43600         (WebCore::ScriptStringImpl::create):
43601
43602 2009-10-20  Mikhail Naganov  <mnaganov@chromium.org>
43603
43604         Reviewed by Pavel Feldman.
43605
43606         Web Inspector: populate child nodes before sorting them.
43607
43608         https://bugs.webkit.org/show_bug.cgi?id=29673
43609
43610         * inspector/front-end/BottomUpProfileDataGridTree.js:
43611         (WebInspector.BottomUpProfileDataGridNode): Swapped with BottomUpProfileDataGridTree to be consistent with TopDownProfileDataGridNode.
43612         (WebInspector.BottomUpProfileDataGridNode.prototype._takePropertiesFromProfileDataGridNode):
43613         (WebInspector.BottomUpProfileDataGridNode.prototype._keepOnlyChild):
43614         (WebInspector.BottomUpProfileDataGridNode.prototype._exclude):
43615         (WebInspector.BottomUpProfileDataGridNode.prototype._merge):
43616         (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
43617         (WebInspector.BottomUpProfileDataGridTree.prototype.exclude):
43618         * inspector/front-end/ProfileDataGridTree.js:
43619         (WebInspector.ProfileDataGridNode.prototype.sort): Added missing parentheses.
43620         (WebInspector.ProfileDataGridNode.prototype.get _parent):
43621         (WebInspector.ProfileDataGridNode.prototype._populate):
43622         * inspector/front-end/TopDownProfileDataGridTree.js:
43623         (WebInspector.TopDownProfileDataGridNode.prototype._sharedPopulate):
43624
43625 2009-10-20  Jens Alfke  <snej@chromium.org>
43626
43627         Reviewed by Eric Seidel.
43628
43629         Remove redundant String ref/deref calls in generated V8 bindings.
43630         https://bugs.webkit.org/show_bug.cgi?id=30579
43631
43632         * bindings/v8/V8Binding.h:
43633         (WebCore::toString): Fix return type of 'toString' to make it truly a no-op
43634             instead of constructing/destructing a String.
43635
43636 2009-10-20  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
43637
43638         Reviewed by Xan Lopez.
43639
43640         https://bugs.webkit.org/show_bug.cgi?id=25411
43641         [GTK] ATK accessible ancestry broken
43642
43643         Work around for the problem of bogus additional objects in the ancestry.
43644         We now set the parent when we ref the child, then ask the Atk child if
43645         it knows its parent. This solves the bulk of the cases. For those it
43646         doesn't, fall back to the existing logic.
43647
43648         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
43649         (webkit_accessible_get_parent):
43650         (webkit_accessible_ref_child):
43651
43652 2009-10-20  Brian Weinstein  <bweinstein@apple.com>
43653
43654         Reviewed by Alice Liu.
43655
43656         Fixes <http://webkit.org/b/30421>.
43657         Web Inpsector: Local Files can show up on Cookies List with Cookies from other Domain.
43658
43659         When a page like Google generates an about:blank, it shows up as a local file on
43660         the list of Cookie domains, but has all of the cookies of Google. When we are adding
43661         cookie domains to the inspector, we should only add the domain is the URL of the resource
43662         is in the HTTP protocol family or a file URL.
43663
43664         * inspector/InspectorController.cpp:
43665         (WebCore::InspectorController::populateScriptObjects):
43666         (WebCore::InspectorController::didFinishLoading):
43667
43668 2009-10-20  Mark Mentovai  <mark@chromium.org>
43669
43670         Reviewed by Darin Fisher.
43671
43672         Use a version of libWebKitSystemInterface with global symbols marked
43673         private_extern for Chromium Mac.
43674
43675         https://bugs.webkit.org/show_bug.cgi?id=30590
43676
43677         * WebCore.gyp/WebCore.gyp:
43678         * WebCore.gyp/mac: Added.
43679         * WebCore.gyp/mac/Empty.cpp: Added.
43680         * WebCore.gyp/mac/adjust_visibility.sh: Added.
43681
43682 2009-10-20  Zoltan Horvath  <zoltan@webkit.org>
43683
43684         Reviewed by Eric Seidel.
43685
43686         Allow custom memory allocation control for WebCore's CSSProperty
43687         https://bugs.webkit.org/show_bug.cgi?id=30564
43688
43689         Inherits CSSProperty class from FastAllocBase because it has been
43690         instantiated by 'new' in WebCore/css/CSSParser.cpp:367.
43691
43692         * css/CSSProperty.h:
43693
43694 2009-10-20  Andrew Scherkus  <scherkus@chromium.org>
43695
43696         Reviewed by Eric Seidel.
43697
43698         Hide Chromium's media slider thumb if no source has been loaded.
43699
43700         https://bugs.webkit.org/show_bug.cgi?id=30529
43701
43702         Covered by existing layout tests, notably:
43703             LayoutTests/media/controls-rendering.html
43704             LayoutTests/media/unsupported-tracks.html
43705             LayoutTests/media/video-src-none.html
43706
43707         * rendering/RenderMediaControlsChromium.cpp:
43708         (WebCore::hasSource): Returns true if an HTMLMediaElement has a valid source set.
43709         (WebCore::paintMediaMuteButton): Refactored to use hasSource().
43710         (WebCore::paintMediaPlayButton): Ditto.
43711         (WebCore::paintMediaSliderThumb): Add call to hasSource() to determine if we should paint the thumb.
43712
43713 2009-10-20  Nate Chapin  <japhet@chromium.org>
43714
43715         Reviewed by Adam Barth.
43716
43717         Added getter for FrameLoader:m_suppressOpenerInNewFrame.
43718         This will allow Chromium to more intelligently detect
43719         noreferrer links and therefore open them in a new process.
43720
43721         https://bugs.webkit.org/show_bug.cgi?id=30581
43722
43723         * loader/FrameLoader.h:
43724         (WebCore::FrameLoader::suppressOpenerInNewFrame): Added.
43725
43726 2009-10-20  Zoltan Horvath  <zoltan@webkit.org>
43727
43728         Reviewed by Darin Adler.
43729
43730         Allow custom memory allocation control for WebCore's CSSParserFunction
43731         https://bugs.webkit.org/show_bug.cgi?id=30563
43732
43733         Inherits CSSParserFunction struct from FastAllocBase because it has been
43734         instantiated by 'new' in WebCore/css/CSSParser.cpp:4827.
43735
43736         * css/CSSProperty.h:
43737
43738 2009-10-20  Joseph Pecoraro  <joepeck@webkit.org>
43739
43740         Reviewed by Timothy Hatcher.
43741
43742         Web Inspector: Watched Expressions Buttons Do Not Match Inspector Styles
43743         https://bugs.webkit.org/show_bug.cgi?id=30554
43744
43745         * inspector/front-end/inspector.css: added style to pane buttons
43746
43747 2009-10-20  Yury Semikhatsky  <yurys@chromium.org>
43748
43749         Reviewed by Pavel Feldman.
43750
43751         Set debug id for contexts of isolated worlds to distinguish them in debugger.
43752
43753         https://bugs.webkit.org/show_bug.cgi?id=30559
43754
43755         * bindings/v8/V8Proxy.cpp:
43756         (WebCore::V8Proxy::evaluateInIsolatedWorld):
43757         (WebCore::V8Proxy::evaluateInNewContext):
43758         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
43759         * bindings/v8/V8Proxy.h:
43760
43761 2009-10-20  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
43762
43763         Unreviewed buildfix.
43764         [Qt] Add FEGaussianBlur.h and FEGaussianBlur.cpp which were refactored in r49778 to WebCore.pro.
43765
43766         * WebCore.pro:
43767
43768 2009-10-20  Fumitoshi Ukai  <ukai@chromium.org>
43769
43770         Reviewed by David Levin.
43771
43772         Set EnabledAtRuntime for WebSocket in DOMWindow
43773         https://bugs.webkit.org/show_bug.cgi?id=29896
43774
43775         Supported by chromium/v8 only.
43776         Add WebSocket::isAvailable()/setIsAvailable(bool) to control v8
43777         bindings.
43778         Remove Settings::experimentalWebSocketsEnabled() and
43779         setExperimentalWebSocketsEnabled(bool).
43780
43781         * WebCore.base.exp:
43782         * bindings/js/JSDOMWindowCustom.cpp:
43783         (WebCore::JSDOMWindow::webSocket):
43784         * bindings/v8/V8DOMWrapper.cpp:
43785         (WebCore::V8DOMWrapper::getConstructor):
43786         * bindings/v8/custom/V8CustomBinding.h:
43787         * bindings/v8/custom/V8DOMWindowCustom.cpp:
43788         (WebCore::ACCESSOR_RUNTIME_ENABLER):
43789         * page/DOMWindow.idl:
43790         * page/Settings.cpp:
43791         (WebCore::Settings::Settings):
43792         * page/Settings.h:
43793         * websockets/WebSocket.cpp:
43794         (WebCore::WebSocket::setIsAvailable):
43795         (WebCore::WebSocket::isAvailable):
43796         * websockets/WebSocket.h:
43797
43798 2009-10-19  Oliver Hunt  <oliver@apple.com>
43799
43800         Reviewed by Sam Weinig.
43801
43802         REGRESSION: Dromaeo DOM test is 14% slower
43803         https://bugs.webkit.org/show_bug.cgi?id=30273
43804
43805         Whoops, make prototype bindings actually use the StructureFlags.
43806
43807         * bindings/scripts/CodeGeneratorJS.pm:
43808
43809 2009-10-19  James Robinson  <jamesr@chromium.org>
43810
43811         Reviewed by Adam Barth.
43812
43813         Better implementation of WebCore::ScriptString for the V8 bindings.
43814
43815         https://bugs.webkit.org/show_bug.cgi?id=29909
43816
43817         WebCore::ScriptString is used for XMLHttpRequest's responseText attribute which is
43818         shared with JavaScript.  Thus, simply using a WebCore::String and copying the value
43819         is pretty inefficient, especially since responseText is built up with a sequence of
43820         operator+= calls.  JSC builds use a JSC::UString to share the buffer when possible,
43821         this patch adopts a similar approach for V8.
43822
43823         No new tests, behavior is unchanged and covered by LayoutTests/http/tests/xmlhttprequest
43824
43825         * WebCore.gypi:
43826         * bindings/v8/ScriptString.h:
43827         (WebCore::ScriptString::ScriptString):
43828         (WebCore::ScriptString::operator String):
43829         (WebCore::ScriptString::isNull):
43830         (WebCore::ScriptString::size):
43831         (WebCore::ScriptString::operator=):
43832         (WebCore::ScriptString::operator+=):
43833         (WebCore::ScriptString::v8StringOrNull):
43834         * bindings/v8/ScriptStringImpl.cpp: Added.
43835         (WebCore::ScriptStringImpl::ScriptStringImpl):
43836         (WebCore::ScriptStringImpl::~ScriptStringImpl):
43837         (WebCore::ScriptStringImpl::toString):
43838         (WebCore::ScriptStringImpl::isNull):
43839         (WebCore::ScriptStringImpl::size):
43840         (WebCore::ScriptStringImpl::append):
43841         * bindings/v8/ScriptStringImpl.h: Added.
43842         (WebCore::ScriptStringImpl::ScriptStringImpl):
43843         (WebCore::ScriptStringImpl::v8StringHandle):
43844         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
43845         (WebCore::ACCESSOR_GETTER):
43846
43847 2009-10-19  Adam Barth  <abarth@webkit.org>
43848
43849         No review, rolling out r49837.
43850         http://trac.webkit.org/changeset/49837
43851
43852         * page/Settings.cpp:
43853         (WebCore::Settings::setStandardFontFamily):
43854         (WebCore::Settings::setFixedFontFamily):
43855         (WebCore::Settings::setSerifFontFamily):
43856         (WebCore::Settings::setSansSerifFontFamily):
43857         (WebCore::Settings::setCursiveFontFamily):
43858         (WebCore::Settings::setFantasyFontFamily):
43859         * page/Settings.h:
43860         (WebCore::Settings::standardFontFamily):
43861         (WebCore::Settings::fixedFontFamily):
43862         (WebCore::Settings::serifFontFamily):
43863         (WebCore::Settings::sansSerifFontFamily):
43864         (WebCore::Settings::cursiveFontFamily):
43865         (WebCore::Settings::fantasyFontFamily):
43866         * platform/text/UScriptCode.h: Removed.
43867
43868 2009-10-19  Kwang Yul Seo  <skyul@company100.net>
43869
43870         Reviewed by Eric Seidel.
43871
43872         Check COMPILER(MSVC) instead of PLATFORM(WIN_OS) to avoid the use of vasprintf.
43873         https://bugs.webkit.org/show_bug.cgi?id=30473
43874
43875         vasprintf is missing in MSVC. Use COMPILER(MSVC) guards instead of
43876         PLALTFORM(WIN_OS) guards.
43877
43878         * dom/XMLTokenizerLibxml2.cpp:
43879         (WebCore::XMLTokenizer::error):
43880
43881 2009-10-19  Jungshik Shin  <jshin@chromium.org>
43882
43883         Reviewed by Eric Seidel.
43884
43885         https://bugs.webkit.org/show_bug.cgi?id=20797
43886
43887         Make generic font family getters/setters accept an additional
43888         argument (script code). It has a default value so that if an embedder
43889         does not have/want a per-script font family setting, call-sites
43890         don't have to be changed.
43891         This is to prepare for fixing bug 10874 (font selection is not
43892         language-dependent) and bug 18085.
43893
43894         There should be no change in layout and no new layout test
43895         is added.
43896
43897         * WebCore.base.exp:
43898         * page/Settings.cpp:
43899         * page/Settings.h:
43900         * platform/text/UScriptCode.h: Added. This is for ports that
43901           do not use ICU. the part of ICU's common/unicode/uscript.h
43902           that defines script code enum was copied. To keep enums compatible
43903           with those in ICU, we don't generate the list out of Scripts.txt
43904           of the Unicode Data base or CLDR's data.
43905
43906 2009-10-19  Evan Stade  <estade@chromium.org>
43907
43908         Reviewed by Darin Adler.
43909
43910         Clarify usage of SuddenTermination API. No code change.
43911
43912         * platform/SuddenTermination.h:
43913
43914 2009-10-19  Oliver Hunt  <oliver@apple.com>
43915
43916         Reviewed by Gavin Barraclough.
43917
43918         REGRESSION: Dromaeo DOM test is 14% slower
43919         https://bugs.webkit.org/show_bug.cgi?id=30273
43920
43921         Make DOM bindings automatically inherit correct structure
43922         flags rather than being needlessly conservative.  This is
43923         done by making the bindings generator use the same model
43924         for TypeInfo flags that we now use in JSC.
43925
43926         This gains us about 1% of this regression back.
43927
43928         * bindings/js/JSDOMBinding.h:
43929         (WebCore::DOMObjectWithGlobalPointer::createStructure):
43930         (WebCore::DOMConstructorObject::createStructure):
43931         * bindings/js/JSDOMWindowShell.h:
43932         (WebCore::JSDOMWindowShell::createStructure):
43933         * bindings/js/JSHTMLAllCollection.h:
43934         (WebCore::JSHTMLAllCollection::createStructure):
43935         * bindings/js/JSQuarantinedObjectWrapper.h:
43936         (WebCore::JSQuarantinedObjectWrapper::createStructure):
43937         * bindings/scripts/CodeGeneratorJS.pm:
43938         * bridge/objc/objc_runtime.h:
43939         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
43940         * bridge/runtime_array.h:
43941         (JSC::RuntimeArray::createStructure):
43942         * bridge/runtime_method.h:
43943         (JSC::RuntimeMethod::createStructure):
43944         * bridge/runtime_object.h:
43945         (JSC::RuntimeObjectImp::createStructure):
43946
43947 2009-10-19  Robin Qiu  <robin.qiu@torchmobile.com.cn>
43948
43949         Reviewed by Nikolas Zimmermann.
43950
43951         Fixed a bug on nested SVG <use> elements.
43952         https://bugs.webkit.org/show_bug.cgi?id=26117
43953         When a <use> element refer to another <use> element which has
43954         child/children, the instance tree built for this <use> element
43955         is incorrect (more nodes than expected).
43956
43957         Test: svg/dom/use-on-use-with-child.svg
43958
43959         * svg/SVGUseElement.cpp:
43960         (WebCore::SVGUseElement::buildInstanceTree):
43961
43962 2009-10-19  Oliver Hunt  <oliver@apple.com>
43963
43964         Small changes to fully invalidate and update the JavaScriptCallFrame.
43965
43966         <rdar://problem/7020755> JSDebugger crashes after reloading from a breakpoint
43967         https://bugs.webkit.org/show_bug.cgi?id=27146
43968
43969         Reviewed by Timothy Hatcher.
43970
43971         * inspector/JavaScriptCallFrame.h:
43972         (WebCore::JavaScriptCallFrame::invalidate):
43973         (WebCore::JavaScriptCallFrame::update):
43974
43975 2009-10-19  Jeremy Orlow  <jorlow@chromium.org>
43976
43977         Reviewed by Dmitri Titov.
43978
43979         Remove "source" from storage events
43980         https://bugs.webkit.org/show_bug.cgi?id=30536
43981
43982         Remove "source" from storage events per
43983         http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-October/023703.html
43984
43985         This was removed because it makes it introduces synchronous access that can
43986         cross the event loop boundry (since a storage event can fire from one process
43987         and be handled in another).
43988
43989         * inspector/InspectorDOMStorageResource.cpp:
43990         (WebCore::InspectorDOMStorageResource::handleEvent):
43991         * storage/StorageEvent.cpp:
43992         (WebCore::StorageEvent::create):
43993         (WebCore::StorageEvent::StorageEvent):
43994         (WebCore::StorageEvent::initStorageEvent):
43995         * storage/StorageEvent.h:
43996         (WebCore::StorageEvent::uri):
43997         * storage/StorageEvent.idl:
43998         * storage/StorageEventDispatcher.cpp:
43999         (WebCore::StorageEventDispatcher::dispatch):
44000
44001 2009-10-19  Adam Barth  <abarth@webkit.org>
44002
44003         Reviewed by Eric Seidel.
44004
44005         Remove ResourceLoadNotifier::activeDocumentLoader
44006         https://bugs.webkit.org/show_bug.cgi?id=30533
44007
44008         Removing this method from ResourceLoadNotifier better decouples the
44009         notifier from FrameLoader.
44010
44011         * loader/FrameLoader.cpp:
44012         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
44013         (WebCore::FrameLoader::requestFromDelegate):
44014         * loader/ResourceLoadNotifier.cpp:
44015         (WebCore::ResourceLoadNotifier::didReceiveResponse):
44016         * loader/ResourceLoadNotifier.h:
44017         * loader/ResourceLoader.cpp:
44018         (WebCore::ResourceLoader::willSendRequest):
44019
44020 2009-10-19  Adam Barth  <abarth@webkit.org>
44021
44022         Reviewed by Eric Seidel.
44023
44024         Move sendRemainingDelegateMessages to ResourceLoadNotifier
44025         https://bugs.webkit.org/show_bug.cgi?id=30531
44026
44027         This method is about notifying folks and doesn't interact with the rest
44028         of FrameLoader.
44029
44030         * loader/FrameLoader.cpp:
44031         (WebCore::FrameLoader::willLoadMediaElementURL):
44032         (WebCore::FrameLoader::commitProvisionalLoad):
44033         (WebCore::FrameLoader::loadResourceSynchronously):
44034         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
44035         * loader/FrameLoader.h:
44036         * loader/ResourceLoadNotifier.cpp:
44037         (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
44038         * loader/ResourceLoadNotifier.h:
44039
44040 2009-10-19  Adam Barth  <abarth@webkit.org>
44041
44042         Reviewed by Eric Seidel.
44043
44044         Bypass popup blocker using click event
44045         https://bugs.webkit.org/show_bug.cgi?id=21501
44046
44047         Keep track of which events were generated by JavaScript and use that
44048         inforation when figuring out if we're processing a user gesture.
44049
44050         Test: http/tests/security/popup-blocked-from-fake-event.html
44051
44052         * bindings/js/ScriptController.cpp:
44053         (WebCore::ScriptController::processingUserGestureEvent):
44054         * bindings/v8/ScriptController.cpp:
44055         (WebCore::ScriptController::processingUserGesture):
44056         * dom/Document.cpp:
44057         (WebCore::Document::createEvent):
44058         * dom/Event.cpp:
44059         (WebCore::Event::Event):
44060         * dom/Event.h:
44061         (WebCore::Event::createdByDOM):
44062         (WebCore::Event::setCreatedByDOM):
44063
44064 2009-10-19  Dumitru Daniliuc  <dumi@chromium.org>
44065
44066         Reviewed by Darin Adler.
44067
44068         Fixing a typo.
44069
44070         https://bugs.webkit.org/show_bug.cgi?id=30543
44071
44072         * platform/sql/SQLiteDatabase.h:
44073
44074 2009-10-19  Dmitry Titov  <dimich@chromium.org>
44075
44076         Reviewed by Darin Adler.
44077
44078         Manual Test for crash caused by JS accessing DOMWindow which is disconnected from the Frame.
44079         https://bugs.webkit.org/show_bug.cgi?id=30544
44080
44081         * manual-tests/crash-on-accessing-domwindow-without-frame.html: Added.
44082
44083 2009-10-19  Simon Fraser  <simon.fraser@apple.com>
44084
44085         Reviewed by Darin Adler.
44086
44087         Flash at end of opacity/transform transition sometimes
44088         https://bugs.webkit.org/show_bug.cgi?id=30501
44089         
44090         When a transition finishes, there window of time between when the animation is
44091         removed, and the final style set on the GraphicsLayer. This caused the layer to revert
44092         to its old appearance for one or two frames. To avoid this, we set the final
44093         transform or opacity at the start of the transition; we know that the animation
44094         will override the final value for as long as its running.
44095         
44096         No test because this is a very transient effect that can't be captured
44097         in a test.
44098
44099         * rendering/RenderLayerBacking.cpp:
44100         (WebCore::RenderLayerBacking::createGraphicsLayer):
44101         (WebCore::RenderLayerBacking::updateLayerOpacity):
44102         (WebCore::RenderLayerBacking::updateLayerTransform):
44103         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
44104         (WebCore::RenderLayerBacking::startTransition):
44105         * rendering/RenderLayerBacking.h:
44106
44107 2009-10-19  Pavel Feldman  <pfeldman@chromium.org>
44108
44109         Reviewed by Timothy Hatcher.
44110
44111         Web Inspector: Add more stop characters into console completions.
44112
44113         https://bugs.webkit.org/show_bug.cgi?id=30477
44114
44115         * inspector/front-end/ConsoleView.js:
44116         (WebInspector.ConsoleView.prototype.completions):
44117         (WebInspector.ConsoleView.prototype._reportCompletions):
44118
44119 2009-10-19  Marshall Culpepper  <mculpepper@appcelerator.com>
44120
44121         Reviewed by Adam Roben.
44122
44123         implemented ClipboardWin::files()
44124         https://bugs.webkit.org/show_bug.cgi?id=29666
44125
44126         * platform/win/ClipboardWin.cpp:
44127         (WebCore::ClipboardWin::files):
44128
44129 2009-10-19  Nate Chapin  <japhet@chromium.org>
44130
44131         Reviewed by Alexey Proskuryakov.
44132
44133         Add support for link relations in HTMLAnchorElement and implement rel="noreferrer".
44134
44135         https://bugs.webkit.org/show_bug.cgi?id=28986
44136
44137         Tests: http/tests/navigation/no-referrer-reset.html
44138                http/tests/navigation/no-referrer-same-window.html
44139                http/tests/navigation/no-referrer-subframe.html
44140                http/tests/navigation/no-referrer-target-blank.html
44141
44142         * WebCore.base.exp: Update FrameLoader::loadFrameRequest export symbol
44143         * html/HTMLAnchorElement.cpp: Add support for link relations and implement noreferrer
44144         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
44145         (WebCore::HTMLAnchorElement::defaultEventHandler):
44146         (WebCore::HTMLAnchorElement::parseMappedAttribute):
44147         (WebCore::HTMLAnchorElement::hasRel):
44148         (WebCore::HTMLAnchorElement::setRel):
44149         * html/HTMLAnchorElement.h: Add support for link relations and implement noreferrer
44150         * loader/FrameLoader.cpp:
44151         (WebCore::FrameLoader::FrameLoader):
44152         (WebCore::FrameLoader::createWindow):
44153         (WebCore::FrameLoader::changeLocation):
44154         (WebCore::FrameLoader::urlSelected): Add parameter for referrer policy
44155         (WebCore::FrameLoader::loadFrameRequest): Add parameter for referrer policy
44156         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): Suppress opener if requested by ReferrerPolicy
44157         * loader/FrameLoader.h: Update urlSelected and loadFrameRequest prototypes
44158         * loader/FrameLoaderTypes.h: Add enum for referrer policy
44159         * loader/RedirectScheduler.cpp:
44160         (WebCore::RedirectScheduler::timerFired):
44161         * page/ContextMenuController.cpp:
44162         (WebCore::ContextMenuController::contextMenuItemSelected): Update call to urlSelected()
44163         * svg/SVGAElement.cpp:
44164         (WebCore::SVGAElement::defaultEventHandler): Update call to urlSelected()
44165
44166
44167 2009-10-19  Alpha Lam  <hclam@chromium.org>
44168
44169         Reviewed by Dimitri Glazkov (dglazkov@chromium.org).
44170
44171         [v8] typeof(HTMLMediaElement) should return undefined if media
44172         engine is not available
44173         https://bugs.webkit.org/show_bug.cgi?id=30343
44174
44175         Check for availability of the media engine to disable
44176         HTMLMediaElement, HTMLAudioElement, HTMLVideoElement, MediaError
44177         in runtime.
44178
44179         Try runs and review in Chromium:
44180         http://codereview.chromium.org/276011
44181
44182         Test: manual-tests/chromium/media-player-not-available.html
44183
44184         The above test can work work in Chromium. Testing procedures:
44185         1. Remove all media support libraries in Chromium (e.g. ffmpeg libraries)
44186         2. Open Chromium with above test page
44187         3. Verify the test results according to the test page
44188
44189         * bindings/v8/custom/V8CustomBinding.h:
44190         Declare enabler methods.
44191         * bindings/v8/custom/V8DOMWindowCustom.cpp:
44192         Report enabled only if media player is available.
44193         * manual-tests/chromium/media-player-not-available.html: Added.
44194         Manual test, following instruction in this test for procedures.
44195         * page/DOMWindow.idl:
44196         Mark HTMLMediaElement, HTMLAudioElement, HTMLVideElement, MediaError
44197         as enabled at runtime.
44198
44199 2009-10-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
44200
44201         Reviewed by David Hyatt.
44202
44203         Refactor out some of the code in paint() into paintPanScrollIcon()
44204         and paintScrollbars() in preparation of some Qt API changes.
44205
44206         * platform/ScrollView.cpp:
44207         (WebCore::ScrollView::paint):
44208         * platform/ScrollView.h:
44209
44210 2009-10-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
44211
44212         Reviewed by Adam Roben.
44213
44214         Make the local static panScrollIcon into a Image* instead
44215         of a RefPtr<Image>.
44216
44217         * platform/ScrollView.cpp:
44218         (WebCore::ScrollView::wheelEvent):
44219
44220 2009-10-19  Andrew Scherkus  <scherkus@chromium.org>
44221
44222         Reviewed by David Levin.
44223
44224         Forcefully set antialiasing for Chromium media controls.
44225
44226         https://bugs.webkit.org/show_bug.cgi?id=30521
44227
44228         Before it was nondeterministiacally being enabled based on the previous state of GraphicsContext.
44229
44230         Covered by existing layout tests.
44231
44232         * rendering/RenderMediaControlsChromium.cpp:
44233         (WebCore::paintMediaSlider): Added setShouldAntialias(true).
44234
44235 2009-10-19  Jens Alfke  <jens@mooseyard.com>
44236
44237         Reviewed by Darin Adler.
44238
44239         Optimize string upper/lowercasing
44240         https://bugs.webkit.org/show_bug.cgi?id=30261
44241         
44242         - Added AtomicString::upper() and lower()
44243         - Further optimized StringImpl::lower()
44244         - Removed StringImpl::isLower()
44245         - Added QualifiedName::localNameUpper(), which is cached, thereby saving
44246           thousands of upper() calls and string allocations.
44247  
44248          * dom/Element.cpp:
44249          (WebCore::Element::setAttribute): Call AtomicString::lower()
44250          * dom/QualifiedName.cpp:
44251          (WebCore::QualifiedName::localNameUpper): New method
44252          * dom/QualifiedName.h: Added localNameUpper() method
44253          * dom/StyledElement.cpp:
44254          (WebCore::StyledElement::parseMappedAttribute):  Call AtomicString::lower()
44255          * html/HTMLDocument.cpp:
44256          (WebCore::HTMLDocument::createElement): Call AtomicString::lower()
44257          * html/HTMLElement.cpp:
44258          (WebCore::HTMLElement::nodeName): Call localNameUpper()
44259          * platform/text/AtomicString.cpp:
44260          (WebCore::AtomicString::lower): New method
44261          (WebCore::AtomicString::upper): New method
44262          * platform/text/AtomicString.h: Added lower() and upper()
44263          * platform/text/StringImpl.cpp: Removed isLower()
44264          (WebCore::StringImpl::lower): Further optimization of initial loop
44265          * platform/text/StringImpl.h: Removed isLower()
44266  
44267 2009-10-19  Nate Chapin  <japhet@chromium.org>
44268
44269         Reviewed by Adam Barth.
44270
44271         If a call to a plugin's invokeMethod, invokeDefault or construct
44272         returns false, throw an exception into JS.        
44273
44274         https://bugs.webkit.org/show_bug.cgi?id=30239
44275
44276         Test: plugins/netscape-invoke-failure.html
44277
44278         * bindings/v8/V8NPObject.cpp: Check return values of invokeMethod, invokeDefault and construct.
44279         (npObjectInvokeImpl):
44280         * bridge/c/c_instance.cpp:
44281         (JSC::Bindings::CInstance::invokeMethod): Check return value
44282         (JSC::Bindings::CInstance::invokeDefaultMethod): Check return value
44283         (JSC::Bindings::CInstance::invokeConstruct): Check return value
44284
44285 2009-10-16  Stephen White  <senorblanco@chromium.org>
44286
44287         Reviewed by Adam Barth.
44288
44289         Fix for chromium/skia canvas arc start/end positions, when the arc is
44290         >= 360 degrees.
44291         https://bugs.webkit.org/show_bug.cgi?id=30449
44292
44293         Covered by new test:
44294         LayoutTests/fast/canvas/arc360.html
44295
44296         * platform/graphics/skia/PathSkia.cpp:
44297         (WebCore::Path::addArc):
44298
44299 2009-10-19  Kent Tamura  <tkent@chromium.org>
44300
44301         Reviewed by Alexey Proskuryakov.
44302
44303         Fix uninitialized variable reference in Element::removeAttribute().
44304         https://bugs.webkit.org/show_bug.cgi?id=30502
44305
44306         * dom/Element.cpp:
44307         (WebCore::Element::removeAttribute):
44308
44309 2009-10-19  Eric Carlson  <eric.carlson@apple.com>
44310
44311         Reviewed by Simon Fraser.
44312
44313         https://bugs.webkit.org/show_bug.cgi?id=30463
44314         Remove HTML5 media element 'loadend' event
44315
44316         * dom/EventNames.h:
44317         * html/HTMLMediaElement.cpp:
44318         (WebCore::HTMLMediaElement::parseMappedAttribute): Remove 'loadend'.
44319         (WebCore::HTMLMediaElement::loadInternal): Ditto.
44320         (WebCore::HTMLMediaElement::noneSupported): Ditto.
44321         (WebCore::HTMLMediaElement::mediaEngineError): Ditto.
44322         (WebCore::HTMLMediaElement::setNetworkState): Ditto.
44323         (WebCore::HTMLMediaElement::userCancelledLoad): Ditto.
44324
44325 2009-10-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44326
44327         Reviewed by Adam Barth.
44328
44329         [Qt] Remove deletion of outgoing FormData object when reply is finished.
44330         The buffers will be destroyed a bit later, when the QNetworkReply is deleted.
44331         Bug: https://bugs.webkit.org/show_bug.cgi?id=29551
44332
44333         * platform/network/qt/QNetworkReplyHandler.cpp:
44334         * platform/network/qt/QNetworkReplyHandler.h:
44335
44336 2009-10-19  Dimitri Glazkov  <dglazkov@chromium.org>
44337
44338         Reviewed by Darin Adler.
44339
44340         Fix hard-to-reproduce crash in HTMLTokenizer by avoiding a rare
44341         fastRealloc edge case.
44342         https://bugs.webkit.org/show_bug.cgi?id=29313
44343
44344         No test, the crash shows up occasionally in crash dumps, we weren't able
44345         to reproduce it locally.
44346
44347         * html/HTMLTokenizer.cpp:
44348         (WebCore::HTMLTokenizer::enlargeScriptBuffer): Added an early exit to
44349             avoid calling fastRealloc with the size of 0.
44350
44351 2009-10-19  Andrew Scherkus  <scherkus@chromium.org>
44352
44353         Reviewed by Eric Seidel.
44354
44355         Use fillRect() instead of drawRect() to fix Chromium media controls rendering.
44356
44357         https://bugs.webkit.org/show_bug.cgi?id=30371
44358
44359         Chromium Mac layout tests will need to be rebaselined.  Existing layout tests for Linux/Win still pass.
44360
44361         * rendering/RenderMediaControlsChromium.cpp:
44362         (WebCore::paintMediaSlider): Use fillRect() instead of drawRect().
44363
44364 2009-10-19  Dmitry Titov  <dimich@chromium.org>
44365
44366         Reviewed by Adam Barth.
44367
44368         Crash in DOMWindow::clearTimeout etc when DOMWindow is not connected to a frame.
44369         https://bugs.webkit.org/show_bug.cgi?id=29832
44370
44371         Need to make sure the script caches are reset when frame gets disconnected from still-alive DOMWindow.
44372         This will prevent JS from calling DOMWindow methods that can not be completed w/o the frame.
44373
44374         I am not sure it's possible to test this since the only file that repros the problem need ~10 seconds to cause crash.
44375
44376         * page/Frame.cpp:
44377         (WebCore::Frame::~Frame): Right after frame disconnects from DOMWindow, clear WindowShell.
44378
44379 2009-10-19  Csaba Osztrogonác  <ossy@webkit.org>
44380
44381         Unreviewed build warning fix.
44382         [Qt] Apply changes to WebCore.pro introduced in r49778
44383
44384         * WebCore.pro: Removed svg/graphics/filters/SVGFEGaussianBlur.h from HEADERS
44385
44386 2009-10-19  Dirk Schulze  <krit@webkit.org>
44387
44388         Reviewed by Darin Adler.
44389
44390         Move feGaussianBlur from WebCore/svg to WebCore/platform
44391         [https://bugs.webkit.org/show_bug.cgi?id=30495]
44392
44393         This patch moves SVGFRGaussianBlur from svg/graphics/filters
44394         to platform/graphics/filters/FEGaussianBlur. This is needed
44395         for shadow support on Qt and Cairo.
44396         No change in functionality, therfore no new test case needed.
44397
44398         * GNUmakefile.am:
44399         * WebCore.gypi:
44400         * WebCore.pro:
44401         * WebCore.vcproj/WebCore.vcproj:
44402         * WebCore.xcodeproj/project.pbxproj:
44403         * platform/graphics/filters/FEGaussianBlur.cpp: Added.
44404         * platform/graphics/filters/FEGaussianBlur.h: Added.
44405         * svg/SVGFEGaussianBlurElement.h:
44406         * svg/graphics/filters/SVGFEGaussianBlur.cpp: Removed.
44407         * svg/graphics/filters/SVGFEGaussianBlur.h: Removed.
44408
44409 2009-10-19  Yael Aharon  <yael.aharon@nokia.com>
44410
44411         Unreviewed.
44412
44413         Added reviewer name to r49574.
44414
44415 2009-10-19  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
44416
44417         Reviewed by Xan Lopez.
44418
44419         https://bugs.webkit.org/show_bug.cgi?id=30489
44420         [Gtk] The document frame/html container claims to be parentless
44421
44422         Work around for the parentless claim made by the accessible associated
44423         with the embedded WebView. When we identify this condition, get the
44424         widget's parent, and then get the AtkObject from that. Admittedly an ugly
44425         hack, but we'll need it for Yelp and other Gtk+/GNOME applications which
44426         plan to switch over to WebKit.
44427
44428         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
44429         (webkit_accessible_get_parent):
44430
44431 2009-10-19  Benjamin Otte  <otte@gnome.org>
44432
44433         Reviewed by Jan Alonzo.
44434
44435         Handle duration queries properly
44436         https://bugs.webkit.org/show_bug.cgi?id=29999
44437
44438         Previously duration queries failed to handle unknown duration
44439         and didn't treat the returned duration as an unsigned.
44440
44441         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
44442         (WebCore::MediaPlayerPrivate::duration):
44443
44444 2009-10-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44445
44446         Reviewed by Tor Arne Vestbø.
44447
44448         [Qt] Fix build on Windows.
44449
44450         * plugins/win/PluginViewWin.cpp:
44451         (windowHandleForPageClient):
44452
44453 2009-10-19  Girish Ramakrishnan  <girish@forwardbias.in>
44454
44455         Reviewed by Holger Freyther.
44456
44457         [Qt] Windowed Plugins: Don't crash when client is 0.
44458         
44459         Client is 0 when we use QWebPage without a QWebView or QGraphicsWebView.
44460         In addition, setFrameRect()/updatePluginWidget() is called even if the
44461         plugin was not succesfully loaded. updatePluginWidget() updates the
44462         window rect which is, in theory, useful to draw something that indicates
44463         that we didn't load successfully.
44464         
44465         So, a status check is added to setNPWindowIfNeeded.
44466
44467         https://bugs.webkit.org/show_bug.cgi?id=30380
44468
44469         * plugins/qt/PluginViewQt.cpp:
44470         (WebCore::PluginView::setNPWindowIfNeeded):
44471         (WebCore::PluginView::platformStart):
44472
44473 2009-10-19  Girish Ramakrishnan  <girish@forwardbias.in>
44474
44475         Reviewed by Holger Freyther.
44476
44477         [Qt] Windowed Plugins: Fix crash when QWebPage is deleted after QWebView.
44478         
44479         Fixes various sources of crashes:
44480         1. The PluginContainer is a child of QWebView. When the view gets deleted,
44481         the PluginView is not notified about the deletion of PluginContainer.
44482         2. QWebView destructor does not set client to 0.
44483         3. Sometimes pending paint events are sent after the plugin has died, so add
44484         a check in PluginView::setNPWindowIfNeeded.
44485
44486         https://bugs.webkit.org/show_bug.cgi?id=30354
44487
44488         * plugins/qt/PluginContainerQt.cpp:
44489         (PluginContainerQt::~PluginContainerQt):
44490         * plugins/qt/PluginViewQt.cpp:
44491         (WebCore::PluginView::setNPWindowIfNeeded):
44492
44493 2009-10-19  Jakob Truelsen  <antialize@gmail.com>
44494
44495         Reviewed by Adam Barth.
44496
44497         https://bugs.webkit.org/show_bug.cgi?id=29042
44498         Allow one to customize the minimal and maximal shrink factors used when printing.
44499
44500         * page/PrintContext.cpp:
44501         (WebCore::PrintContext::begin):
44502         * page/Settings.cpp:
44503         (WebCore::Settings::Settings):
44504         (WebCore::Settings::setPrintingMinimumShrinkFactor):
44505         (WebCore::Settings::setPrintingMaximumShrinkFactor):
44506         * page/Settings.h:
44507         (WebCore::Settings::printingMinimumShrinkFactor):
44508         (WebCore::Settings::printingMaximumShrinkFactor):
44509
44510 2009-10-18  Erik Arvidsson  <arv@chromium.org>
44511
44512         Reviewed by Adam Barth.
44513
44514         Fixes issue where doubleclicking a word could select following adjacent newlines.
44515         https://bugs.webkit.org/show_bug.cgi?id=30234
44516
44517         Tests: platform/mac/editing/selection/doubleclick-should-not-expand-across-lines.html
44518                platform/mac/editing/selection/script-tests/TEMPLATE.html
44519                platform/win/editing/selection/doubleclick-should-not-expand-across-lines.html
44520                platform/win/editing/selection/script-tests/TEMPLATE.html
44521
44522         * editing/VisibleSelection.cpp:
44523         (WebCore::VisibleSelection::appendTrailingWhitespace):
44524
44525 2009-10-18  Kevin Ollivier  <kevino@theolliviers.com>
44526
44527         CURL build fix, use proper header name.
44528
44529         * platform/network/curl/ResourceHandleManager.h:
44530
44531 2009-10-18  Pavel Feldman  <pfeldman@chromium.org>
44532
44533         Reviewed by Timothy Hatcher.
44534
44535         Web Inspector: Properties on Arrays and NodeLists are not logged correctly.
44536
44537         https://bugs.webkit.org/show_bug.cgi?id=30485
44538
44539         * inspector/front-end/ConsoleView.js:
44540         (WebInspector.ConsoleView.prototype._formatarray):
44541         (WebInspector.ConsoleView.prototype._printArray):
44542
44543 2009-10-18  Pavel Feldman  <pfeldman@chromium.org>
44544
44545         Not reviewed: touching WebCore so that it
44546         initiated inspector frontend deployment on Windows.
44547
44548         Web Inspector: frontend files are not deployed in Windows
44549         incremental build.
44550
44551         * inspector/InspectorDOMAgent.cpp:
44552         (WebCore::InspectorDOMAgent::unbind):
44553
44554 2009-10-18  Pavel Feldman  <pfeldman@chromium.org>
44555
44556         Reviewed by Timothy Hatcher.
44557
44558         Web Inspector: Title of dir(["test", "test2"]) should be Array
44559
44560         https://bugs.webkit.org/show_bug.cgi?id=30486
44561
44562         Test: inspector/console-tests.html
44563
44564         * inspector/front-end/InjectedScript.js:
44565
44566 2009-10-18  Dirk Schulze  <krit@webkit.org>
44567
44568         Reviewed by Nikolas Zimmermann.
44569
44570         REGRESSION: SVG Mask doesn't work for maskContentUnits="objectBoundingBox"
44571         [https://bugs.webkit.org/show_bug.cgi?id=30480]
44572
44573         Patch for SVGMaskElement landed in r49598 should correct the location of
44574         the mask image graphics context. It only corrects the location for userSpaceOnUse
44575         mode in maskContentUnits but breaks objectBoundingBoxMode.
44576         The maskDestRect shouldn't be moved. It is not responsible for the correct context
44577         postioin but for the correct position of the mask image.
44578         This patch calculates the context postion independently from the maskDestRect.
44579         It also uses lineareRGB color space for masking on CG now. This is the default
44580         color space for masking operations.
44581         We already have tests for both maskContentUnits modes.
44582
44583             *svg/W3C-SVG-1.1/masking-intro-01-f.svg
44584             *svg/custom/mask-with-default-value.svg
44585
44586         Some tests needed new pixel tests because of the new color space.
44587
44588         * svg/SVGMaskElement.cpp:
44589         (WebCore::SVGMaskElement::drawMaskerContent):
44590
44591 2009-10-18  Anton Muhin  <antonm@chromium.org>
44592
44593         Reviewed by Adam Barth.
44594
44595         Use v8::Integer::NewFromUnsigned when converting unsigneds into V8's numbers.
44596         That is notably faster for small numbers (most common case).
44597         https://bugs.webkit.org/show_bug.cgi?id=30493
44598
44599         * bindings/scripts/CodeGeneratorV8.pm:
44600
44601 2009-10-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
44602
44603         Reviewed by Holger Freyther.
44604
44605         [GTK] Add MathML to the build system
44606         https://bugs.webkit.org/show_bug.cgi?id=30487
44607
44608         Add MathML sources if MathML support is enabled.
44609
44610         * GNUmakefile.am:
44611
44612 2009-10-18  Kevin Ollivier  <kevino@theolliviers.com>
44613
44614         Non-PCH build fix. Added missing header.
44615
44616         * bridge/runtime_root.h:
44617
44618 2009-10-18  Simon Fraser  <simon.fraser@apple.com>
44619
44620         Reviewed by Dan Bernstein.
44621
44622         Compositing layers not correctly updated after partial layout
44623         https://bugs.webkit.org/show_bug.cgi?id=30425
44624         
44625         When a partial layout happened, for example as the result of a postion-change-only
44626         layout, then some compositing layer positions were not correctly updated. To fix
44627         this, updateLayerPositions() now carries along a flag that is set at the rootmost
44628         layer being updated, and used to determine when we hit the first compositing layer
44629         in this update. RenderLayerBacking::updateAfterLayout() makes use of this information
44630         to do a full geometry update on that layer, which is thus the rootmost compositing
44631         layer that is being updated.
44632
44633         Test: compositing/geometry/partial-layout-update.html
44634
44635         * page/FrameView.cpp:
44636         (WebCore::FrameView::layout):
44637         * rendering/RenderLayer.cpp:
44638         (WebCore::RenderLayer::updateLayerPositions):
44639         (WebCore::RenderLayer::scrollToOffset):
44640         * rendering/RenderLayer.h:
44641         (WebCore::RenderLayer::):
44642         * rendering/RenderLayerBacking.cpp:
44643         (WebCore::RenderLayerBacking::updateAfterLayout):
44644         * rendering/RenderLayerBacking.h:
44645
44646 2009-09-13  Kevin Watters  <kevinwatters@gmail.com>
44647
44648         Reviewed by Kevin Ollivier.
44649
44650         Add support for proxies in CURL.
44651  
44652         https://bugs.webkit.org/show_bug.cgi?id=30446
44653
44654         * platform/network/curl/ResourceHandleManager.cpp:
44655         (WebCore::ResourceHandleManager::setProxyInfo):
44656         (WebCore::ResourceHandleManager::initializeHandle):
44657         * platform/network/curl/ResourceHandleManager.h:
44658         (WebCore::ResourceHandleManager::):
44659
44660 2009-10-18  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
44661
44662         Reviewed by Xan Lopez
44663
44664         https://bugs.webkit.org/show_bug.cgi?id=25901
44665         Use ATK_ROLE_SECTION for divTag and ATK_ROLE_LABEL for labelTag
44666
44667         Replaces the use of ATK_ROLE_PANEL with the expected accessible roles.
44668
44669         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
44670         (webkit_accessible_get_role):
44671
44672 2009-10-17  Nikolas Zimmermann  <nzimmermann@rim.com>
44673
44674         Reviewed by George Staikos.
44675
44676         Cleanup SVGElement code, preparing for animVal support
44677         https://bugs.webkit.org/show_bug.cgi?id=30466
44678
44679         Add new SynchronizablePropertyController and move the code for SVG property <-> XML attribute synchronization
44680         from SVGElement. This is a further preparation for animVal support, where SynchronizablePropertyController will
44681         be used to control the start/end state of an animated property.
44682
44683         We're currently tracking animated properties that need synchronization, generalize this concept and use
44684         it to track their creation (bound to certain SVG*Element classes) as well as a flag determing the need
44685         of synchronization (no SVG DOM object wrappers, no synchronization needed).
44686
44687         No change in functionality, thus no tests.
44688
44689         * GNUmakefile.am: Add 'SynchronizablePropertyController.cpp/h' to build
44690         * WebCore.gypi: Ditto.
44691         * WebCore.pro: Ditto.
44692         * WebCore.vcproj/WebCore.vcproj: Ditto.
44693         * WebCore.xcodeproj/project.pbxproj: Ditto.
44694         * svg/SVGAllInOne.cpp: Ditto.
44695         * svg/SVGAnimatedProperty.h: Add registerProperty() function 
44696         (WebCore::::SVGAnimatedProperty): Call registerProperty() function  
44697         (WebCore::::registerProperty): Add new registerProperty() function, announcing new properties to SynchronizablePropertyController.
44698         * svg/SVGAnimatedTemplate.h: Use propertyController() method, to access the new functions moved from SVGElement.
44699         (WebCore::lookupOrCreateWrapper):
44700         * svg/SVGElement.cpp: Adapt to code moving to SynchronizablePropertyController.
44701         (WebCore::SVGElement::updateAnimatedSVGAttribute):
44702         * svg/SVGElement.h: Move handling SVG property synchronization to SynchronizablePropertyController.
44703         (WebCore::SVGElement::propertyController): Expose reference to SynchronizablePropertyController object.
44704         * svg/SVGViewSpec.cpp: Reorder initialization order of contextElement, leading to possible crashes.
44705         (WebCore::SVGViewSpec::SVGViewSpec):
44706         (WebCore::SVGViewSpec::viewTarget):
44707         * svg/SVGViewSpec.h: Ditto.
44708         (WebCore::SVGViewSpec::contextElement):
44709         * svg/SynchronizablePropertyController.cpp: Added.
44710         (WebCore::SynchronizablePropertyController::SynchronizablePropertyController):
44711         (WebCore::SynchronizablePropertyController::registerProperty):
44712         (WebCore::SynchronizablePropertyController::setPropertyNeedsSynchronization):
44713         (WebCore::SynchronizablePropertyController::synchronizeProperty):
44714         (WebCore::SynchronizablePropertyController::synchronizeAllProperties):
44715         (WebCore::SynchronizablePropertyController::startAnimation):
44716         (WebCore::SynchronizablePropertyController::stopAnimation):
44717         * svg/SynchronizablePropertyController.h: Added.
44718         (WebCore::SynchronizableProperty::SynchronizableProperty):
44719         (WebCore::SynchronizableProperty::isHashTableDeletedValue):
44720         (WebCore::SynchronizableProperty::operator==):
44721         (WebCore::SynchronizablePropertyHash::hash):
44722         (WebCore::SynchronizablePropertyHash::equal):
44723         (WebCore::SynchronizablePropertyHashTraits::constructDeletedValue):
44724         (WebCore::SynchronizablePropertyHashTraits::isDeletedValue):
44725
44726 2009-10-17  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
44727
44728         Reviewed by Xan Lopez.
44729
44730         https://bugs.webkit.org/show_bug.cgi?id=25413
44731         [GTK] Please expose the level of headings
44732
44733         Exposes the heading level as an attribute of the AtkObject.
44734
44735         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
44736         (addAttributeToSet):
44737         (webkit_accessible_get_attributes):
44738         (webkit_accessible_class_init):
44739
44740 2009-10-17  Kwang Yul Seo  <skyul@company100.net>
44741
44742         Reviewed by Eric Seidel.
44743
44744         EventHandler::eventLoopHandleMouseDragged needs ENABLE(DRAG_SUPPORT) guards
44745         https://bugs.webkit.org/show_bug.cgi?id=30472
44746
44747         Put ENABLE(DRAG_SUPPORT) guards around EventHandler::eventLoopHandleMouseDragged
44748         in EventHandler.cpp. MSVC fails to compile when DRAG_SUPPORT not enabled.
44749
44750         * page/EventHandler.cpp:
44751
44752 2009-10-17  Alpha Lam  <hclam@chromium.org>
44753
44754         Reviewed by Eric Seidel.
44755
44756         [chromium] Video controls not zoomed / transformed correctly
44757         https://bugs.webkit.org/show_bug.cgi?id=30461
44758
44759         Draw the images in the controls scaled.
44760
44761         No new tests. With this change Chromium will pass the following tests:
44762         LayoutTests/media/video-controls-zoomed.html
44763         LayoutTests/media/video-controls-transformed.html
44764
44765         * rendering/RenderMediaControlsChromium.cpp:
44766         (WebCore::paintMediaButton):
44767         Pass along the target rect directly.
44768         (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
44769         Adjust the thumb slide applied with the scale factor.
44770
44771 2009-10-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
44772
44773         Unreviewed.
44774
44775         [Gtk] Build fix for WebKitGtk after r49723.
44776
44777         Add bindings/js/JSExceptionBase.* to the build.
44778
44779         * GNUmakefile.am:
44780
44781 2009-10-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
44782
44783         Unreviewed.
44784
44785         [Qt] Build fix for QtWebKit after r49723.
44786
44787         Add bindings/js/JSExceptionBase.cpp to the build.
44788
44789         * WebCore.pro:
44790
44791 2009-10-16  Steve Falkenburg  <sfalken@apple.com>
44792
44793         Reviewed by Dan Bernstein.
44794
44795         https://bugs.webkit.org/show_bug.cgi?id=30456
44796         Fixes for new Debug_All Windows build configuration.
44797
44798         * platform/network/cf/ResourceRequestCFNet.cpp:
44799         (WebCore::findCFNetworkModule): Ask for the correct library instead of guessing.
44800         * platform/win/ScrollbarThemeSafari.cpp: Use new DEBUG_ALL preprocessor define for library naming.
44801         * rendering/RenderMediaControls.cpp: Use new DEBUG_ALL preprocessor define for library naming.
44802         * rendering/RenderThemeSafari.cpp: Use new DEBUG_ALL preprocessor define for library naming.
44803
44804 2009-10-16  Jon Honeycutt  <jhoneycutt@apple.com>
44805
44806         Add SPI to determine whether a plug-in has ever been halted.
44807
44808         Part of <rdar://problem/7312158>.
44809
44810         Reviewed by Dan Bernstein.
44811
44812         * plugins/PluginView.cpp:
44813         (WebCore::PluginView::PluginView):
44814         Initialize m_hasBeenHalted.
44815
44816         * plugins/PluginView.h:
44817         (WebCore::PluginView::hasBeenHalted):
44818         Return m_hasBeenHalted.
44819
44820         * plugins/win/PluginViewWin.cpp:
44821         (WebCore::PluginView::halt):
44822         Set m_hasBeenHalted.
44823
44824 2009-10-16  Adam Barth  <abarth@webkit.org>
44825
44826         Reviewed by Alexey Proskuryakov.
44827
44828         @charset rule after the first byte causes the rest of css to be ignored
44829         https://bugs.webkit.org/show_bug.cgi?id=18265
44830
44831         Apparently we're supposed to tolerate whitespace before the charset
44832         rule so folks can write code like this:
44833
44834         <style>
44835         @charset "utf-8"
44836         ...
44837         </style>
44838
44839         I'm told this is one of the top compatability problems in China.
44840         Tests: fast/css/comment-before-charset-external.html
44841                fast/css/comment-before-charset.html
44842                fast/css/many-spaces-before-charset.html
44843                fast/css/space-before-charset-external.html
44844                fast/css/space-before-charset.html
44845
44846         * css/CSSGrammar.y:
44847
44848 2009-10-16  Brian Weinstein  <bweinstein@apple.com>
44849
44850         Reviewed by Darin Adler.
44851
44852         Fixes part of <http://webkit.org/b/30412>.
44853         Web Inspector should get human readable DOM Exceptions.
44854
44855         Add a description field to ExceptionBase, and call it through 
44856         reportException which allows the user/developer to get a more detailed
44857         and coherent error explanation through the Web Inspector.
44858
44859         This only applies to exceptions that come from a script on the page when
44860         it is run. DOM Exceptions that come from the code run in the console, or DOM
44861         exceptions that are caught and logged will come in a future patch.
44862
44863         Tests: inspector/uncaught-dom1-exception.html
44864                inspector/uncaught-dom3-exception.html
44865                inspector/uncaught-dom8-exception.html
44866
44867         * WebCore.gypi:
44868         * WebCore.vcproj/WebCore.vcproj:
44869         * WebCore.xcodeproj/project.pbxproj:
44870         * bindings/js/JSDOMBinding.cpp:
44871         (WebCore::reportException):
44872         * bindings/js/JSExceptionBase.cpp: Added.
44873         (WebCore::toExceptionBase):
44874         * bindings/js/JSExceptionBase.h: Added.
44875         * dom/ExceptionBase.cpp:
44876         (WebCore::ExceptionBase::ExceptionBase):
44877         * dom/ExceptionBase.h:
44878         (WebCore::ExceptionBase::description):
44879         * dom/ExceptionCode.cpp:
44880         (WebCore::):
44881         (WebCore::getExceptionCodeDescription):
44882         * dom/ExceptionCode.h:
44883
44884 2009-10-16  Geoffrey Garen  <ggaren@apple.com>
44885
44886         Build fix: forgot to check in this #include.
44887
44888         * bridge/runtime_root.h:
44889
44890 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
44891
44892         Reviewed by Dan Bernstein.
44893
44894         Transform layer gets stuck with the wrong transform after an animation ends
44895         <rdar://problem/7311662>
44896
44897         Work around a CoreAnimation bug which causes an animated transform layer to
44898         end up with a stale transform.
44899         
44900         Test: compositing/animation/state-at-end-event-transform-layer.html
44901
44902         * platform/graphics/mac/GraphicsLayerCA.mm:
44903         (WebCore::bug7311367Workaround):
44904         (WebCore::GraphicsLayerCA::removeAnimationFromLayer):
44905
44906 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
44907
44908         Reviewed by Dan Bernstein.
44909
44910         After running a transition with an end event listener, can't change the transform
44911         https://bugs.webkit.org/show_bug.cgi?id=30454
44912         
44913         Fix an issue where, if a document had any listener for webkitTransitionEnd or webkitAnimationEnd,
44914         the animations would not get cleaned up correctly, which broke subsequent changes of transform.
44915         
44916         Now, we always clean up the animations right after queuing up the end events.
44917
44918         Tests: animations/state-at-end-event.html
44919                transitions/move-after-transition.html
44920
44921         * page/animation/ImplicitAnimation.cpp:
44922         (WebCore::ImplicitAnimation::onAnimationEnd):
44923         * page/animation/KeyframeAnimation.cpp:
44924         (WebCore::KeyframeAnimation::onAnimationEnd):
44925
44926 2009-10-15  Joseph Pecoraro  <joepeck@webkit.org>
44927
44928         Reviewed by Timothy Hatcher.
44929
44930         Web Inspector: Handle the Enter Key in the Elements Tree Hierarchy
44931         https://bugs.webkit.org/show_bug.cgi?id=30428
44932
44933         TextNode => Edit Text Node
44934         Has Attributes => Edit First Attribute
44935         No Attributes => Start Editing New Attribute
44936
44937         * inspector/front-end/ElementsTreeOutline.js:
44938         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): handle the "Enter" key
44939         (WebInspector.ElementsTreeElement.prototype.set hovered): only add new attribute button on nodes with attributes
44940         (WebInspector.ElementsTreeElement.prototype._addNewAttribute): prevent moving backwards where there are no attributes
44941         (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): renamed to be clearer
44942         (WebInspector.ElementsTreeElement.prototype._startEditing): transition to the appropriate edit state for a tree element
44943
44944 2009-10-16  Adam Barth  <abarth@webkit.org>
44945
44946         Reviewed by Eric Seidel.
44947
44948         Fix header indent style for FrameLoader and friends
44949         https://bugs.webkit.org/show_bug.cgi?id=30430
44950
44951         * loader/FrameLoader.h:
44952         (WebCore::FrameLoader::frame):
44953         (WebCore::FrameLoader::policyChecker):
44954         (WebCore::FrameLoader::history):
44955         (WebCore::FrameLoader::notifier):
44956         (WebCore::FrameLoader::isLoadingMainResource):
44957         (WebCore::FrameLoader::documentLoader):
44958         (WebCore::FrameLoader::policyDocumentLoader):
44959         (WebCore::FrameLoader::provisionalDocumentLoader):
44960         (WebCore::FrameLoader::state):
44961         (WebCore::FrameLoader::client):
44962         (WebCore::FrameLoader::url):
44963         (WebCore::FrameLoader::isLoadingFromCachedPage):
44964         (WebCore::FrameLoader::committingFirstRealLoad):
44965         (WebCore::FrameLoader::committedFirstRealDocumentLoad):
44966         (WebCore::FrameLoader::creatingInitialEmptyDocument):
44967         * loader/HistoryController.h:
44968         (WebCore::HistoryController::currentItem):
44969         (WebCore::HistoryController::provisionalItem):
44970         * loader/PolicyCallback.h:
44971         (WebCore::PolicyCallback::request):
44972         * loader/PolicyChecker.h:
44973         (WebCore::PolicyChecker::loadType):
44974         (WebCore::PolicyChecker::setLoadType):
44975         (WebCore::PolicyChecker::delegateIsDecidingNavigationPolicy):
44976         (WebCore::PolicyChecker::delegateIsHandlingUnimplementablePolicy):
44977         * loader/RedirectScheduler.h:
44978         * loader/ResourceLoadNotifier.h:
44979
44980 2009-10-16  Steve Falkenburg  <sfalken@apple.com>
44981
44982         Reviewed by Adam Roben.
44983
44984         Add a Debug_All configuration to build entire stack as debug.
44985         Change Debug_Internal to:
44986         - stop using _debug suffix for all WebKit/Safari binaries
44987         - not use _debug as a DLL naming suffix
44988         - use non-debug C runtime lib.
44989
44990         * WebCore.vcproj/QTMovieWin.vcproj: Add Debug_All configuration.
44991         * WebCore.vcproj/WebCore.make: Debug build in makefile should build Debug_All.
44992         * WebCore.vcproj/WebCore.sln: Add Debug_All configuration.
44993         * WebCore.vcproj/WebCore.submit.sln: Add Debug_All configuration.
44994         * WebCore.vcproj/WebCore.vcproj: Add Debug_All configuration.
44995         * WebCore.vcproj/WebCoreGenerated.vcproj: Renamed single configuration from "Release" to "all".
44996
44997 2009-10-16  Dimitri Glazkov  <dglazkov@chromium.org>
44998
44999         No review, rolling out r49693, because it broke Chromium build.
45000         http://trac.webkit.org/changeset/49693
45001
45002         * WebCore.gyp/WebCore.gyp:
45003         * WebCore.gypi:
45004
45005 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
45006
45007         Reviewed by Eric Carlson.
45008
45009         Updated media resource selection algorithm to reflect latest HTML 5 specification.
45010
45011         Noticable changes:
45012             -  Elements with no source should have their network state set to NETWORK_EMPTY as opposed to NETWORK_NO_SOURCE
45013             -  Empty string ("") is now considered a valid URL resolving to the current page and will be loaded
45014
45015         Tests: media/video-src-empty.html
45016                media/video-src-none.html
45017
45018         https://bugs.webkit.org/show_bug.cgi?id=30407
45019
45020         * html/HTMLMediaElement.cpp:
45021         (WebCore::HTMLMediaElement::selectMediaResource): Updated code and comments to match spec.
45022
45023 2009-10-16  Adam Barth  <abarth@webkit.org>
45024
45025         Reviewed by Eric Seidel.
45026
45027         Insecure plug-ins don't trigger mixed content
45028         https://bugs.webkit.org/show_bug.cgi?id=30431
45029
45030         Added the missing check.
45031
45032         Test: http/tests/security/mixedContent/insecure-plugin-in-iframe.html
45033
45034         * loader/FrameLoader.cpp:
45035         (WebCore::FrameLoader::loadPlugin):
45036
45037 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
45038
45039         Reviewed by Eric Carlson.
45040
45041         Set autobuffer to true and schedule load in V8 audio element constructor.
45042
45043         https://bugs.webkit.org/show_bug.cgi?id=30448
45044
45045         Covered by existing tests.
45046
45047         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
45048         (WebCore::CALLBACK_FUNC_DECL): Set autobuffer to true and schedule load.
45049
45050 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
45051
45052         Reviewed by Eric Seidel.
45053
45054         Remove FIXME in RenderMediaControlsChromium as bug was fixed upstream.
45055
45056         https://bugs.webkit.org/show_bug.cgi?id=30422
45057
45058         Covered by existing media layout tests.
45059
45060         * rendering/RenderMediaControlsChromium.cpp:
45061         (WebCore::paintMediaSlider): Removed round() and FIXME.
45062
45063 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
45064
45065         Reviewed by Eric Seidel.
45066
45067         Fix Chromium media controls to render a disabled play button when the element is unintialized.
45068
45069         https://bugs.webkit.org/show_bug.cgi?id=30410
45070
45071         Covered by existing layout tests.
45072
45073         * rendering/RenderMediaControlsChromium.cpp:
45074         (WebCore::paintMediaPlayButton): Include check for NETWORK_EMPTY to render disabled play button.
45075
45076 2009-10-16  Oliver Hunt  <oliver@apple.com>
45077
45078         Reviewed by Gavin Barraclough.
45079
45080         Make typeinfo flags default to false
45081         https://bugs.webkit.org/show_bug.cgi?id=30372
45082
45083         Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames
45084         flag.
45085
45086         * bindings/js/JSDOMWindowShell.h:
45087         (WebCore::JSDOMWindowShell::createStructure):
45088         * bindings/js/JSHTMLAllCollection.h:
45089         (WebCore::JSHTMLAllCollection::createStructure):
45090         * bindings/js/JSQuarantinedObjectWrapper.h:
45091         (WebCore::JSQuarantinedObjectWrapper::createStructure):
45092         * bindings/scripts/CodeGeneratorJS.pm:
45093         * bridge/runtime_array.h:
45094         (JSC::RuntimeArray::createStructure):
45095         * bridge/runtime_object.h:
45096         (JSC::RuntimeObjectImp::createStructure):
45097
45098 2009-10-16  Steven Knight  <sgk@chromium.org>
45099
45100         Reviewed by David Levin.
45101
45102         https://bugs.webkit.org/show_bug.cgi?id=30447
45103         Handle long link lines by building .idl-generated bindings in a
45104         separate webcore_bindings library target.  Avoid Visual Studio
45105         dependency issues by building additional generated .cpp and .h files
45106         in a separate webcore_bindings_sources target.
45107
45108         Chrome should still build and test successfully.
45109
45110         * WebCore.gyp/WebCore.gyp:
45111         * WebCore.gypi:
45112
45113 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
45114
45115         Reviewed by Eric Carlson.
45116
45117         Transform transitions that used to be accelerated are no longer so
45118         https://bugs.webkit.org/show_bug.cgi?id=30453
45119
45120         The change in r49633, to not run accelerated animations/transitions on layers that
45121         are not attached, broke accelerated transitions/animations in many cases where they start
45122         as soon as the page loads. This change reverts the code that tests for the GraphicsLayer being
45123         attached.
45124         
45125         No test, because it's not possible from a test to know whether a transition is accelerated or not.
45126
45127         * rendering/RenderLayerBacking.cpp:
45128         (WebCore::RenderLayerBacking::startAnimation):
45129         (WebCore::RenderLayerBacking::startTransition):
45130
45131 2009-10-16  Kevin Ollivier  <kevino@theolliviers.com>
45132
45133         wxMSW build fix, build the MSW source to get methods that use the MSW version of
45134         PlatformModuleVersion.
45135
45136         * wscript:
45137
45138 2009-10-16  Adam Barth  <abarth@webkit.org>
45139
45140         Unreviewed build fix.  Add back MIMETypeRegistryChromium with the right
45141         casing.
45142
45143         * platform/chromium/MIMETypeRegistryChromium.cpp: Added.
45144         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
45145         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
45146         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
45147         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
45148         (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
45149         (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
45150         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
45151         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
45152         (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
45153         (WebCore::MIMETypeRegistry::isJavaAppletMIMEType):
45154         (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension):
45155         (WebCore::dummyHashSet):
45156         (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes):
45157         (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes):
45158         (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding):
45159         (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes):
45160         (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
45161
45162 2009-10-16  Adam Barth  <abarth@webkit.org>
45163
45164         Reviewed by Darin Adler.
45165
45166         MimeTypeRegistryChromium is mis-casen
45167         https://bugs.webkit.org/show_bug.cgi?id=30441
45168
45169         Change the case of MimeTypeRegistryChromium to match other platforms.
45170
45171         * WebCore.gypi:
45172         * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp.
45173         * platform/chromium/MimeTypeRegistryChromium.cpp: Removed.
45174
45175 2009-10-16  Dimitri Glazkov  <dglazkov@chromium.org>
45176
45177         Reviewed by Eric Seidel.
45178
45179         Change EmptyPluginHalterClient in SVGImage to be non-static, to
45180         match changes made http://trac.webkit.org/changeset/49385.
45181         https://bugs.webkit.org/show_bug.cgi?id=30403
45182
45183         Run the following layout test sequence:
45184           LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t.svg
45185           LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t.svg
45186           LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t.svg
45187           LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b.svg
45188           LayoutTests/svg/W3C-SVG-1.1/struct-image-06-t.svg
45189           LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg
45190           LayoutTests/svg/W3C-SVG-1.1/struct-image-08-t.svg
45191           LayoutTests/svg/W3C-SVG-1.1/struct-image-09-t.svg
45192           LayoutTests/svg/W3C-SVG-1.1/struct-image-10-t.svg
45193           LayoutTests/svg/carto.net/scrollbar.svg
45194           LayoutTests/svg/carto.net/selectionlist.svg
45195
45196         selectionlist.svg should not crash.
45197
45198         * svg/graphics/SVGImage.cpp:
45199         (WebCore::SVGImage::dataChanged): Made EmptyPluginHalterClient non-static.
45200
45201 2009-10-16  Victor Wang  <victorw@chromium.org>
45202
45203         Reviewed by David Levin.
45204
45205         Add beforeload event support to V8DOMWrapper
45206
45207         https://bugs.webkit.org/show_bug.cgi?id=30413
45208
45209         LayoutTests/fast/dom/beforeload/frame-before-load.html
45210
45211         * bindings/v8/V8DOMWrapper.cpp:
45212         (WebCore::V8DOMWrapper::convertEventToV8Object):
45213
45214 2009-10-16  Adam Barth  <abarth@webkit.org>
45215
45216         Reviewed by Darin Adler.
45217
45218         MimeTypeRegistryChromium is mis-casen
45219         https://bugs.webkit.org/show_bug.cgi?id=30441
45220
45221         Change the case of MimeTypeRegistryChromium to match other platforms.
45222
45223         * WebCore.gypi:
45224         * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp.
45225         * platform/chromium/MimeTypeRegistryChromium.cpp: Removed.
45226
45227 2009-10-16  Adam Barth  <abarth@webkit.org>
45228
45229         Reviewed by Mark Rowe.
45230
45231         Chrome doesn't set Content-Type for file upload when the file extension
45232         is not recognized
45233         https://bugs.webkit.org/show_bug.cgi?id=30433
45234
45235         Apparently, getMIMETypeForPath is supposed to return
45236         application/octet-stream when it doesn't have a better MIME type.
45237
45238         * platform/chromium/MimeTypeRegistryChromium.cpp:
45239         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
45240
45241 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
45242
45243         Pull out r49676 as it caused build breakges on Symbian
45244
45245         * plugins/symbian/PluginViewSymbian.cpp:
45246
45247 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
45248
45249         Reviewed by Ariya Hidayat.
45250
45251         Crash fix when loading NPAPI plugins on Qt/Mac
45252
45253         There's no guarantee that the plist will be valid even if we
45254         ask the plugin to create it. Crash obverved with iGetter.
45255
45256         * plugins/mac/PluginPackageMac.cpp:
45257
45258 2009-10-15  Stephen White  <senorblanco@chromium.org>
45259
45260         Reviewed by David Levin.
45261
45262         Fix for Chromium/skia's implementation of canvas's isPointInPath().
45263         https://bugs.webkit.org/show_bug.cgi?id=30402
45264
45265         Covered by LayoutTests/fast/canvas/pointInPath.html.
45266
45267         * platform/graphics/skia/SkiaUtils.cpp:
45268         (WebCore::SkPathContainsPoint):
45269
45270 2009-10-15  Adam Barth  <abarth@webkit.org>
45271
45272         Reviewed by Darin Adler.
45273
45274         Factor ResourceLoadNotifier out of FrameLoader
45275         https://bugs.webkit.org/show_bug.cgi?id=30379
45276
45277         These methods have virtually no interaction with the rest of
45278         FrameLoader.
45279
45280         * GNUmakefile.am:
45281         * WebCore.gypi:
45282         * WebCore.pro:
45283         * WebCore.vcproj/WebCore.vcproj:
45284         * WebCore.xcodeproj/project.pbxproj:
45285         * WebCoreSources.bkl:
45286         * dom/Document.cpp:
45287         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
45288         * loader/FrameLoader.cpp:
45289         (WebCore::FrameLoader::FrameLoader):
45290         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
45291         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
45292         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
45293         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
45294         (WebCore::ResourceLoadNotifier::willSendRequest):
45295         (WebCore::ResourceLoadNotifier::didReceiveResponse):
45296         (WebCore::ResourceLoadNotifier::didReceiveData):
45297         (WebCore::ResourceLoadNotifier::didFailToLoad):
45298         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
45299         (WebCore::FrameLoader::sendRemainingDelegateMessages):
45300         (WebCore::FrameLoader::requestFromDelegate):
45301         (WebCore::ResourceLoadNotifier::didFinishLoad):
45302         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
45303         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
45304         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
45305         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
45306         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
45307         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
45308         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
45309         * loader/FrameLoader.h:
45310         (WebCore::FrameLoader::notifier):
45311         * loader/MainResourceLoader.cpp:
45312         (WebCore::MainResourceLoader::receivedError):
45313         * loader/ResourceLoadNotifier.cpp: Added.
45314         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
45315         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
45316         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
45317         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
45318         (WebCore::ResourceLoadNotifier::willSendRequest):
45319         (WebCore::ResourceLoadNotifier::didReceiveResponse):
45320         (WebCore::ResourceLoadNotifier::didReceiveData):
45321         (WebCore::ResourceLoadNotifier::didFinishLoad):
45322         (WebCore::ResourceLoadNotifier::didFailToLoad):
45323         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
45324         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
45325         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
45326         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
45327         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
45328         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
45329         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
45330         * loader/ResourceLoadNotifier.h: Added.
45331         * loader/ResourceLoader.cpp:
45332         (WebCore::ResourceLoader::willSendRequest):
45333         (WebCore::ResourceLoader::didReceiveResponse):
45334         (WebCore::ResourceLoader::didReceiveData):
45335         (WebCore::ResourceLoader::didFinishLoadingOnePart):
45336         (WebCore::ResourceLoader::didFail):
45337         (WebCore::ResourceLoader::didCancel):
45338         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
45339         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
45340
45341 2009-10-15  Roland Steiner  <rolandsteiner@google.com>
45342
45343         Reviewed by Darin Fisher.
45344
45345         Bug 30427 -  Remove unneeded methods in ChromiumDataObject
45346         (https://bugs.webkit.org/show_bug.cgi?id=30427)
45347         
45348         Remove no longer needed methods from ChromiumDataObject.
45349
45350         No new tests (no functional change)
45351
45352         * platform/chromium/ChromiumDataObject.h:
45353
45354 2009-10-16  Yael Aharon  <yael.aharon@nokia.com>
45355
45356         Reviewed by Tor Arne Vestbø.
45357
45358         [Qt] Need a way to inform the application when a Netscape plugin is created or deleted
45359         https://bugs.webkit.org/show_bug.cgi?id=30179
45360
45361         Inform the application when a plugin is created or destroyed, but only if the 
45362         application registered for these notifications.
45363
45364         * plugins/symbian/PluginViewSymbian.cpp:
45365         (WebCore::PluginView::platformStart):
45366         (WebCore::PluginView::platformDestroy):
45367
45368 2009-10-16  Shu Chang  <Chang.Shu@nokia.com>
45369
45370         Reviewed by Eric Seidel.
45371
45372         Default language translation should be determined by locale settings,
45373         e.g., "en-US".
45374         https://bugs.webkit.org/show_bug.cgi?id=29653
45375
45376         Test: fast/js/navigator-language.html
45377
45378         * platform/qt/Localizations.cpp:
45379         (WebCore::defaultLanguage):
45380
45381 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
45382
45383         Reviewed by Ariya Hidayat.
45384
45385         Crash fix when loading NPAPI plugins on Qt/Mac
45386
45387         There's no guarantee that the plist will be valid even if we
45388         ask the plugin to create it. Crash obverved with iGetter.
45389
45390         * plugins/mac/PluginPackageMac.cpp:
45391
45392 2009-10-15  Stephen White  <senorblanco@chromium.org>
45393
45394         Reviewed by David Levin.
45395
45396         Fix for Chromium/skia's implementation of canvas's isPointInPath().
45397         https://bugs.webkit.org/show_bug.cgi?id=30402
45398
45399         Covered by LayoutTests/fast/canvas/pointInPath.html.
45400
45401         * platform/graphics/skia/SkiaUtils.cpp:
45402         (WebCore::SkPathContainsPoint):
45403
45404 2009-10-15  Adam Barth  <abarth@webkit.org>
45405
45406         Reviewed by Darin Adler.
45407
45408         Factor ResourceLoadNotifier out of FrameLoader
45409         https://bugs.webkit.org/show_bug.cgi?id=30379
45410
45411         These methods have virtually no interaction with the rest of
45412         FrameLoader.
45413
45414         * GNUmakefile.am:
45415         * WebCore.gypi:
45416         * WebCore.pro:
45417         * WebCore.vcproj/WebCore.vcproj:
45418         * WebCore.xcodeproj/project.pbxproj:
45419         * WebCoreSources.bkl:
45420         * dom/Document.cpp:
45421         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
45422         * loader/FrameLoader.cpp:
45423         (WebCore::FrameLoader::FrameLoader):
45424         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
45425         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
45426         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
45427         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
45428         (WebCore::ResourceLoadNotifier::willSendRequest):
45429         (WebCore::ResourceLoadNotifier::didReceiveResponse):
45430         (WebCore::ResourceLoadNotifier::didReceiveData):
45431         (WebCore::ResourceLoadNotifier::didFailToLoad):
45432         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
45433         (WebCore::FrameLoader::sendRemainingDelegateMessages):
45434         (WebCore::FrameLoader::requestFromDelegate):
45435         (WebCore::ResourceLoadNotifier::didFinishLoad):
45436         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
45437         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
45438         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
45439         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
45440         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
45441         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
45442         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
45443         * loader/FrameLoader.h:
45444         (WebCore::FrameLoader::notifier):
45445         * loader/MainResourceLoader.cpp:
45446         (WebCore::MainResourceLoader::receivedError):
45447         * loader/ResourceLoadNotifier.cpp: Added.
45448         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
45449         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
45450         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
45451         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
45452         (WebCore::ResourceLoadNotifier::willSendRequest):
45453         (WebCore::ResourceLoadNotifier::didReceiveResponse):
45454         (WebCore::ResourceLoadNotifier::didReceiveData):
45455         (WebCore::ResourceLoadNotifier::didFinishLoad):
45456         (WebCore::ResourceLoadNotifier::didFailToLoad):
45457         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
45458         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
45459         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
45460         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
45461         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
45462         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
45463         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
45464         * loader/ResourceLoadNotifier.h: Added.
45465         * loader/ResourceLoader.cpp:
45466         (WebCore::ResourceLoader::willSendRequest):
45467         (WebCore::ResourceLoader::didReceiveResponse):
45468         (WebCore::ResourceLoader::didReceiveData):
45469         (WebCore::ResourceLoader::didFinishLoadingOnePart):
45470         (WebCore::ResourceLoader::didFail):
45471         (WebCore::ResourceLoader::didCancel):
45472         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
45473         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
45474
45475 2009-10-15  Roland Steiner  <rolandsteiner@google.com>
45476
45477         Reviewed by Darin Fisher.
45478
45479         Bug 30427 -  Remove unneeded methods in ChromiumDataObject
45480         (https://bugs.webkit.org/show_bug.cgi?id=30427)
45481         
45482         Remove no longer needed methods from ChromiumDataObject.
45483
45484         No new tests (no functional change)
45485
45486         * platform/chromium/ChromiumDataObject.h:
45487
45488 2009-10-15  Daniel Bates  <dbates@webkit.org>
45489
45490         No review, rolling out r49644.
45491         http://trac.webkit.org/changeset/49644
45492         
45493         We need to think about this change some more. See bug #30418 
45494         for more details.
45495
45496         * page/XSSAuditor.cpp:
45497         (WebCore::XSSAuditor::canEvaluate):
45498         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
45499         (WebCore::XSSAuditor::canCreateInlineEventListener):
45500         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
45501         (WebCore::XSSAuditor::canLoadObject):
45502         (WebCore::XSSAuditor::canSetBaseElementURL):
45503         (WebCore::XSSAuditor::findInRequest):
45504         * page/XSSAuditor.h:
45505
45506 2009-10-14  Jon Honeycutt  <jhoneycutt@apple.com>
45507
45508         Add SPI to determine whether a node is a halted plug-in.
45509
45510         Part of <rdar://problem/7273354> Halted plug-ins should restart on
45511         mouseover
45512
45513         https://bugs.webkit.org/show_bug.cgi?id=30151
45514
45515         Reviewed by Darin Adler.
45516
45517         * plugins/PluginView.cpp:
45518         (WebCore::PluginView::PluginView):
45519         Initialize m_isHalted.
45520
45521         * plugins/PluginView.h:
45522         (WebCore::PluginView::isHalted):
45523         Return m_isHalted.
45524
45525         * plugins/win/PluginViewWin.cpp:
45526         (WebCore::PluginView::halt):
45527         Set m_isHalted to true.
45528         (WebCore::PluginView::restart):
45529         clear m_isHalted.
45530
45531 2009-10-15  Zoltan Horvath  <zoltan@webkit.org>
45532
45533         Reviewed by Oliver Hunt.
45534
45535         [Qt] Build fix for QtWebKit after r49649.
45536
45537         Change JSC::HasNonDefaultMark to OverridesMarkChildren in createStructure function.
45538
45539         * bridge/qt/qt_runtime.h:
45540         (JSC::Bindings::QtRuntimeMethod::createStructure):
45541
45542 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
45543
45544         Not reviewed - build fix.
45545
45546         Web Inspector: add file missing in r49648
45547
45548         * inspector/front-end/TestController.js: Added.
45549         (WebInspector.TestController):
45550         (WebInspector.TestController.prototype.waitUntilDone):
45551         (WebInspector.TestController.prototype.notifyDone):
45552         (WebInspector.evaluateForTestInFrontend):
45553
45554 2009-10-15  Oliver Hunt  <oliver@apple.com>
45555
45556         Reviewed by Darin Adler.
45557
45558         Make typeinfo flags default to false
45559         https://bugs.webkit.org/show_bug.cgi?id=30372
45560
45561         Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc
45562
45563         * bindings/js/JSDOMBinding.h:
45564         (WebCore::DOMObjectWithGlobalPointer::createStructure):
45565         (WebCore::DOMConstructorObject::createStructure):
45566         * bindings/js/JSDOMWindowShell.h:
45567         (WebCore::JSDOMWindowShell::createStructure):
45568         * bindings/js/JSHTMLAllCollection.h:
45569         (WebCore::JSHTMLAllCollection::createStructure):
45570         * bindings/js/JSQuarantinedObjectWrapper.h:
45571         (WebCore::JSQuarantinedObjectWrapper::createStructure):
45572         * bindings/scripts/CodeGeneratorJS.pm:
45573         * bridge/qt/qt_runtime.h:
45574         (JSC::Bindings::QtRuntimeMethod::createStructure):
45575         * bridge/runtime_method.h:
45576         (JSC::RuntimeMethod::createStructure):
45577
45578 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
45579
45580         Reviewed by Timothy Hatcher.
45581
45582         Web Inspector: introduce test controller with waitUntilDone
45583         on frontend side.
45584
45585         https://bugs.webkit.org/show_bug.cgi?id=30400
45586
45587         * WebCore.gypi:
45588         * WebCore.vcproj/WebCore.vcproj:
45589         * inspector/front-end/TestController.js: Added.
45590         (WebInspector.TestController):
45591         (WebInspector.TestController.prototype.waitUntilDone):
45592         (WebInspector.TestController.prototype.notifyDone):
45593         (WebInspector.evaluateForTestInFrontend):
45594         * inspector/front-end/WebKit.qrc:
45595         * inspector/front-end/inspector.html:
45596         * inspector/front-end/inspector.js:
45597
45598 2009-10-15  Daniel Bates  <dbates@webkit.org>
45599
45600         Reviewed by Adam Barth.
45601
45602         https://bugs.webkit.org/show_bug.cgi?id=27895
45603         
45604         Fixes an issue in which injecting an inline event handler whose value ends in a single-line
45605         JavaScript comment can bypass the XSSAuditor. Similarly fixes this issue with respect to
45606         the HTML Base element, HTML Object element, inline and external script tags, and
45607         JavaScript multi-line variants of all of these attacks.
45608
45609         Tests: http/tests/security/xssAuditor/base-href-comment.html
45610                http/tests/security/xssAuditor/iframe-javascript-url-comment.html
45611                http/tests/security/xssAuditor/img-onerror-HTML-comment.html
45612                http/tests/security/xssAuditor/img-onerror-comment.html
45613                http/tests/security/xssAuditor/object-tag-comment.html
45614                http/tests/security/xssAuditor/script-tag-comment-HTML-entity.html
45615                http/tests/security/xssAuditor/script-tag-comment.html
45616                http/tests/security/xssAuditor/script-tag-with-source-comment.html
45617
45618         * page/XSSAuditor.cpp: Added constant minAttackLength.
45619         (WebCore::XSSAuditor::canEvaluate):
45620         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
45621         (WebCore::XSSAuditor::canCreateInlineEventListener):
45622         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
45623         (WebCore::XSSAuditor::canLoadObject):
45624         (WebCore::XSSAuditor::canSetBaseElementURL):
45625         (WebCore::XSSAuditor::findInRequest): Added parameter context. Only looks at up 
45626         to minAttackLength of script code plus context (if any).
45627         * page/XSSAuditor.h:
45628
45629 2009-10-08  Adam Langley  <agl@google.com>
45630
45631         Reviewed by Eric Seidel.
45632
45633         Currently, Skia clip paths are 1-bit. This patch makes our path
45634         clipping anti-aliased for non-canvas drawing.
45635
45636         http://code.google.com/p/chromium/issues/detail?id=5927
45637         https://bugs.webkit.org/show_bug.cgi?id=28820
45638         http://www.imperialviolet.org/2009/09/02/anti-aliased-clipping.html
45639
45640         Already covered by layout tests. New baselines will be needed in the
45641         Chromium tree.
45642
45643         (Reland. First landed in r49329, reverted in r49330 due to Windows
45644         build break)
45645
45646         * html/canvas/CanvasRenderingContext2D.cpp:
45647         (WebCore::CanvasRenderingContext2D::clip):
45648         * platform/graphics/GraphicsContext.h:
45649         * platform/graphics/cairo/GraphicsContextCairo.cpp:
45650         (WebCore::GraphicsContext::canvasClip):
45651         * platform/graphics/cg/GraphicsContextCG.cpp:
45652         (WebCore::GraphicsContext::canvasClip):
45653         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
45654         (WebCore::GraphicsContext::canvasClip):
45655         * platform/graphics/qt/GraphicsContextQt.cpp:
45656         (WebCore::GraphicsContext::canvasClip):
45657         * platform/graphics/skia/GraphicsContextSkia.cpp:
45658         (WebCore::GraphicsContext::addInnerRoundedRectClip):
45659         (WebCore::GraphicsContext::clip):
45660         (WebCore::GraphicsContext::canvasClip):
45661         (WebCore::GraphicsContext::clipPath):
45662         * platform/graphics/skia/PlatformContextSkia.cpp:
45663         (PlatformContextSkia::clipPathAntiAliased):
45664         (PlatformContextSkia::restore):
45665         (PlatformContextSkia::applyAntiAliasedClipPaths):
45666         * platform/graphics/skia/PlatformContextSkia.h:
45667         * platform/graphics/win/GraphicsContextWin.cpp:
45668         (WebCore::GraphicsContext::canvasClip):
45669         * platform/graphics/wince/GraphicsContextWince.cpp:
45670         (WebCore::GraphicsContext::canvasClip):
45671         * platform/graphics/wx/GraphicsContextWx.cpp:
45672         (WebCore::GraphicsContext::canvasClip):
45673
45674 2009-10-15  Eric Carlson  <eric.carlson@apple.com>
45675
45676         Reviewed by Simon Fraser.
45677
45678         <rdar://problem/7295738> No way to mute/unmute a movie in full screen video mode
45679
45680         * WebCore.Video.exp: Export muted and setMute.
45681
45682 2009-10-15  Simon Fraser  <simon.fraser@apple.com>
45683
45684         Reviewed by Dan Bernstein.
45685
45686         Transitions fail to run sometimes
45687         https://bugs.webkit.org/show_bug.cgi?id=26770
45688
45689         Fix an issue where we could attempt to start accelerated animations or transitions on
45690         GraphicsLayer that were not rooted (because of visibility:hidden), which would leave
45691         the AnimationController's m_waitingForResponse flag in a state that killed subsequent
45692         software transitions.
45693
45694         * page/animation/AnimationController.cpp:
45695         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
45696         (WebCore::AnimationControllerPrivate::endAnimationUpdate):
45697         (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
45698         (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
45699         (WebCore::AnimationControllerPrivate::startTimeResponse):
45700         * page/animation/AnimationControllerPrivate.h:
45701         Make some methods non-inline for ease of debugging (these are not hot methods).
45702         Rename m_waitingForAResponse to m_waitingForResponse.
45703         
45704         * platform/graphics/GraphicsLayer.h:
45705         * platform/graphics/GraphicsLayer.cpp:
45706         (WebCore::GraphicsLayer::hasAncestor):
45707         New method to report whether the receiver has the given layer as an ancestor. Used for checking
45708         whether a layer is rooted.
45709
45710         * rendering/RenderLayerBacking.cpp:
45711         (WebCore::RenderLayerBacking::startAnimation):
45712         (WebCore::RenderLayerBacking::startTransition):
45713         Don't try to start accelerated animations or transitions on non-rooted GraphicsLayers.
45714
45715 2009-10-15  Alexander Pavlov  <apavlov@chromium.org>
45716
45717         Reviewed by Pavel Feldman.
45718
45719         Refactor ProfilesPanel to support multiple profile types
45720
45721         Data describing different profile types are now stored in distinct objects.
45722         https://bugs.webkit.org/show_bug.cgi?id=30332
45723
45724         * WebCore.vcproj/WebCore.vcproj:
45725         * inspector/front-end/ProfileView.js:
45726         (WebInspector.CPUProfileView.profileCallback):
45727         (WebInspector.CPUProfileView):
45728         (WebInspector.CPUProfileView.prototype._sortData):
45729         (WebInspector.CPUProfileType):
45730         (WebInspector.CPUProfileType.prototype.get buttonTooltip):
45731         (WebInspector.CPUProfileType.prototype.get buttonStyle):
45732         (WebInspector.CPUProfileType.prototype.buttonClicked):
45733         (WebInspector.CPUProfileType.prototype.setRecordingProfile):
45734         (WebInspector.CPUProfile):
45735         (WebInspector.CPUProfile.prototype.get title):
45736         (WebInspector.CPUProfile.prototype.get uid):
45737         (WebInspector.CPUProfile.prototype.get head):
45738         (WebInspector.CPUProfile.prototype.createView):
45739         (WebInspector.CPUProfile.prototype.viewForProfile):
45740         * inspector/front-end/ProfilesPanel.js:
45741         (WebInspector.ProfileType):
45742         (WebInspector.ProfileType.prototype.get buttonTooltip):
45743         (WebInspector.ProfileType.prototype.get buttonStyle):
45744         (WebInspector.ProfileType.prototype.get buttonCaption):
45745         (WebInspector.ProfileType.prototype.get id):
45746         (WebInspector.ProfileType.prototype.get name):
45747         (WebInspector.ProfileType.prototype.buttonClicked):
45748         (WebInspector.ProfilesPanel):
45749         (WebInspector.ProfilesPanel.prototype.get statusBarItems.clickHandler):
45750         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
45751         (WebInspector.ProfilesPanel.prototype.reset):
45752         (WebInspector.ProfilesPanel.prototype.registerProfileType):
45753         (WebInspector.ProfilesPanel.prototype._makeKey):
45754         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
45755         (WebInspector.ProfilesPanel.prototype.showProfile):
45756         (WebInspector.ProfilesPanel.prototype.getProfileType):
45757         (WebInspector.ProfilesPanel.prototype.showProfileForURL):
45758         (WebInspector.ProfilesPanel.prototype.updateProfileTypeButtons):
45759         (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
45760         (WebInspector.ProfilesPanel.prototype.get searchableViews):
45761         (WebInspector.ProfilesPanel.prototype._updateInterface):
45762         * inspector/front-end/inspector.js:
45763         (WebInspector._createPanels):
45764         (WebInspector.documentClick.followLink):
45765         (WebInspector.documentClick):
45766         (WebInspector.addProfileHeader):
45767         (WebInspector.setRecordingProfile):
45768         (WebInspector.linkifyStringAsFragment):
45769         (WebInspector.showProfileForURL):
45770
45771 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
45772
45773         Reviewed by Timothy Hatcher.
45774
45775         Web Inspector: Enable inspector layout tests.
45776
45777         https://bugs.webkit.org/show_bug.cgi?id=30014
45778
45779         * inspector/InspectorController.cpp:
45780         (WebCore::InspectorController::evaluateForTestInFrontend):
45781
45782 2009-10-15  Philippe Normand  <pnormand@igalia.com>
45783
45784         Reviewed by Gustavo Noronha.
45785
45786         [GStreamer] READY state doesn't mean "enough data"
45787         https://bugs.webkit.org/show_bug.cgi?id=30003
45788
45789         STATE_READY means MediaPlayer::HaveNothing
45790
45791         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
45792         (WebCore::MediaPlayerPrivate::updateStates):
45793
45794 2009-10-15  Philippe Normand  <pnormand@igalia.com>
45795
45796         Reviewed by Gustavo Noronha.
45797
45798         https://bugs.webkit.org/show_bug.cgi?id=30002
45799
45800         implement cancelLoad
45801
45802         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
45803         (WebCore::MediaPlayerPrivate::cancelLoad):
45804
45805 2009-10-15  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
45806
45807         Reviewed by Gustavo Noronha.
45808
45809         https://bugs.webkit.org/show_bug.cgi?id=30353
45810         
45811         Fix race condition, leading to a deadlock
45812
45813         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
45814         (webkit_video_sink_timeout_func):
45815         (webkit_video_sink_render):
45816         (unlock_buffer_mutex):
45817         (webkit_video_sink_unlock):
45818         (webkit_video_sink_unlock_stop):
45819         (webkit_video_sink_stop):
45820         (webkit_video_sink_start):
45821         (webkit_video_sink_class_init):
45822         Fix race condition in unlock/render that would lead to deadlocks.
45823
45824 2009-10-15  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
45825
45826         Reviewed by Gustavo Noronha.
45827
45828         https://bugs.webkit.org/show_bug.cgi?id=30374
45829         
45830         Check if caps are valid before parsing them
45831
45832         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
45833         (WebCore::MediaPlayerPrivate::duration):
45834         Check if caps are valid before parsing them in ::naturalSize().
45835         This prevents assertions if the natural size should be calculated
45836         before the video caps are negotiated.
45837
45838 2009-10-15  Philippe Normand  <pnormand@igalia.com>
45839
45840         Reviewed by Gustavo Noronha.
45841
45842         https://bugs.webkit.org/show_bug.cgi?id=30006
45843         [GStreamer] Unnecessary checks for Messages types in callbacks
45844
45845         refactored gst message callbacks into a single one
45846
45847         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
45848         (WebCore::mediaPlayerPrivateMessageCallback):
45849         (WebCore::do_gst_init):
45850         (WebCore::MediaPlayerPrivate::duration):
45851         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
45852
45853 2009-10-15  Shu Chang  <Chang.Shu@nokia.com>
45854
45855         Reviewed by Adele Peterson.
45856
45857         Anchor elements should be mouse focusable regardless isLink flag.
45858         https://bugs.webkit.org/show_bug.cgi?id=26856
45859
45860         * html/HTMLAnchorElement.cpp:
45861         * html/HTMLAnchorElement.h:
45862
45863 2009-10-15  Nikolas Zimmermann  <nzimmermann@rim.com>
45864
45865         Not reviewed. Sort XCode project file.
45866
45867         * WebCore.xcodeproj/project.pbxproj:
45868
45869 2009-10-15  Yury Semikhatsky  <yurys@chromium.org>
45870
45871         Reviewed by Dave Hyatt.
45872
45873         Return correct shorthand property name for 
45874         background-repeat-x, background-repeat-y, background-position-x,
45875         background-position-y, -webkit-mask-position-x, -webkit-mask-position-y,
45876         -webkit-mask-repeat-x, -webkit-mask-repeat-y.
45877
45878         https://bugs.webkit.org/show_bug.cgi?id=28972
45879
45880         Test: fast/backgrounds/repeat/background-repeat-shorthand.html
45881
45882         * css/CSSParser.cpp:
45883         (WebCore::CSSParser::parseValue):
45884
45885 2009-10-14  Mikhail Naganov  <mnaganov@chromium.org>
45886
45887         Reviewed by Pavel Feldman.
45888
45889         Web Inspector: Migrate profiles to the injected script-based schema.
45890
45891         https://bugs.webkit.org/show_bug.cgi?id=30328
45892
45893         * bindings/js/JSInspectorBackendCustom.cpp:
45894         * bindings/v8/custom/V8CustomBinding.h:
45895         * inspector/InspectorBackend.cpp:
45896         (WebCore::InspectorBackend::getProfileHeaders):
45897         (WebCore::InspectorBackend::getProfile):
45898         * inspector/InspectorBackend.h:
45899         * inspector/InspectorBackend.idl:
45900         * inspector/InspectorController.cpp:
45901         (WebCore::InspectorController::addProfile):
45902         (WebCore::InspectorController::getProfileHeaders):
45903         (WebCore::InspectorController::getProfile):
45904         (WebCore::InspectorController::createProfileHeader):
45905         * inspector/InspectorController.h:
45906         * inspector/InspectorFrontend.cpp:
45907         (WebCore::InspectorFrontend::addProfileHeader):
45908         (WebCore::InspectorFrontend::didGetProfileHeaders):
45909         (WebCore::InspectorFrontend::didGetProfile):
45910         * inspector/InspectorFrontend.h:
45911         * inspector/JavaScriptProfileNode.cpp:
45912         (WebCore::ProfileNodeClass):
45913         * inspector/front-end/ProfileView.js:
45914         (WebInspector.ProfileView.profileCallback):
45915         (WebInspector.ProfileView):
45916         (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
45917         (WebInspector.ProfileView.prototype._assignParentsInProfile):
45918         * inspector/front-end/ProfilesPanel.js:
45919         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
45920         * inspector/front-end/inspector.js:
45921         (WebInspector.addProfileHeader):
45922
45923 2009-10-14  Pavel Feldman  <pfeldman@chromium.org>
45924
45925         Reviewed by Timothy Hatcher.
45926
45927         Web Inspector: Create and update frontend script objects only when
45928         web inspector is visible.
45929
45930         https://bugs.webkit.org/show_bug.cgi?id=30376
45931
45932         * inspector/InspectorController.cpp:
45933         (WebCore::InspectorController::addConsoleMessage):
45934         (WebCore::InspectorController::populateScriptObjects):
45935         (WebCore::InspectorController::pruneResources):
45936         (WebCore::InspectorController::didCommitLoad):
45937         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
45938         (WebCore::InspectorController::identifierForInitialRequest):
45939         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
45940         (WebCore::InspectorController::mainResourceFiredLoadEvent):
45941         (WebCore::InspectorController::willSendRequest):
45942         (WebCore::InspectorController::didReceiveResponse):
45943         (WebCore::InspectorController::didReceiveContentLength):
45944         (WebCore::InspectorController::didFinishLoading):
45945         (WebCore::InspectorController::didFailLoading):
45946         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
45947         (WebCore::InspectorController::scriptImported):
45948         (WebCore::InspectorController::didOpenDatabase):
45949         (WebCore::InspectorController::didUseDOMStorage):
45950         (WebCore::InspectorController::evaluateForTestInFrontend):
45951
45952 2009-10-15  Joseph Pecoraro  <joepeck@webkit.org>
45953
45954         Fix Windows build.
45955
45956         * dom/Document.idl:
45957
45958 2009-10-14  Joseph Pecoraro  <joepeck@webkit.org>
45959
45960         Reviewed by Adam Barth.
45961
45962         [HTML5] Add document.head
45963         https://bugs.webkit.org/show_bug.cgi?id=30232
45964
45965         Test is fast/dom/document-head.html
45966
45967         * dom/Document.idl: added readonly attribute head
45968
45969 2009-10-14  Matt Mueller  <mattm@chromium.org>
45970
45971         Reviewed by Darin Adler.
45972
45973         Check FNonNeg after the unit switch to avoid valgrind uninitialised conditional reference in WebCore::CSSParser::validUnit.  See http://crbug.com/20939.
45974         https://bugs.webkit.org/show_bug.cgi?id=30347
45975         https://bugs.webkit.org/show_bug.cgi?id=22772
45976
45977         Covered by running LayoutTests/fast/css/invalid-percentage-property.html under valgrind.
45978
45979         * css/CSSParser.cpp:
45980         (WebCore::CSSParser::validUnit):
45981
45982 2009-10-14  Adam Barth  <abarth@webkit.org>
45983
45984         Reviewed by Sam Weinig.
45985
45986         Move scrolling code from FrameLoader to FrameView
45987         https://bugs.webkit.org/show_bug.cgi?id=30370
45988
45989         This code is about controlling the Frame's view, not about loading
45990         stuff into the frame.
45991
45992         * loader/FrameLoader.cpp:
45993         (WebCore::FrameLoader::finishedParsing):
45994         (WebCore::FrameLoader::scrollToAnchor):
45995         * page/FrameView.cpp:
45996         (WebCore::FrameView::scrollToFragment):
45997         (WebCore::FrameView::scrollToAnchor):
45998         * page/FrameView.h:
45999
46000 2009-10-14  Oliver Hunt  <oliver@apple.com>
46001
46002         Reviewed by Geoff Garen.
46003
46004         Make typeinfo flags default to false
46005         https://bugs.webkit.org/show_bug.cgi?id=30372
46006         
46007         Part 1. Reverse the HasStandardGetOwnPropertySlot flag.
46008
46009         * bindings/js/JSDOMBinding.h:
46010         (WebCore::DOMObjectWithGlobalPointer::createStructure):
46011         (WebCore::DOMConstructorObject::createStructure):
46012         * bindings/js/JSDOMWindowShell.h:
46013         (WebCore::JSDOMWindowShell::createStructure):
46014         * bindings/js/JSHTMLAllCollection.h:
46015         (WebCore::JSHTMLAllCollection::createStructure):
46016         * bindings/js/JSQuarantinedObjectWrapper.h:
46017         (WebCore::JSQuarantinedObjectWrapper::createStructure):
46018         * bindings/scripts/CodeGeneratorJS.pm:
46019         * bridge/objc/objc_runtime.h:
46020         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
46021         * bridge/runtime_array.h:
46022         (JSC::RuntimeArray::createStructure):
46023         * bridge/runtime_method.h:
46024         (JSC::RuntimeMethod::createStructure):
46025         * bridge/runtime_object.h:
46026         (JSC::RuntimeObjectImp::createStructure):
46027
46028 2009-10-14  Adam Barth  <abarth@webkit.org>
46029
46030         Reviewed by Darin Adler.
46031
46032         [XSSAuditor] Add an exception for local files
46033         https://bugs.webkit.org/show_bug.cgi?id=30352
46034
46035         Reduce XSS auditor false positives by always letting pages load scripts
46036         from their own host. We don't actually know of any false positives
46037         that this prevents, but it seems like a good idea.
46038
46039         One subtly is that we don't add this exception for scripts that have a
46040         query string because (1) URLs with query strings are more apt to
46041         confuse servers and (2) it is much less common to load scripts with a
46042         query string.
46043
46044         Tests: http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html
46045                http/tests/security/xssAuditor/script-tag-with-source-same-host.html
46046
46047         * page/XSSAuditor.cpp:
46048         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
46049
46050 2009-10-14  Nikolas Zimmermann  <nzimmermann@rim.com>
46051
46052         Reviewed by George Staikos.
46053
46054         Kill virtual contextElement() method spread all over SVG code
46055         https://bugs.webkit.org/show_bug.cgi?id=30183
46056
46057         Remove virtual contextElement() function from all SVG*Element classes, as all animated properties live in the
46058         SVG*Element classes now instead of the SVGFitToViewBox / SVGURIReference / SVGExternalResourcesRequired
46059         subclasses. This is a first step to working animVal support. More patches will follow that depend on this change.
46060
46061         Remove "This file is part of the KDE project" from several files, change my old mail adress wildfox -> zimmermann,
46062         and remove vim modelines on all files I touched. No change in functionality, thus no new tests.
46063
46064         * svg/SVGAElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46065         * svg/SVGAltGlyphElement.h: Remove virtual contextElement() method.
46066         * svg/SVGAnimatedProperty.h:
46067         (WebCore::::synchronize):
46068         (WebCore::::startAnimation):
46069         (WebCore::::stopAnimation):
46070         * svg/SVGAnimationElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46071         * svg/SVGCircleElement.h: Ditto.
46072         * svg/SVGClipPathElement.h: Ditto.
46073         * svg/SVGCursorElement.h: Ditto.
46074         * svg/SVGDefsElement.h: Ditto.
46075         * svg/SVGEllipseElement.h: Ditto.
46076         * svg/SVGExternalResourcesRequired.h: Remove pure-virtual contextElement() method.
46077         * svg/SVGFEImageElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46078         * svg/SVGFELightElement.h: Remove virtual contextElement() method.
46079         * svg/SVGFEMergeNodeElement.h: Ditto.
46080         * svg/SVGFilterElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46081         * svg/SVGFilterPrimitiveStandardAttributes.h: Remove virtual contextElement() method.
46082         * svg/SVGFitToViewBox.cpp:
46083         (WebCore::SVGFitToViewBox::parseViewBox): Add Document* parameter - we used to fetch the Document pointer from the context element.
46084         (WebCore::SVGFitToViewBox::parseMappedAttribute): Ditto.
46085         * svg/SVGFitToViewBox.h: Remove pure-virtual contextElement() method.
46086         * svg/SVGFontElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46087         * svg/SVGForeignObjectElement.h: Ditto.
46088         * svg/SVGGElement.h: Ditto.
46089         * svg/SVGGradientElement.h: Ditto.
46090         * svg/SVGImageElement.h: Ditto.
46091         * svg/SVGLineElement.h: Ditto.
46092         * svg/SVGMPathElement.h: Ditto. Fix license indention.
46093         * svg/SVGMarkerElement.cpp:
46094         (WebCore::SVGMarkerElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
46095         * svg/SVGMarkerElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46096         * svg/SVGMaskElement.h: Ditto.
46097         * svg/SVGPathElement.h: Ditto.
46098         * svg/SVGPatternElement.cpp:
46099         (WebCore::SVGPatternElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
46100         * svg/SVGPatternElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46101         * svg/SVGPolyElement.cpp:
46102         (WebCore::SVGPolyElement::updateAnimatedSVGAttribute): synchronizeProperty<...>() has been renamed to PropertySynchronizer<...>::synchronize().
46103         * svg/SVGPolyElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46104         * svg/SVGRectElement.h: Ditto.
46105         * svg/SVGSVGElement.cpp:
46106         (WebCore::SVGSVGElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
46107         * svg/SVGSVGElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46108         * svg/SVGScriptElement.h: Ditto.
46109         * svg/SVGSwitchElement.h: Ditto.
46110         * svg/SVGSymbolElement.cpp:
46111         (WebCore::SVGSymbolElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
46112         * svg/SVGSymbolElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46113         * svg/SVGTRefElement.h: Remove virtual contextElement() method.
46114         * svg/SVGTextContentElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46115         * svg/SVGTextPathElement.h: Remove virtual contextElement() method.
46116         * svg/SVGUseElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46117         * svg/SVGViewElement.cpp:
46118         (WebCore::SVGViewElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
46119         * svg/SVGViewElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46120         * svg/SVGViewSpec.cpp:
46121         (WebCore::SVGViewSpec::setViewBoxString): Pass document() to SVGFitToViewBox::parseMappedAttribute().
46122         (WebCore::SVGViewSpec::parseViewSpec): Ditto.
46123         * svg/SVGViewSpec.h: Devirtualize contextElement() method, it's the only place where contextElement() remains needed.
46124
46125 2009-10-14  Dirk Schulze  <krit@webkit.org>
46126
46127         Reviewed by Nikolas Zimmermann.
46128
46129         SVG Masking with wrong offset
46130         [https://bugs.webkit.org/show_bug.cgi?id=30325]
46131
46132         SVGMaskElement moves the mask image graphics context to the wrong location.
46133         In objectBoundingBoxMode the maskDestRect gets translated. This transformation
46134         is not used in the later calculation. Fix by consistenly calculating the translation
46135         offsets from the final mask destination rect.
46136
46137         Test: svg/custom/mask-with-default-value.svg
46138
46139         * svg/SVGMaskElement.cpp:
46140         (WebCore::SVGMaskElement::drawMaskerContent):
46141
46142 2009-10-14  Kevin Decker  <kdecker@apple.com>
46143
46144         Rubberstamped by Jon Honeycutt.
46145         
46146         Export a few more showSubstituteImage() related methods.
46147         
46148         * WebCore.base.exp:
46149         * WebCore.xcodeproj/project.pbxproj:
46150
46151 2009-10-14  Evan Martin  <evan@chromium.org>
46152
46153         Reviewed by Darin Adler.
46154
46155         Stringify CSS units manually (without printf) to make the formatting
46156         locale-insensitive and obey CSS spec with respect to large values.
46157         
46158         https://bugs.webkit.org/show_bug.cgi?id=18994
46159
46160         * css/CSSPrimitiveValue.cpp:
46161         (WebCore::appendCSSDouble):
46162         (WebCore::formatWithUnits):
46163         (WebCore::CSSPrimitiveValue::cssText):
46164
46165 2009-10-14  Mark Seaborn  <mseaborn@google.com>
46166
46167         Reviewed by Darin Adler.
46168
46169         Check error return value in Perl build script
46170         https://bugs.webkit.org/show_bug.cgi?id=30316
46171
46172         * css/makevalues.pl: Die if gperf fails.
46173
46174 2009-10-14  Dirk Schulze  <krit@webkit.org>
46175
46176         Reviewed by Nikolas Zimmermann.
46177
46178         SVG wrong filterRegions for userSpaceOnUse and percentage values
46179         [https://bugs.webkit.org/show_bug.cgi?id=30330]
46180
46181         Some clean-up of the SVG filter calculation code. This clean-up
46182         also fixes the problem with percentage and userSpaceInUse mode.
46183
46184         Test: svg/filters/subRegion-in-userSpace.svg
46185
46186         * platform/graphics/filters/FilterEffect.cpp:
46187         (WebCore::FilterEffect::FilterEffect):
46188         * platform/graphics/filters/FilterEffect.h:
46189         * rendering/SVGRenderSupport.cpp:
46190         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
46191         * svg/SVGFilterElement.cpp:
46192         (WebCore::SVGFilterElement::buildFilter):
46193         (WebCore::SVGFilterElement::canvasResource):
46194         * svg/SVGFilterElement.h:
46195         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
46196         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
46197         * svg/graphics/SVGResourceFilter.cpp:
46198         (WebCore::SVGResourceFilter::SVGResourceFilter):
46199         (WebCore::SVGResourceFilter::~SVGResourceFilter):
46200         (WebCore::SVGResourceFilter::addFilterEffect):
46201         (WebCore::SVGResourceFilter::prepareFilter):
46202         * svg/graphics/SVGResourceFilter.h:
46203         (WebCore::SVGResourceFilter::create):
46204         * svg/graphics/filters/SVGFilter.cpp:
46205         (WebCore::SVGFilter::SVGFilter):
46206         (WebCore::SVGFilter::calculateEffectSubRegion):
46207         (WebCore::SVGFilter::create):
46208         * svg/graphics/filters/SVGFilter.h:
46209
46210 2009-10-14  Chris Marrin  <cmarrin@apple.com>
46211
46212         The last change fixed the problem, removing diagnostic printfs.
46213
46214         * platform/graphics/mac/GraphicsContext3DMac.cpp:
46215         (WebCore::GraphicsContext3D::GraphicsContext3D):
46216
46217 2009-10-14  Kevin Ollivier  <kevino@theolliviers.com>
46218
46219         CURL build fix for versions < 7.18.
46220
46221         * platform/network/curl/ResourceHandleCurl.cpp:
46222         (WebCore::ResourceHandle::setDefersLoading):
46223         * platform/network/curl/ResourceHandleManager.cpp:
46224         (WebCore::ResourceHandleManager::initializeHandle):
46225
46226 2009-10-14  Chris Marrin  <cmarrin@apple.com>
46227
46228         One more round of changes to figure out why the webgl 
46229         tests are crashing on the build bot. Here I am trying
46230         to see if we can create a software renderer. I am also
46231         printing the found pixel formats.
46232
46233         * platform/graphics/mac/GraphicsContext3DMac.cpp:
46234         (WebCore::GraphicsContext3D::GraphicsContext3D):
46235
46236 2009-10-14  Yael Aharon  <yael.aharon@nokia.com>
46237  
46238         Reviewed by Simon Hausmann.
46239  
46240         Enabling NPAPI plugin support on Qt Webkit for S60 platform
46241         https://bugs.webkit.org/show_bug.cgi?id=29302
46242
46243         Also implemented by Mahesh Kulkarni<mahesh.kulkarni@nokia.com>, 
46244         Rohini Ananth <rohini.ananth@nokia.com> and help from Norbert Lesr
46245         <norbert.leser@nokia.com>
46246          
46247         * WebCore.pro:
46248         Enabling ENABLE_NETSCAPE_PLUGIN_API for S60 and added S60 specific 
46249         new plugin files to be compiled under symbian: macro
46250
46251         * bridge/npapi.h:
46252         Added NPEvent and NPRegion definition for Symbian
46253
46254         * plugins/PluginPackage.h:
46255         Added S60 specific plugin interface and plugin loader variables
46256         * plugins/PluginPackage.cpp:
46257         (WebCore::PluginPackage::unload): Added !PLATFORM(SYMBIAN) macro.
46258         Default implementation to be used only for non-symbian platform
46259         * plugins/PluginDatabase.cpp:
46260         Macro !SYMBIAN checking
46261         * plugins/PluginView.h:
46262         Add Symbian to platforms that support setNPWindowIfNeeded
46263         * plugins/PluginView.cpp:
46264         (WebCore::PluginView::setFrameRect): Add Symbian to platforms that
46265         call setNPWindowRect from setFrameRect
46266          
46267         Added folder 'symbian' which contains implementation files for S60
46268         platform-specific NPAPI plugin functionality, under /plugins folder
46269         * plugins/symbian
46270         * plugins/symbian/npinterface.h:
46271         Plugin Interface to be implemented by S60 NPAPI plugins 
46272         * plugins/symbian/PluginContainerSymbian.h:
46273         * plugins/symbian/PluginContainerSymbian.cpp:
46274         * plugins/symbian/PluginDatabaseSymbian.cpp:
46275         * plugins/symbian/PluginViewSymbian.cpp:
46276         * plugins/symbian/PluginPackageSymbian.cpp:
46277
46278 2009-10-14  Chris Marrin  <cmarrin@apple.com>
46279
46280         More changes to figure out why the webgl tests are crashing on the build bot.
46281
46282         * platform/graphics/mac/GraphicsContext3DMac.cpp:
46283         (WebCore::GraphicsContext3D::GraphicsContext3D):
46284
46285 2009-10-14  Victor Wang  <victorw@chromium.org>
46286
46287         Reviewed by David Hyatt.
46288
46289         Round non-integer line height values.
46290
46291         Change webkit to rounding non-integer line height values
46292         instead of truncating them. This fixes a layout test
46293         failure on Windows and matches the calculation in IE and Firefox. 
46294
46295         https://bugs.webkit.org/show_bug.cgi?id=24434
46296
46297         Test: fast/css/line-height-rounding.html
46298               fast/forms/textarea-scrollbar-height.htm
46299
46300         * css/CSSComputedStyleDeclaration.cpp:
46301         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
46302         * rendering/InlineFlowBox.cpp:
46303         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
46304         * rendering/RenderBR.cpp:
46305         (WebCore::RenderBR::lineHeight):
46306         * rendering/style/RenderStyle.h:
46307         (WebCore::InheritedFlags::computedLineHeight):
46308
46309 2009-10-13  Kelly Norton  <knorton@google.com>
46310
46311         Reviewed by Pavel Feldman.
46312
46313         Removes the persistent setting for InspectorTimelineAgent and renames timeline related
46314         interfaces to be more consistent with the JavaScript profiler.
46315
46316         * inspector/InspectorBackend.cpp:
46317         (WebCore::InspectorBackend::startTimelineProfiler):
46318         (WebCore::InspectorBackend::stopTimelineProfiler):
46319         (WebCore::InspectorBackend::timelineProfilerEnabled):
46320         * inspector/InspectorBackend.h:
46321         * inspector/InspectorBackend.idl:
46322         * inspector/InspectorController.cpp:
46323         (WebCore::InspectorController::setFrontendProxyObject):
46324         (WebCore::InspectorController::startTimelineProfiler):
46325         (WebCore::InspectorController::stopTimelineProfiler):
46326         (WebCore::InspectorController::timelineProfilerEnabled):
46327         * inspector/InspectorController.h:
46328         * inspector/InspectorFrontend.cpp:
46329         (WebCore::InspectorFrontend::timelineProfilerWasStarted):
46330         (WebCore::InspectorFrontend::timelineProfilerWasStopped):
46331         * inspector/InspectorFrontend.h:
46332         * inspector/front-end/TimelineAgent.js:
46333         (WebInspector.timelineProfilerWasStarted):
46334         (WebInspector.timelineProfilerWasStopped):
46335
46336 2009-10-01  Yong Li  <yong.li@torchmobile.com>
46337
46338         Reviewed by Adele Peterson.
46339
46340         Fix crash when loading invalid image data
46341         https://bugs.webkit.org/show_bug.cgi?id=29980
46342
46343         * rendering/RenderImage.cpp:
46344         (WebCore::RenderImage::setImageSizeForAltText):
46345
46346 2009-10-09  Stephen White  <senorblanco@chromium.org>
46347
46348         Reviewed by Eric Seidel.
46349
46350         Fix for NULL ptr deref in canvas's toDataURL().
46351         https://bugs.webkit.org/show_bug.cgi?id=30254
46352
46353         Test: fast/canvas/canvas-toDataURL-crash.html
46354
46355         * html/HTMLCanvasElement.cpp:
46356         (WebCore::HTMLCanvasElement::toDataURL):
46357
46358 2009-10-14  Pavel Feldman  <pfeldman@chromium.org>
46359
46360         Not reviewed, reverting r49558 since it broke profiler tests.
46361
46362         https://bugs.webkit.org/show_bug.cgi?id=30328
46363
46364         * bindings/js/JSInspectorBackendCustom.cpp:
46365         * bindings/v8/custom/V8CustomBinding.h:
46366         * inspector/InspectorBackend.cpp:
46367         (WebCore::InspectorBackend::getProfileHeaders):
46368         (WebCore::InspectorBackend::getProfile):
46369         * inspector/InspectorBackend.h:
46370         * inspector/InspectorBackend.idl:
46371         * inspector/InspectorController.cpp:
46372         (WebCore::InspectorController::addProfile):
46373         (WebCore::InspectorController::getProfileHeaders):
46374         (WebCore::InspectorController::getProfile):
46375         (WebCore::InspectorController::createProfileHeader):
46376         * inspector/InspectorController.h:
46377         * inspector/InspectorFrontend.cpp:
46378         (WebCore::InspectorFrontend::addProfileHeader):
46379         (WebCore::InspectorFrontend::didGetProfileHeaders):
46380         (WebCore::InspectorFrontend::didGetProfile):
46381         * inspector/InspectorFrontend.h:
46382         * inspector/JavaScriptProfileNode.cpp:
46383         (WebCore::ProfileNodeClass):
46384         * inspector/front-end/ProfileView.js:
46385         (WebInspector.ProfileView.profileCallback):
46386         (WebInspector.ProfileView):
46387         (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
46388         (WebInspector.ProfileView.prototype._assignParentsInProfile):
46389         * inspector/front-end/ProfilesPanel.js:
46390         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
46391         * inspector/front-end/inspector.js:
46392         (WebInspector.addProfileHeader):
46393
46394 2009-10-13  Holger Hans Peter Freyther  <zecke@selfish.org>
46395
46396         Reviewed by Simon Hausmann.
46397
46398         ImageDecoderQt: Minor tweaks to the decoder
46399
46400         - Only cache the data when we start to use it.
46401         - Start with a repetition count of none for normal images.
46402         - Do not use canRead as this will trigger parsing of the full image
46403         - Cope with a GIF failing to decode the first frame, do not
46404           set m_failed to true if decoding the first frame failed
46405         - Inform the QImageReader about the format that was detected
46406         - Always create a ImageDecoderQt when when we have more
46407         than four byte.
46408
46409
46410         * platform/graphics/qt/ImageDecoderQt.cpp:
46411         (WebCore::ImageDecoder::create): Always create QImageReader for a significant speed up
46412         (WebCore::ImageDecoderQt::ImageDecoderQt): Initialize m_repetitionCount to cAnimationNone
46413         (WebCore::ImageDecoderQt::setData): Only call ImageDecoder::setData when everything has been received
46414         (WebCore::ImageDecoderQt::isSizeAvailable): Do not check m_failed twice.
46415         (WebCore::ImageDecoderQt::filenameExtension): Convert from QByteArray to String
46416         (WebCore::ImageDecoderQt::frameBufferAtIndex): Check for m_failed before trying to decode
46417         (WebCore::ImageDecoderQt::internalDecodeSize): Fail if the size is QSize()
46418         (WebCore::ImageDecoderQt::forceLoadEverything): Handle the case were decoding the first frame fails
46419         * platform/graphics/qt/ImageDecoderQt.h: Change the m_format type
46420
46421 2009-10-14  Mikhail Naganov  <mnaganov@chromium.org>
46422
46423         Reviewed by Pavel Feldman.
46424
46425         Web Inspector: Migrate profiles to the injected script-based schema.
46426
46427         https://bugs.webkit.org/show_bug.cgi?id=30328
46428
46429         * bindings/js/JSInspectorBackendCustom.cpp:
46430         * bindings/v8/custom/V8CustomBinding.h:
46431         * inspector/InspectorBackend.cpp:
46432         (WebCore::InspectorBackend::getProfileHeaders):
46433         (WebCore::InspectorBackend::getProfile):
46434         * inspector/InspectorBackend.h:
46435         * inspector/InspectorBackend.idl:
46436         * inspector/InspectorController.cpp:
46437         (WebCore::InspectorController::addProfile):
46438         (WebCore::InspectorController::getProfileHeaders):
46439         (WebCore::InspectorController::getProfile):
46440         (WebCore::InspectorController::createProfileHeader):
46441         * inspector/InspectorController.h:
46442         * inspector/InspectorFrontend.cpp:
46443         (WebCore::InspectorFrontend::addProfileHeader):
46444         (WebCore::InspectorFrontend::didGetProfileHeaders):
46445         (WebCore::InspectorFrontend::didGetProfile):
46446         * inspector/InspectorFrontend.h:
46447         * inspector/JavaScriptProfileNode.cpp:
46448         (WebCore::ProfileNodeClass):
46449         * inspector/front-end/ProfileView.js:
46450         (WebInspector.ProfileView.profileCallback):
46451         (WebInspector.ProfileView):
46452         (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
46453         (WebInspector.ProfileView.prototype._assignParentsInProfile):
46454         * inspector/front-end/ProfilesPanel.js:
46455         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
46456         * inspector/front-end/inspector.js:
46457         (WebInspector.addProfileHeader):
46458
46459 2009-10-13  Yury Semikhatsky  <yurys@chromium.org>
46460
46461         Reviewed by Pavel Feldman.
46462
46463         Don't collect call frame properties until they're needed for completion.
46464
46465         https://bugs.webkit.org/show_bug.cgi?id=30334
46466
46467         * inspector/front-end/ConsoleView.js:
46468         (WebInspector.ConsoleView.prototype.completions):
46469         * inspector/front-end/InjectedScript.js:
46470         (InjectedScript.getCompletions): if call frame id is specified and the expression is empty collect frame properties.
46471         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain): don't send call frame properties until they're needed.
46472         * inspector/front-end/ScriptsPanel.js:
46473
46474 2009-10-13  Yongjun Zhang  <yongjun.zhang@nokia.com>
46475
46476         Reviewed by Ariya Hidayat.
46477
46478         https://bugs.webkit.org/show_bug.cgi?id=29106
46479         [Qt] make CachedResourceHandle.h compile in winscw Symbian compiler.
46480
46481         Don't inline constructor CachedResourceHandle<T>(R*) to stop winscw
46482         compiler aggressively resolve inheritance of class R.  
46483         
46484         The winscw compiler bug is reported at:
46485         https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812.
46486         
46487         The change should be reverted when the above bug is fixed in winscw compiler.
46488
46489         * loader/CachedResourceHandle.h:
46490         (WebCore::::CachedResourceHandle):
46491
46492 2009-10-13  Dimitri Glazkov  <dglazkov@chromium.org>
46493
46494         No review, rolling out r49554, because it broke Win and Chromium builds.
46495         http://trac.webkit.org/changeset/49554
46496
46497         * css/CSSPrimitiveValue.cpp:
46498         (WebCore::CSSPrimitiveValue::cssText):
46499
46500 2009-10-13  Evan Martin  <evan@chromium.org>
46501
46502         Reviewed by Adam Barth.
46503
46504         Stringify CSS units manually (without printf) to make the formatting
46505         locale-insensitive and obey CSS spec with respect to large values.
46506         
46507         https://bugs.webkit.org/show_bug.cgi?id=18994
46508
46509         * css/CSSPrimitiveValue.cpp:
46510         (WebCore::appendCSSDouble):
46511         (WebCore::formatWithUnits):
46512         (WebCore::CSSPrimitiveValue::cssText):
46513
46514 2009-10-13  Evan Martin  <evan@chromium.org>
46515
46516         Reviewed by David Levin.
46517
46518         Make grippy lines vertical on horizontal scrollbars in Linux Chrome.
46519         While we're rebaselining scrollbars, fix an off by one in the vertical
46520         scrollbar rendering too.
46521
46522         https://bugs.webkit.org/show_bug.cgi?id=30319
46523
46524         Tests: this is covered by every pixel test involving scrollbars.
46525
46526         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
46527         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
46528
46529 2009-10-13  Sam Weinig  <sam@webkit.org>
46530
46531         Reviewed by David Hyatt.
46532
46533         Fix issue where clientX and clientY on MouseEvents were wrong when
46534         the page was zoomed and scrolled.
46535
46536         Test: fast/events/clientXY-in-zoom-and-scroll.html
46537
46538         * dom/MouseRelatedEvent.cpp:
46539         (WebCore::contentsX): Take page zoom into account.
46540         (WebCore::contentsY): Ditto.
46541
46542 2009-10-13  Dave Hyatt  <hyatt@apple.com>
46543
46544         Reviewed by Adam Roben.
46545
46546         Change the order of arguments on some of the user stylesheet/script functions.  Split the removal functions
46547         out into separate ones for scripts and stylesheets.
46548
46549         * WebCore.base.exp:
46550         * page/PageGroup.cpp:
46551         (WebCore::PageGroup::addUserScriptToWorld):
46552         (WebCore::PageGroup::addUserStyleSheetToWorld):
46553         (WebCore::PageGroup::removeUserScriptFromWorld):
46554         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
46555         (WebCore::PageGroup::removeUserScriptsFromWorld):
46556         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
46557         * page/PageGroup.h:
46558         (WebCore::PageGroup::userScripts):
46559         (WebCore::PageGroup::userStyleSheets):
46560
46561 2009-10-13  Evan Martin  <evan@chromium.org>
46562
46563         Reviewed by Dmitry Titov.
46564
46565         Chrome's "Skia" theme paints select controls backwards in RTL.
46566
46567         https://bugs.webkit.org/show_bug.cgi?id=30320
46568
46569         Test: fast/text/international/bidi-menulist.html
46570         (The test is about something else, but it includes RTL selects.)
46571
46572         * rendering/RenderThemeChromiumSkia.cpp:
46573         (WebCore::RenderThemeChromiumSkia::paintMenuList): flip the arrow position in RTL case.
46574
46575 2009-10-13  Dmitry Titov  <dimich@chromium.org>
46576
46577         Reviewed by Alexey Proskuryakov.
46578
46579         https://bugs.webkit.org/show_bug.cgi?id=30318
46580         ScriptExecutionContext is not anymore needed to create an EventListener - remove old code.
46581         It's a followup to r48884. It removed the need to pass the ScritpExecutionContext
46582         into EventListener constructor but did not remove the code pulling ScriptExecutionContext.
46583
46584         Tests:
46585         Test adds event listener to a DocumentType Node which is created without a document
46586         and then dispatches the event after attaching a node to the tree. Event
46587         should fire when node is attached to the tree.
46588
46589         * fast/events/add-event-without-document-expected.txt: Added.
46590         * fast/events/add-event-without-document.html: Added.
46591
46592         All changes in files below are the same - remove the code that calls
46593         EventTarget::scriptExecutionContext and checks it for NULL.
46594
46595         * bindings/js/JSAbstractWorkerCustom.cpp:
46596         (WebCore::JSAbstractWorker::addEventListener):
46597         (WebCore::JSAbstractWorker::removeEventListener):
46598         * bindings/js/JSDOMApplicationCacheCustom.cpp:
46599         (WebCore::JSDOMApplicationCache::addEventListener):
46600         (WebCore::JSDOMApplicationCache::removeEventListener):
46601         * bindings/js/JSDesktopNotificationsCustom.cpp:
46602         (WebCore::JSNotification::addEventListener):
46603         (WebCore::):
46604         * bindings/js/JSEventSourceCustom.cpp:
46605         (WebCore::JSEventSource::addEventListener):
46606         (WebCore::JSEventSource::removeEventListener):
46607         * bindings/js/JSMessagePortCustom.cpp:
46608         (WebCore::JSMessagePort::addEventListener):
46609         (WebCore::JSMessagePort::removeEventListener):
46610         * bindings/js/JSNodeCustom.cpp:
46611         (WebCore::JSNode::addEventListener):
46612         (WebCore::JSNode::removeEventListener):
46613         * bindings/js/JSSVGElementInstanceCustom.cpp:
46614         (WebCore::JSSVGElementInstance::addEventListener):
46615         (WebCore::JSSVGElementInstance::removeEventListener):
46616         * bindings/js/JSXMLHttpRequestCustom.cpp:
46617         (WebCore::JSXMLHttpRequest::addEventListener):
46618         (WebCore::JSXMLHttpRequest::removeEventListener):
46619         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
46620         (WebCore::JSXMLHttpRequestUpload::addEventListener):
46621         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
46622         * bindings/js/JSWebSocketCustom.cpp:
46623         (WebCore::JSWebSocket::addEventListener):
46624         (WebCore::JSWebSocket::removeEventListener):
46625
46626 2009-10-13  Drew Wilson  <atwilson@atwilson-macpro.local>
46627
46628         Reviewed by David Levin.
46629
46630         Enable SHARED_WORKERS for Chromium
46631         https://bugs.webkit.org/show_bug.cgi?id=30289
46632
46633         Cleaned up bitrot in SharedWorker V8 bindings.
46634
46635         * WebCore.gypi:
46636         Removed default implementation of SharedWorkerRepository so Chromium can provide its own.
46637         * bindings/v8/DerivedSourcesAllInOne.cpp:
46638         Added V8SharedWorkerContext.cpp.
46639         * bindings/v8/V8DOMWrapper.cpp:
46640         (WebCore::V8DOMWrapper::getTemplate):
46641         Added case statements for SHAREDWORKER and SHAREDWORKERCONTEXT.
46642         * bindings/v8/V8Index.cpp:
46643         Now includes V8SharedWorkerContext.h to allow supporting SharedWorkers.
46644         * bindings/v8/V8Index.h:
46645         Added definition for SHAREDWORKERCONTEXT wrapper.
46646         * bindings/v8/WorkerContextExecutionProxy.cpp:
46647         Added includes for SharedWorker.h and SharedWorkerContext.h.
46648         * bindings/v8/custom/V8CustomBinding.h:
46649         Reorganized Worker field indexes to be clearer, and fixed mismatch in worker field index.
46650         Also added field indexes for SharedWorkers.
46651         * bindings/v8/custom/V8DOMWindowCustom.cpp:
46652         (WebCore::ACCESSOR_RUNTIME_ENABLER):
46653         Added runtime enabler for the SharedWorker constructor.
46654         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
46655         (WebCore::CALLBACK_FUNC_DECL):
46656         Cleaned up bitrot (various APIs have changed since this file was written).
46657         * page/DOMWindow.idl:
46658         Added EnabledAtRuntime flag to window.SharedWorker.
46659
46660 2009-10-13  Alexey Proskuryakov  <ap@apple.com>
46661
46662         Reviewed by Brady Eidson.
46663
46664         https://bugs.webkit.org/show_bug.cgi?id=30345
46665         HTTP tests for credential handling fail on Tiger
46666
46667         We cannot prevent NSURLConnection from doing its credentil handling on Tiger anyway; so
46668         let it do its work without intervention. Once again, we pass explicitly passed credentials
46669         in URL, fixing regressions from Safari 3.
46670
46671         * platform/network/mac/ResourceHandleMac.mm:
46672         (WebCore::ResourceHandle::start):
46673         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
46674         (WebCore::ResourceHandle::receivedCredential):
46675
46676 2009-10-13  Roland Steiner  <rolandsteiner@google.com>
46677
46678         Reviewed by Adam Barth.
46679
46680         Bug 28964 -  [Chromium] ChromiumDataObject should have getter/setter interface
46681
46682         Reworked and added to the getter/setter interface in ChromiumDataObject:
46683         - added contains...() methods to just query the state
46684         - added containsValid...URL() methods for URL data members
46685         - removed takeFileNames() as this was too type-dependent
46686         - changed return type of fileNames() to Vector<String>
46687         - added interface methods to allow appending to and iteration over file names
46688
46689         No new tests (no functional behavior changed).
46690
46691         * platform/chromium/ChromiumDataObject.h:
46692         (WebCore::ChromiumDataObject::containsMainURL):
46693         (WebCore::ChromiumDataObject::containsValidMainURL):
46694         (WebCore::ChromiumDataObject::containsMainURLTitle):
46695         (WebCore::ChromiumDataObject::containsTextPlain):
46696         (WebCore::ChromiumDataObject::containsTextHTML):
46697         (WebCore::ChromiumDataObject::containsHTMLBaseURL):
46698         (WebCore::ChromiumDataObject::containsValidHTMLBaseURL):
46699         (WebCore::ChromiumDataObject::containsContent):
46700         (WebCore::ChromiumDataObject::containsContentFileExtension):
46701         (WebCore::ChromiumDataObject::containsContentFileName):
46702         (WebCore::ChromiumDataObject::setContentFileName):
46703         (WebCore::ChromiumDataObject::containsFileNames):
46704         (WebCore::ChromiumDataObject::fileNames):
46705         (WebCore::ChromiumDataObject::clearFileNames):
46706         (WebCore::ChromiumDataObject::countFileNames):
46707         (WebCore::ChromiumDataObject::fileNameAt):
46708         (WebCore::ChromiumDataObject::setFileNames):
46709         (WebCore::ChromiumDataObject::appendToFileNames):
46710         (WebCore::ChromiumDataObject::popFileName):
46711
46712 2009-10-13  Simon Fraser  <simon.fraser@apple.com>
46713
46714         Temporary debugging changes to figure out why the webgl tests are crashing on the build bot.
46715
46716         * platform/graphics/mac/GraphicsContext3DMac.cpp:
46717         (WebCore::GraphicsContext3D::GraphicsContext3D):
46718
46719 2009-10-13  Simon Fraser  <simon.fraser@apple.com>
46720
46721         Reviewed by Dan Bernstein.
46722
46723         Visibility:visible inside a compositing layer doesn't make the element visible
46724         https://bugs.webkit.org/show_bug.cgi?id=30339
46725         
46726         When deciding if a layer had any renderable content, RenderLayerBacking::paintIntoLayer()
46727         only consulted hasVisibleContent(), which does not take into a account child layers which
46728         may be visible. We also have to consult hasVisibleDescendant() as well.
46729
46730         Test: compositing/compositing-visible-descendant.html
46731
46732         * rendering/RenderLayer.h:
46733         (WebCore::RenderLayer::hasVisibleDescendant):
46734         * rendering/RenderLayerBacking.cpp:
46735         (WebCore::RenderLayerBacking::paintIntoLayer):
46736
46737 2009-10-13  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
46738
46739         Reviewed by Simon Hausmann.
46740
46741         Refactor ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH
46742         https://bugs.webkit.org/show_bug.cgi?id=30278
46743
46744         Move the definition of ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH 
46745         from the make system into common code.
46746
46747         Enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH if NETSCAPE_PLUGIN_API 
46748         support is not enabled.
46749
46750         Remove notImplemented() from PluginPackageNone.cpp and 
46751         PluginDataNone.cpp make them just empty functions.
46752
46753         * GNUmakefile.am:
46754         * WebCore.pro:
46755         * plugins/PluginDataNone.cpp:
46756         (WebCore::PluginData::initPlugins):
46757         (WebCore::PluginData::refresh):
46758         * plugins/PluginPackageNone.cpp:
46759         (WebCore::PluginPackage::determineQuirks):
46760         (WebCore::PluginPackage::fetchInfo):
46761         (WebCore::PluginPackage::load):
46762
46763 2009-10-13  Alexey Proskuryakov  <ap@apple.com>
46764
46765         Reviewed by Dan Bernstein.
46766
46767         https://bugs.webkit.org/show_bug.cgi?id=30150
46768         <rdar://problem/7283540> REGRESSION: Crash when accessing clipboardData.types
46769
46770         Test: editing/pasteboard/crash-accessing-clipboardData-types.html
46771
46772         * platform/mac/ClipboardMac.mm: (WebCore::addHTMLClipboardTypesForCocoaType): The String
46773         class doesn't have operator bool, it's operator NSString* that is invoked instead, and it
46774         converts null strings to non-null @"".
46775
46776 2009-10-13  Drew Wilson  <atwilson@atwilson-macpro.local>
46777
46778         Reviewed by Dimitri Glazkov.
46779
46780         window attributes (like localStorage) that are disabled at runtime are still visible
46781         https://bugs.webkit.org/show_bug.cgi?id=30240
46782
46783         Adding codegen/bindings to support runtime disabling of attributes.
46784
46785         No new tests (only supported by chrome currently)
46786
46787         * bindings/scripts/CodeGeneratorV8.pm:
46788         Refactored the guts of GenerateBatchedAttributeData into a separate GenerateSingleBatchedAttribute with a passed-in indentation level to allow generating a single BatchedAttribute struct.
46789         Added support for the EnabledAtRuntime extended attribute, which generates a call to the appropriate XXXXEnabled() API before adding the attribute to the instance.
46790         * bindings/v8/V8Proxy.cpp:
46791         (WebCore::batchConfigureAttributes):
46792         Refactored attribute setting code into a common inline routine.
46793         * bindings/v8/V8Proxy.h:
46794         (WebCore::configureAttribute):
46795         Inline function which configures a single attribute given a BatchedAttribute struct.
46796         * bindings/v8/custom/V8CustomBinding.h:
46797         Added (DECLARE_)ACCESSOR_RUNTIME_ENABLER to allow enabling attributes at runtime.
46798         * bindings/v8/custom/V8DOMWindowCustom.cpp:
46799         Added code to enable window.Audio only if MediaPlayer.isAvailable() == true
46800         * page/DOMWindow.idl:
46801         Added [EnabledAtRuntime] extended attribute to the Audio attribute.
46802
46803 2009-10-13  Michelangelo De Simone  <micdesim@gmail.com>
46804
46805         Reviewed by Adam Barth.
46806
46807         https://bugs.webkit.org/show_bug.cgi?id=27457
46808         Added support for static validation on type=email input elements as per
46809         HTML5 specs:
46810         http://www.whatwg.org/specs/web-apps/current-work/#e-mail-state
46811
46812         Test: fast/forms/ValidityState-typeMismatch-email.html
46813
46814         * html/ValidityState.cpp:
46815         (WebCore::ValidityState::typeMismatch): ValidityState.typeMismatch
46816         performs validation on type=email input elements now.
46817         (WebCore::ValidityState::isValidEmailAddress): simple validation method 
46818         * html/ValidityState.h:
46819
46820 2009-10-13  Dmitry Titov  <dimich@chromium.org>
46821
46822         Reviewed by Adam Barth.
46823
46824         Event listeners installed on a window object returned from window.open() don't work
46825         https://bugs.webkit.org/show_bug.cgi?id=28716
46826
46827         Tests: http/tests/security/window-events-clear-domain.html
46828                http/tests/security/window-events-clear-port.html
46829                http/tests/security/window-events-pass.html
46830
46831         * dom/Document.cpp: Split code of Document::clear() in a way to avoid removing all
46832         window event handlers when implicitOpen is called. It is called in 2 cases - on
46833         committing loaded content (no need to clean handlers) and on document.open() (needs to remove handlers).
46834
46835         (WebCore::Document::open): in addition to calling implicitOpen it also removes window
46836         event handlers, to preserve the behavior of document.open().
46837
46838         (WebCore::Document::implicitOpen): includes the part of removed Document::clear() that
46839         does not remove window event handlers.
46840
46841         * dom/Document.h: Removed clear().
46842
46843         * loader/FrameLoader.cpp:
46844         (WebCore::FrameLoader::stopLoading): add check to avoid removing window event handlers
46845         if we transition from temporary empty document to a loaded one.
46846
46847         (WebCore::FrameLoader::didOpenURL): Remove closeURL() which was called twice when loading.
46848         (WebCore::FrameLoader::finishedLoadingDocument): add closeURL() to compensate for change above.
46849
46850 2009-10-13  Brian Weinstein  <bweinstein@apple.com>
46851
46852         Reviewed by Pavel Feldman.
46853
46854         Fix a leak in the inspector by calling didRemoveNode with
46855         an error code when it fails, instead of returning from the
46856         Backend.
46857
46858         * inspector/InspectorBackend.cpp:
46859         (WebCore::InspectorBackend::removeNode):
46860         * inspector/front-end/ElementsTreeOutline.js:
46861
46862 2009-10-13  Brian Weinstein  <bweinstein@apple.com>
46863
46864         Reviewed by Timothy Hatcher.
46865
46866         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30337>.
46867         Web Inspector: Should be able to delete nodes from the Elements Tree.
46868         
46869         When the delete key is pressed and a element is selected in the tree,
46870         the element should be deleted from the Elements Tree and the DOM.
46871
46872         * inspector/InspectorBackend.cpp:
46873         (WebCore::InspectorBackend::removeNode):
46874         * inspector/InspectorBackend.h:
46875         * inspector/InspectorBackend.idl:
46876         * inspector/InspectorFrontend.cpp:
46877         (WebCore::InspectorFrontend::didRemoveNode):
46878         * inspector/InspectorFrontend.h:
46879         * inspector/front-end/ElementsPanel.js:
46880         (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
46881         * inspector/front-end/ElementsTreeOutline.js:
46882         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent):
46883
46884 2009-10-13  Brian Weinstein  <bweinstein@apple.com>
46885
46886         Reviewed by Timothy Hatcher.
46887
46888         Fix REGRESSION(49479): Mouseover on resources graph doesn't show timings.
46889         
46890         Set pointer-events: none on the new overlay so mouseover events are passed
46891         to the resources graph so we can show timings.
46892
46893         * inspector/front-end/inspector.css:
46894
46895 2009-10-13  Girish Ramakrishnan  <girish@forwardbias.in>
46896
46897         Reviewed by Simon Hausmann.
46898
46899         [Qt] Plugins : Remove all traces of winId. Use ownerWidget() instead.
46900         
46901         This is a bug for two reasons:
46902         1. Everytime we use winId(), we end up creating a native widget. This causes an
46903         unnecessary copy of contents from the backing store to the native widget.
46904         2. Neither windowed nor windowless plugins require the winId of the QWebView or
46905         QGraphicsView.
46906         
46907         Introduce ownerWidget() which returns a QWidget * without creating a native widget
46908         (as opposed to QWidget::find(winId)).
46909
46910        https://bugs.webkit.org/show_bug.cgi?id=30170
46911
46912         * platform/qt/PlatformScreenQt.cpp:
46913         (WebCore::screenDepthPerComponent):
46914         * platform/qt/PopupMenuQt.cpp:
46915         (WebCore::PopupMenu::show):
46916         * platform/qt/QWebPageClient.h:
46917         * plugins/qt/PluginViewQt.cpp:
46918         (WebCore::setSharedXEventFields):
46919         (WebCore::PluginView::initXEvent):
46920         (WebCore::PluginView::getValue):
46921         (WebCore::PluginView::platformStart):
46922
46923 2009-10-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
46924
46925         Unreviewed build system fix. Typo in a filename.
46926
46927         * GNUmakefile.am:
46928
46929 2009-10-12  Alexander Pavlov  <apavlov@chromium.org>
46930
46931         Reviewed by Timothy Hatcher.
46932         Alter profile link format to enable multiple profile types
46933         https://bugs.webkit.org/show_bug.cgi?id=30253
46934
46935         The new profile URL includes the profile type along with the
46936         profile title and uid.
46937
46938         * inspector/InspectorController.cpp:
46939         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
46940         (WebCore::InspectorController::addStartProfilingMessageToConsole):
46941         * inspector/front-end/inspector.js:
46942         (WebInspector.documentClick.followLink):
46943         (WebInspector.documentClick):
46944         (WebInspector.linkifyStringAsFragment):
46945
46946 2009-10-12  Alexander Pavlov  <apavlov@chromium.org>
46947
46948         Reviewed by Timothy Hatcher.
46949
46950         Fix same-named profiles grouping in the Profiles panel.
46951
46952         The tree node re-parenting while adding a new group node was broken.
46953          
46954         https://bugs.webkit.org/show_bug.cgi?id=30299
46955
46956         * inspector/front-end/ProfilesPanel.js:
46957         (WebInspector.ProfilesPanel.prototype.addProfile):
46958
46959 2009-10-12  Pavel Feldman  <pfeldman@chromium.org>
46960
46961         Reviewed by Timothy Hatcher.
46962
46963         Web Inspector: Enforce async interaction between inspector controller and frontend.
46964
46965         https://bugs.webkit.org/show_bug.cgi?id=30300
46966
46967         * inspector/front-end/inspector.js:
46968         (WebInspector.dispatch.delayDispatch):
46969         (WebInspector.dispatch):
46970
46971 2009-10-12  Xiaomei Ji  <xji@chromium.org>
46972
46973         Reviewed by Sam Weinig.
46974
46975         Fix issue caretRangeFromPoint() returns wrong result for a zoomed and 
46976         scrolled page.
46977         https://bugs.webkit.org/show_bug.cgi?id=30034
46978
46979         * dom/Document.cpp:
46980         (WebCore::Document::elementFromPoint): calculate the correct point 
46981         relative to document when the page is zoomed and scrolled.
46982         (WebCore::Document::caretRangeFromPoint): calculate the correct point 
46983         relative to document when the page is zoomed and scrolled.
46984
46985 2009-10-12  Fumitoshi Ukai  <ukai@chromium.org>
46986
46987         Reviewed by Sam Weinig.
46988
46989         JavaScript bindings of WebSocket addEventListener/removeEventListener
46990         https://bugs.webkit.org/show_bug.cgi?id=29841
46991
46992         Test: fast/websockets/websocket-event-target.html
46993
46994         * bindings/js/JSWebSocketCustom.cpp:
46995         (WebCore::JSWebSocket::addEventListener):
46996         (WebCore::JSWebSocket::removeEventListener):
46997         * bindings/v8/custom/V8CustomBinding.h:
46998         * bindings/v8/custom/V8WebSocketCustom.cpp:
46999         (WebCore::CALLBACK_FUNC_DECL):
47000         * websockets/WebSocket.idl:
47001
47002 2009-10-12  Sam Weinig  <sam@webkit.org>
47003
47004         Reviewed by Darin Adler.
47005
47006         Fix for https://bugs.webkit.org/show_bug.cgi?id=29078
47007         <rdar://problem/7288221>
47008
47009         Add a mechanism to blacklist certain codecs.  Initially, just blacklist UTF-7 as HTML5 encourages.
47010
47011         * platform/text/TextEncodingRegistry.cpp:
47012         (WebCore::pruneBlacklistedCodecs):
47013         (WebCore::buildBaseTextCodecMaps):
47014         (WebCore::extendTextCodecMaps):
47015
47016 2009-10-09  Dave Hyatt  <hyatt@apple.com>
47017
47018         Reviewed by Darin Adler.
47019
47020         Add support for the beforeload event to frames.  Complete support of the beforeload event by making sure
47021         its wrapper gets properly constructed (so that the URL field of the event can be accessed).  Add support
47022         for the Objective-C wrapper class as well.
47023
47024         Added fast/dom/beforeload/frame-before-load.html
47025
47026         * WebCore.xcodeproj/project.pbxproj:
47027         * bindings/js/JSEventCustom.cpp:
47028         (WebCore::toJS):
47029         * bindings/objc/DOMEvents.mm:
47030         (kitClass):
47031         * dom/BeforeLoadEvent.h:
47032         (WebCore::BeforeLoadEvent::isBeforeLoadEvent):
47033         * dom/Event.cpp:
47034         (WebCore::Event::isBeforeLoadEvent):
47035         * dom/Event.h:
47036         * html/HTMLFrameElementBase.cpp:
47037         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
47038         * loader/FrameLoader.cpp:
47039         (WebCore::FrameLoader::loadWithDocumentLoader):
47040
47041 2009-10-12  Dan Bernstein  <mitz@apple.com>
47042
47043         Reviewed by Simon Fraser.
47044
47045         Fix <rdar://problem/7094146> Reproducible crash at
47046         RenderObject::localToAbsolute()
47047
47048         Test: fast/dynamic/position-absolute-to-fixed-crash.html
47049
47050         The crash was caused by stale positioned objects lists following an
47051         object transitioning from being absolutely position to being fixed
47052         positioned.
47053
47054         * rendering/RenderBox.cpp:
47055         (WebCore::RenderBox::styleWillChange): In case of a transition between
47056         absolute and fixed position, mark the parent as having a child needing
47057         layout, so that this object will get inserted into its new container's
47058         positioned objects list.
47059         * rendering/RenderObject.cpp:
47060         (WebCore::RenderObject::styleWillChange): Changed a condition to cover
47061         this transition, so that this object gets removed from its current
47062         container's positioned objects list.
47063
47064 2009-10-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
47065
47066         Reviewed by Simon Hausmann.
47067
47068         Add a palette() method that is needed by our RenderTheme.
47069
47070         * platform/qt/QWebPageClient.h:
47071
47072 2009-10-12  Dirk Schulze  <krit@webkit.org>
47073
47074         Reviewed by Nikolas Zimmermann.
47075
47076         SVG Gradients can't handle percentage values in userSpaceOnUse mode
47077         [https://bugs.webkit.org/show_bug.cgi?id=30286]
47078
47079         Fixed *GradientAttributes to take SVGLength instead of double. This casues
47080         the problem, that we can't calculate the correct size of a gradient on
47081         userSpaceOnUse mode with percentage values.
47082
47083         Test: svg/custom/gradient-userSpaceOnUse-with-percentage.svg
47084
47085         * svg/LinearGradientAttributes.h:
47086         (WebCore::LinearGradientAttributes::LinearGradientAttributes):
47087         (WebCore::LinearGradientAttributes::x1):
47088         (WebCore::LinearGradientAttributes::y1):
47089         (WebCore::LinearGradientAttributes::x2):
47090         (WebCore::LinearGradientAttributes::y2):
47091         (WebCore::LinearGradientAttributes::setX1):
47092         (WebCore::LinearGradientAttributes::setY1):
47093         (WebCore::LinearGradientAttributes::setX2):
47094         (WebCore::LinearGradientAttributes::setY2):
47095         * svg/RadialGradientAttributes.h:
47096         (WebCore::RadialGradientAttributes::RadialGradientAttributes):
47097         (WebCore::RadialGradientAttributes::cx):
47098         (WebCore::RadialGradientAttributes::cy):
47099         (WebCore::RadialGradientAttributes::r):
47100         (WebCore::RadialGradientAttributes::fx):
47101         (WebCore::RadialGradientAttributes::fy):
47102         (WebCore::RadialGradientAttributes::setCx):
47103         (WebCore::RadialGradientAttributes::setCy):
47104         (WebCore::RadialGradientAttributes::setR):
47105         (WebCore::RadialGradientAttributes::setFx):
47106         (WebCore::RadialGradientAttributes::setFy):
47107         * svg/SVGLinearGradientElement.cpp:
47108         (WebCore::SVGLinearGradientElement::buildGradient):
47109         (WebCore::SVGLinearGradientElement::collectGradientProperties):
47110         * svg/SVGRadialGradientElement.cpp:
47111         (WebCore::SVGRadialGradientElement::buildGradient):
47112         (WebCore::SVGRadialGradientElement::collectGradientProperties):
47113
47114 2009-10-12  Brian Weinstein  <bweinstein@apple.com>
47115
47116         Reviewed by Timothy Hatcher.
47117
47118         Fixes <http://webkit.org/b/30315>.
47119         Web Inspector: DOM Content and Load lines in Resources are unclear what they mean.
47120         
47121         Add tooltip text to the Load event and DOM Content event lines through
47122         a new layer that allows these lines to be on top of the view.
47123
47124         * inspector/front-end/ResourcesPanel.js:
47125         (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
47126         (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition):
47127         * inspector/front-end/inspector.css:
47128
47129 2009-10-12  Dimitri Glazkov  <dglazkov@chromium.org>
47130
47131         No review, rolling out r49429, because it broke layout tests.
47132         http://trac.webkit.org/changeset/49429
47133
47134         * bindings/v8/V8AbstractEventListener.cpp:
47135         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
47136
47137 2009-10-12  Dirk Schulze  <krit@webkit.org>
47138
47139         Reviewed by Eric Seidel.
47140
47141         SVG - crash on feMerge when input not available
47142         [https://bugs.webkit.org/show_bug.cgi?id=30297]
47143
47144         Make a early return in SVGFEMergeElement if the needed
47145         filter effect doesn't exist.
47146
47147         Test: svg/filters/feMerge-wrong-input.svg
47148
47149         * svg/SVGFEMergeElement.cpp:
47150         (WebCore::SVGFEMergeElement::build):
47151
47152 2009-10-12  Chris Marrin  <cmarrin@apple.com>
47153
47154         Reviewed by Oliver Hunt.
47155
47156         Added automatic flush before compositing
47157         https://bugs.webkit.org/show_bug.cgi?id=30236
47158
47159         This causes image to always render correctly. In writing a testcase
47160         I needed to implement readPixels. This exposed a bug in reading back
47161         values from a CanvasArray subclass, so I fixed that as well. Now when
47162         you wrap a CanvasArray in a JSValue it actually wraps the specific
47163         subclass. To do this I need to add virtual methods to each CanvasArray
47164         subclass to determine the type and a custom toJS method for CanvasArray
47165         to create the proper wrapper. 
47166
47167         Test: fast/canvas/webgl/triangle.html
47168
47169         * WebCore.xcodeproj/project.pbxproj:
47170         * bindings/js/JSCanvasArrayCustom.cpp:
47171         (WebCore::toJS):
47172         * html/canvas/CanvasArray.h:
47173         (WebCore::CanvasArray::isByteArray):
47174         (WebCore::CanvasArray::isUnsignedByteArray):
47175         (WebCore::CanvasArray::isShortArray):
47176         (WebCore::CanvasArray::isUnsignedShortArray):
47177         (WebCore::CanvasArray::isIntArray):
47178         (WebCore::CanvasArray::isUnsignedIntArray):
47179         (WebCore::CanvasArray::isFloatArray):
47180         * html/canvas/CanvasArray.idl:
47181         * html/canvas/CanvasByteArray.h:
47182         (WebCore::CanvasByteArray::isByteArray):
47183         * html/canvas/CanvasFloatArray.h:
47184         (WebCore::CanvasFloatArray::isFloatArray):
47185         * html/canvas/CanvasIntArray.h:
47186         (WebCore::CanvasIntArray::isIntArray):
47187         * html/canvas/CanvasRenderingContext3D.cpp:
47188         (WebCore::CanvasRenderingContext3D::readPixels):
47189         * html/canvas/CanvasRenderingContext3D.h:
47190         * html/canvas/CanvasRenderingContext3D.idl:
47191         * html/canvas/CanvasShortArray.h:
47192         (WebCore::CanvasShortArray::isShortArray):
47193         * html/canvas/CanvasUnsignedByteArray.h:
47194         (WebCore::CanvasUnsignedByteArray::isUnsignedByteArray):
47195         * html/canvas/CanvasUnsignedIntArray.h:
47196         (WebCore::CanvasUnsignedIntArray::isUnsignedIntArray):
47197         * html/canvas/CanvasUnsignedShortArray.h:
47198         (WebCore::CanvasUnsignedShortArray::isUnsignedShortArray):
47199         * platform/graphics/GraphicsContext3D.h:
47200         * platform/graphics/mac/Canvas3DLayer.mm:
47201         (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
47202         * platform/graphics/mac/GraphicsContext3DMac.cpp:
47203         (WebCore::GraphicsContext3D::readPixels):
47204
47205 2009-10-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
47206
47207         Reviewed by Gustavo Noronha.
47208
47209         https://bugs.webkit.org/show_bug.cgi?id=30307
47210         
47211         Fix 0 sentinel for g_object_set() function call.
47212
47213         * platform/graphics/gtk/DataSourceGStreamer.cpp:
47214         (webkit_data_src_uri_set_uri):
47215         0 is passed as 32 bit value on x86-64 in vararg functions, but
47216         g_object_set() expects a 64 bit 0. This will cause crashes.
47217
47218 2009-10-12  Cameron McCormack  <cam@mcc.id.au>
47219
47220         Reviewed by Eric Seidel.
47221
47222         Drop in="" from <feFlood>
47223         https://bugs.webkit.org/show_bug.cgi?id=29001
47224
47225         This makes <feFlood in="bogus"> have an effect, too.
47226
47227         http://www.w3.org/2003/01/REC-SVG11-20030114-errata#feflood-attribute
47228
47229         Test: svg/dom/feFlood-no-in1.html
47230
47231         * svg/SVGFEFloodElement.cpp:
47232         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
47233         (WebCore::SVGFEFloodElement::build):
47234         * svg/SVGFEFloodElement.h:
47235         * svg/SVGFEFloodElement.idl:
47236         * svg/graphics/filters/SVGFEFlood.cpp:
47237         (WebCore::FEFlood::FEFlood):
47238         (WebCore::FEFlood::create):
47239         * svg/graphics/filters/SVGFEFlood.h:
47240
47241 2009-10-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
47242
47243         Reviewed by Gustavo Noronha.
47244
47245         https://bugs.webkit.org/show_bug.cgi?id=29998
47246         
47247         Scale video to completely fill the target surface while
47248         keeping the aspect ratio. This fixes displaying of the
47249         YouTube HTML5 sample website.
47250
47251         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
47252         Scale video to completely fill the target surface, keep
47253         the aspect ratio and center it.
47254
47255 2009-10-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
47256
47257         Reviewed by Gustavo Noronha.
47258
47259         https://bugs.webkit.org/show_bug.cgi?id=29997
47260         
47261         Fixes double memcpy of all rendered video frames.
47262
47263         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
47264         (WebCore::mediaPlayerPrivateRepaintCallback):
47265         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
47266         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
47267         (WebCore::MediaPlayerPrivate::duration):
47268         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
47269         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
47270         (webkit_video_sink_timeout_func):
47271         (webkit_video_sink_dispose):
47272         (unlock_buffer_mutex):
47273         (webkit_video_sink_unlock):
47274         (marshal_VOID__MINIOBJECT):
47275         (webkit_video_sink_class_init):
47276         (webkit_video_sink_new):
47277         * platform/graphics/gtk/VideoSinkGStreamer.h:
47278         Directly pass the buffers up to the MediaPlayerPrivate::paint()
47279         method instead of rendering them first to an intermediate cairo
47280         surface. This should increase performance and peak memory usage.
47281
47282 2009-10-11  Daniel Bates  <dbates@webkit.org>
47283
47284         Reviewed by Adam Barth.
47285
47286         https://bugs.webkit.org/show_bug.cgi?id=30242
47287         
47288         Fixes an issue where JavaScript URLs that are URL-encoded twice can 
47289         bypass the XSSAuditor.
47290         
47291         JavaScript URLs that are completed by method Document::completeURL have added
47292         URL-encoded characters such that a direct comparison with the URL-decoded 
47293         outgoing HTTP parameters is not sufficient. Instead, the URL-decoded outgoing 
47294         HTTP parameters must be URL-decoded before comparison.
47295
47296         Tests: http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html
47297                http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html
47298                http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html
47299
47300         * bindings/ScriptControllerBase.cpp:
47301         (WebCore::ScriptController::executeIfJavaScriptURL): Modified to pass XSSAuditor
47302         the URL-decoded source code for the JavaScript URL.
47303         * page/XSSAuditor.cpp:
47304         (WebCore::isIllegalURICharacter): Minor syntactical change to the comment.
47305         (WebCore::XSSAuditor::CachingURLCanonicalizer::canonicalizeURL): Added 
47306         parameter decodeURLEscapeSequencesTwice.
47307         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
47308         (WebCore::XSSAuditor::decodeURL): Ditto.
47309         (WebCore::XSSAuditor::findInRequest): Ditto.
47310         * page/XSSAuditor.h:
47311         (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer): Ditto.
47312
47313 2009-10-11  Dominic Cooney  <dominicc@google.com>
47314
47315         Reviewed by Adam Barth.
47316
47317         Fixes a build break in the V8 bindings caused by revision 49420.
47318         https://bugs.webkit.org/show_bug.cgi?id=30294
47319
47320         Revision 49420 introduces an IDL-defined CanvasActiveInfo
47321         type. This causes a build break in the V8 bindings where
47322         CanvasGraphicsContext3D naively refers to CanvasActiveInfo as a
47323         non-ref type.
47324
47325         * WebCore.gypi: Include CanvasActiveInfo.idl in build.
47326         * bindings/scripts/CodeGeneratorV8.pm: CanvasActiveInfo is a ref
47327           ptr type.
47328         * bindings/v8/DOMObjectsInclude.h: Include generated
47329           CanvasActiveInfo files.
47330         * bindings/v8/DerivedSourcesAllInOne.cpp:
47331         * bindings/v8/V8Index.cpp:
47332         * bindings/v8/V8Index.h:
47333
47334 2009-10-11  Collin Jackson  <collinj@webkit.org>
47335
47336         Reviewed by Adam Barth.
47337
47338         Log mixed content warnings to console
47339
47340         https://bugs.webkit.org/show_bug.cgi?id=30290
47341
47342         * loader/FrameLoader.cpp:
47343         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
47344         (WebCore::FrameLoader::checkIfRunInsecureContent):
47345
47346 2009-10-11  Søren Gjesse  <sgjesse@chromium.org>
47347
47348         Reviewed by Adam Barth.
47349
47350         [V8] Add a context scope in JS listener destructor. The destructor code uses the cotext. See http://crbug.com/24200.
47351         https://bugs.webkit.org/show_bug.cgi?id=30250
47352
47353         * bindings/v8/V8AbstractEventListener.cpp:
47354         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
47355
47356 2009-10-11  Lyon Chen  <lyon.chen@torchmobile.com>
47357
47358         Reviewed by Alexey Proskuryakov.
47359
47360         Correct the position of #endif sentence inside WebCore::Document::finishedParsing().
47361
47362         https://bugs.webkit.org/show_bug.cgi?id=30244
47363
47364         This change requires no test case as it fix a compiling error.
47365
47366         * dom/Document.cpp:
47367         (WebCore::Document::finishedParsing):
47368
47369 2009-10-11  Dominic Cooney  <dominicc@google.com>
47370
47371         Reviewed by Adam Barth.
47372
47373         Sets a 500K stack limit for JavaScript workers in Chromium.
47374         https://bugs.webkit.org/show_bug.cgi?id=29797
47375
47376         Runaway recursion in JavaScript workers crashes the Chromium
47377         worker process on OS X. This is because V8's default stack limit
47378         is 512K on ia32 or 1M on x64, but the worker process runs workers
47379         on a thread with the OS X default stack size--512K. Because there
47380         are already some C+frames on the stack when V8 establishes its
47381         512K default stack limit, and V8 doesn't precisely enforce the
47382         stack limit, runaway recursion in V8 workers overflows the OS
47383         stack and segfaults, killing the worker process. This is described
47384         in Chromium bug 21653 <http://crbug.com/21653>.
47385
47386         This patch sets the V8 stack limit for worker JavaScript in
47387         Chromium to a more conservative 500K on all platforms. This allows
47388         some "headroom" for the C+stack in use when the limit is set up,
47389         and some "legroom" for the V8 helper functions which in practice
47390         briefly flout the V8 stack limit.
47391
47392         Test: LayoutTests/fast/workers/use-machine-stack.html
47393
47394         * bindings/v8/WorkerContextExecutionProxy.cpp:
47395         (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
47396         * bindings/v8/WorkerContextExecutionProxy.h:
47397
47398 2009-10-11  Kevin Ollivier  <kevino@theolliviers.com>
47399
47400         wx build fix for wxMac 2.9, use wxGC API for measuring text.
47401
47402         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
47403         (GetTextExtent):
47404
47405 2009-10-10  Cameron McCormack  <cam@mcc.id.au>
47406
47407         Reviewed by Sam Weinig.
47408
47409         Allow [Reflect] on SVG elements.
47410         https://bugs.webkit.org/show_bug.cgi?id=28936
47411
47412         Update the JS binding generators to reference SVGNames instead of
47413         HTMLNames, if [Reflect]ing an attribute on an SVG element.  Make
47414         SVGElement::id use [Reflect].
47415
47416         Also make [Reflect] on an attribute with a setter exception work in ObjC
47417         bindings.
47418
47419         Test: svg/dom/id-reflect.html
47420
47421         * bindings/scripts/CodeGenerator.pm: Add a function to determine the
47422         appropriate C+namespace for attribute name constants.
47423         * bindings/scripts/CodeGeneratorObjC.pm: Generate ExceptionCode handling
47424         code for [Reflect] on an attribute with a setter exception.
47425         * bindings/scripts/CodeGeneratorCOM.pm: Generate "SVGNames" instead of
47426         "HTMLNames" when appropriate.
47427         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
47428         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
47429         * svg/SVGElement.cpp: Remove getter and setter methods for id.
47430         * svg/SVGElement.h: Ditto.
47431         * svg/SVGElement.idl: Add [Reflect] to id.
47432
47433 2009-10-10  Oliver Hunt  <oliver@apple.com>
47434
47435         Fix paths in xcode.
47436
47437         * WebCore.xcodeproj/project.pbxproj:
47438
47439 2009-10-10  Oliver Hunt  <oliver@apple.com>
47440
47441         Reviewed by Eric Carlson.
47442
47443         Implement getActiveAttrib and getActiveUniform
47444         https://bugs.webkit.org/show_bug.cgi?id=30276
47445
47446         Implements the getActiveAttrib and getActiveUniform APIs.
47447         Rather simple patch, adds CanvasActiveInfo definition and implementation
47448         and adds forwarding to the GraphicsContext3D.
47449
47450         Test: fast/canvas/webgl/getActiveTest.html
47451
47452         * DerivedSources.make:
47453         * WebCore.xcodeproj/project.pbxproj:
47454         * html/canvas/CanvasActiveInfo.h: Added.
47455         (WebCore::CanvasActiveInfo::create):
47456         (WebCore::CanvasActiveInfo::name):
47457         (WebCore::CanvasActiveInfo::type):
47458         (WebCore::CanvasActiveInfo::size):
47459         (WebCore::CanvasActiveInfo::CanvasActiveInfo):
47460         * html/canvas/CanvasActiveInfo.idl: Added.
47461         * html/canvas/CanvasObject.h:
47462         (WebCore::CanvasObject::context):
47463           Need to make the context public as it is needed to ensure we don't
47464           provide a program from one context as an argument to another.
47465         * html/canvas/CanvasRenderingContext3D.cpp:
47466         (WebCore::CanvasRenderingContext3D::getActiveAttrib):
47467         (WebCore::CanvasRenderingContext3D::getActiveUniform):
47468         * html/canvas/CanvasRenderingContext3D.h:
47469         * html/canvas/CanvasRenderingContext3D.idl:
47470         * platform/graphics/GraphicsContext3D.h:
47471         * platform/graphics/mac/GraphicsContext3DMac.cpp:
47472         (WebCore::GraphicsContext3D::getActiveAttrib):
47473         (WebCore::GraphicsContext3D::getActiveUniform):
47474
47475 2009-10-10  Pavel Feldman  <pfeldman@chromium.org>
47476
47477         Reviewed by Timothy Hatcher.
47478
47479         Web Inspector: Adding new attributes in Element Panel is
47480         counterintuitive.
47481
47482         https://bugs.webkit.org/show_bug.cgi?id=30057
47483
47484         * inspector/front-end/ElementsTreeOutline.js:
47485         (WebInspector.ElementsTreeOutline.prototype._onmousemove):
47486         (WebInspector.ElementsTreeElement.prototype.set hovered):
47487         (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton):
47488
47489 2009-10-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
47490
47491         Reviewed by Holger Freyther.
47492
47493         Build fix if Netscape plugin support is turned off
47494         https://bugs.webkit.org/show_bug.cgi?id=30275
47495
47496         In addition to fixing the build break with guards
47497         remove notImplemented() from PluginViewNone.cpp and
47498         make them just just be empty functions.
47499
47500         * plugins/PluginView.cpp:
47501         (WebCore::PluginView::handleEvent):
47502         (WebCore::PluginView::PluginView):
47503         * plugins/PluginView.h:
47504         * plugins/PluginViewNone.cpp:
47505         (WebCore::PluginView::setFocus):
47506         (WebCore::PluginView::show):
47507         (WebCore::PluginView::hide):
47508         (WebCore::PluginView::paint):
47509         (WebCore::PluginView::handleKeyboardEvent):
47510         (WebCore::PluginView::handleMouseEvent):
47511         (WebCore::PluginView::setParent):
47512         (WebCore::PluginView::setNPWindowRect):
47513         (WebCore::PluginView::handlePostReadFile):
47514         (WebCore::PluginView::getValue):
47515         (WebCore::PluginView::getValueStatic):
47516         (WebCore::PluginView::invalidateRect):
47517         (WebCore::PluginView::invalidateRegion):
47518         (WebCore::PluginView::forceRedraw):
47519         (WebCore::PluginView::platformStart):
47520         (WebCore::PluginView::platformDestroy):
47521         (WebCore::PluginView::setParentVisible):
47522         (WebCore::PluginView::updatePluginWidget):
47523
47524 2009-10-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
47525
47526         Unreviewed.
47527
47528         [Qt] Build fix for QtWebKit after r49415.
47529
47530         Add HistoryController.cpp to the build.
47531
47532         * WebCore.pro:
47533
47534 2009-10-09  Darin Fisher  <darin@chromium.org>
47535
47536         Reviewed by Eric Seidel.
47537
47538         [Chromium] KURLGoogle's protocolIs barfs on input containing hyphens
47539         https://bugs.webkit.org/show_bug.cgi?id=30262
47540
47541         This is not testable from WebKit since WebKit never uses the member
47542         function form of protocolIs with input that can be controlled from a
47543         web page.  It always passes string literals lacking hyphens.
47544
47545         * platform/KURLGoogle.cpp:
47546         (WebCore::lowerCaseEqualsASCII): Only assert if toASCIILower would
47547         transform the input character.
47548
47549 2009-10-10  Adam Barth  <abarth@webkit.org>
47550
47551         Reviewed by Oliver Hunt.
47552
47553         Move HistoryController to its own file
47554         https://bugs.webkit.org/show_bug.cgi?id=30272
47555
47556         Purely mechanical.
47557
47558         * GNUmakefile.am:
47559         * WebCore.gypi:
47560         * WebCore.vcproj/WebCore.vcproj:
47561         * WebCore.xcodeproj/project.pbxproj:
47562         * WebCoreSources.bkl:
47563         * loader/FrameLoader.cpp:
47564         * loader/FrameLoader.h:
47565         * loader/HistoryController.cpp: Added.
47566         * loader/HistoryController.h: Added.
47567
47568 2009-10-09  Ryosuke Niwa  <rniwa@webkit.org>
47569
47570         Reviewed by Eric Seidel.
47571
47572         ApplyStyleCommand removes presentational tags even when not necessary
47573         https://bugs.webkit.org/show_bug.cgi?id=28091
47574
47575         This patch updates implicitlyStyledElementShouldBeRemovedWhenApplyingStyle to return true
47576         (triggering removal of tag) only if the style implicitly added by the element is not present in
47577         the new style to apply. It also changes surroundNodeRangeWithElement so that it merges the
47578         surrounding element when possible. applyTextDecorationStyle is modified so that it does not add
47579         style span when the style attribute is empty.
47580
47581         Test: editing/execCommand/toggle-style-3.html
47582
47583         * editing/ApplyStyleCommand.cpp:
47584         (WebCore::ApplyStyleCommand::shouldRemoveTextDecorationTag): Returns true if specified text
47585         decoration is not present in the style to apply
47586         (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): No longer
47587         returns true if the tag is used in new style
47588         (WebCore::ApplyStyleCommand::applyTextDecorationStyle): Does not add style-span when redundant
47589         (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): Merges the newly created element
47590         with the surrounding identical elements
47591         * editing/ApplyStyleCommand.h:
47592
47593 2009-10-09  Adam Barth  <abarth@webkit.org>
47594
47595         Reviewed by Darin Adler.
47596
47597         Factor HistoryController out of FrameLoader
47598         https://bugs.webkit.org/show_bug.cgi?id=30246
47599
47600         HistoryController is in charge of managing the current / previous /
47601         provisional HistoryItems.  The split isn't perfect, but it's a place to
47602         start.  I'll move HistoryController into its own file in another patch.
47603
47604         * WebCore.base.exp:
47605         * loader/FrameLoader.cpp:
47606         (WebCore::HistoryController::HistoryController):
47607         (WebCore::HistoryController::~HistoryController):
47608         (WebCore::FrameLoader::FrameLoader):
47609         (WebCore::FrameLoader::closeURL):
47610         (WebCore::FrameLoader::begin):
47611         (WebCore::HistoryController::restoreDocumentState):
47612         (WebCore::HistoryController::setCurrentItem):
47613         (WebCore::HistoryController::setProvisionalItem):
47614         (WebCore::FrameLoader::loadURLIntoChildFrame):
47615         (WebCore::FrameLoader::canCachePageContainingThisFrame):
47616         (WebCore::FrameLoader::logCanCacheFrameDecision):
47617         (WebCore::FrameLoader::scrollToAnchor):
47618         (WebCore::FrameLoader::commitProvisionalLoad):
47619         (WebCore::FrameLoader::transitionToCommitted):
47620         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
47621         (WebCore::FrameLoader::didFirstLayout):
47622         (WebCore::HistoryController::updateForFrameLoadCompleted):
47623         (WebCore::FrameLoader::frameLoadCompleted):
47624         (WebCore::FrameLoader::detachFromParent):
47625         (WebCore::FrameLoader::receivedMainResourceError):
47626         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
47627         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
47628         (WebCore::HistoryController::addHistoryItemForFragmentScroll):
47629         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
47630         (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
47631         (WebCore::HistoryController::createHistoryItem):
47632         (WebCore::FrameLoader::checkDidPerformFirstNavigation):
47633         (WebCore::HistoryController::addBackForwardItemClippedAtTarget):
47634         (WebCore::HistoryController::createHistoryItemTree):
47635         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
47636         (WebCore::HistoryController::restoreScrollPositionAndViewState):
47637         (WebCore::HistoryController::invalidateCurrentItemCachedPage):
47638         (WebCore::HistoryController::saveDocumentState):
47639         (WebCore::FrameLoader::loadItem):
47640         (WebCore::HistoryController::urlsMatchItem):
47641         (WebCore::HistoryController::goToItem):
47642         (WebCore::HistoryController::recursiveGoToItem):
47643         (WebCore::HistoryController::childFramesMatchItem):
47644         (WebCore::HistoryController::updateForStandardLoad):
47645         (WebCore::HistoryController::updateForClientRedirect):
47646         (WebCore::HistoryController::updateForBackForwardNavigation):
47647         (WebCore::HistoryController::updateForReload):
47648         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
47649         (WebCore::HistoryController::updateForCommit):
47650         (WebCore::HistoryController::updateForAnchorScroll):
47651         (WebCore::HistoryController::saveDocumentAndScrollState):
47652         (WebCore::HistoryController::setCurrentItemTitle):
47653         (WebCore::FrameLoader::didChangeTitle):
47654         * loader/FrameLoader.h:
47655         (WebCore::HistoryController::current):
47656         (WebCore::HistoryController::provisional):
47657         (WebCore::FrameLoader::policyChecker):
47658         (WebCore::FrameLoader::history):
47659         (WebCore::FrameLoader::creatingInitialEmptyDocument):
47660         * page/Page.cpp:
47661         (WebCore::Page::goToItem):
47662
47663 2009-10-09  Alexey Proskuryakov  <ap@apple.com>
47664
47665         Unreviewed - fixing an obvious typo in my previous check-in.
47666
47667         https://bugs.webkit.org/show_bug.cgi?id=30260
47668         <rdar://problem/6447115> REGRESSION: Logging out from SAP doesn't work
47669
47670         Fixes existing tests (which I thought I had run the previous time).
47671
47672         * platform/network/CredentialStorage.cpp: (WebCore::originsWithCredentials): Return the
47673         set by reference.
47674
47675 2009-10-09  David Levin  <levin@chromium.org>
47676
47677         Reviewed by Eric Seidel.
47678
47679         [v8] Need change to V8WorkerContextEventListener::reportError signature to match the base class.
47680         https://bugs.webkit.org/show_bug.cgi?id=30264
47681
47682         The base class method changed in r48884.
47683
47684         Test: fast/worker/worker-script-error.html
47685
47686         * bindings/v8/V8WorkerContextEventListener.cpp:
47687         (WebCore::V8WorkerContextEventListener::reportError):
47688         * bindings/v8/V8WorkerContextEventListener.h:
47689
47690 2009-10-09  Alexey Proskuryakov  <ap@apple.com>
47691
47692         Reviewed by Brady Eidson.
47693
47694         https://bugs.webkit.org/show_bug.cgi?id=30260
47695         <rdar://problem/6447115> REGRESSION: Logging out from SAP doesn't work
47696
47697         Tests: http/tests/xmlhttprequest/logout.html
47698                http/tests/xmlhttprequest/re-login-async.html
47699                http/tests/xmlhttprequest/re-login.html
47700
47701         Fix several issues with existing credential handling code.
47702
47703         * platform/network/CredentialStorage.cpp:
47704         (WebCore::pathToDefaultProtectionSpaceMap): Changed the data structure to a simpler one.
47705         (WebCore::originsWithCredentials): The reason for two-stage lookup above was that we didn't
47706         want to iterate paths for origins that never had credentials associated with them. Changed
47707         to use a separate HashSet for this.
47708         (WebCore::pathToDefaultProtectionSpaceMap): The concept of default per-path credentials didn't
47709         match the spec very well. UAs are supposed to deduce protection space from an URL, and then
47710         use whichever credentials are known for this protection space. So, OriginToDefaultBasicCredentialMap
47711         is now PathToDefaultProtectionSpaceMap.
47712         (WebCore::protectionSpaceMapKeyFromURL): Factored out a helper that extracts a directory
47713         URL from a given URL. These directory URLs are what we use as keys in PathToDefaultProtectionSpaceMap.
47714         (WebCore::CredentialStorage::set): Updated for above changes.
47715         (WebCore::findDefaultProtectionSpaceForURL): Factored out code iterating path length to find
47716         a prefix in OriginToDefaultBasicCredentialMap.
47717         (WebCore::CredentialStorage::set): Another version of set() can update credentials for a
47718         URL default protection space. It does nothing if the given URL doesn't correspond to a known
47719         protection space.
47720         (WebCore::CredentialStorage::get): Renamed from getDefaultAuthenticationCredential.
47721
47722         * platform/network/CredentialStorage.h: Made the distinction between methods that use a known
47723         protection space and those that deduce one from URL more clear.
47724
47725         * platform/network/mac/ResourceHandleMac.mm:
47726         (WebCore::ResourceHandle::start): Update credentials before starting the request for real.
47727         This makes the following pattern work:
47728           var req = new XMLHttpRequest("GET", "logout.html", "logout", "logout"); // wrong credentials
47729           req.send("");
47730           req.abort();
47731         Abort() is used here to avoid having UA present an auth dialog after getting a 401 response.
47732         Note that one cannot log in using the same method, because there isn't a known protection
47733         space for the URL yet in that case, so the added code has no effect.
47734         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Use a correct persistence for
47735         calling receivedCredential(). This fixes logging in using an async XHR (withut abort(), of
47736         course), and matches sync case.
47737         (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]):
47738         Renamed getDefaultAuthenticationCredential() to get().
47739
47740         * platform/network/cf/ResourceHandleCFNet.cpp:
47741         (WebCore::ResourceHandle::start):
47742         (WebCore::WebCoreSynchronousLoader::load):
47743         Same changes as in Mac code.
47744
47745 2009-10-09  Enrica Casucci  <enrica@apple.com>
47746
47747         Reviewed by Adele Peterson.
47748
47749         Undoing a indent removes text instead of it's formatting.
47750         <rdar://problem/7169206>
47751         https://bugs.webkit.org/show_bug.cgi?id=28722
47752         Restored the behavior prior to http://trac.webkit.org/changeset/46143. This change implemented the
47753         indent command making simple DOM operation, without using moveParagraph which cause undo to be broken.
47754         
47755         Added editing/undo/undo-indent.html test.
47756
47757         * editing/IndentOutdentCommand.cpp:
47758         (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): Restored. 
47759         (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Merged changes.
47760         (WebCore::IndentOutdentCommand::indentIntoBlockquote): Restored.
47761         (WebCore::IndentOutdentCommand::indentRegion): Restored and added call to updateLayout to
47762         ensure TextIterator could correctly calculate the position starting from the index.
47763         * editing/IndentOutdentCommand.h: Restored.
47764
47765 2009-10-09  Jens Alfke  <snej@chromium.org>
47766
47767         Reviewed by Darin Adler.
47768         
47769         Optimization: Many StringImpl transformations are no-ops and should just return 'this'
47770         https://bugs.webkit.org/show_bug.cgi?id=30186
47771
47772         Optimized StringImpl methods lower(), stripWhiteSpace() and simplifyWhiteSpace() to
47773         detect no-ops and return this instead of creating a new instance.
47774         Empirical testing shows that the majority of calls to these methods are no-ops, making
47775         this worthwhile even if (in the case of lower()) the non-no-op case is slightly slowed.
47776         Upper() is very rarely a no-op, so it wasn't worthwhile to optimize it.
47777
47778         * platform/text/StringImpl.cpp:
47779         (WebCore::StringImpl::lower):
47780         (WebCore::StringImpl::upper): Just add a comment explaining why this wasn't optimized
47781         (WebCore::StringImpl::stripWhiteSpace):
47782         (WebCore::StringImpl::simplifyWhiteSpace):
47783
47784 2009-10-09  Dirk Schulze  <krit@webkit.org>
47785
47786         Reviewed by Oliver Hunt.
47787
47788         SVG Filter feGaussianBlur implementation is missing
47789         [https://bugs.webkit.org/show_bug.cgi?id=28141]
47790
47791         This is the implementation of GaussianBlur filter for SVG.
47792
47793         There is already a test for feGaussianBlur
47794         Test: svg/W3C-SVG-1.1/filters-gauss-01-b-w3c.svg 
47795
47796         Test: svg/filters/feGaussianBlur.svg
47797
47798         * platform/graphics/filters/FilterEffect.cpp:
47799         (WebCore::FilterEffect::FilterEffect):
47800         * platform/graphics/filters/FilterEffect.h:
47801         (WebCore::FilterEffect::isAlphaImage):
47802         (WebCore::FilterEffect::setIsAlphaImage):
47803         * platform/graphics/filters/SourceAlpha.cpp:
47804         (WebCore::SourceAlpha::apply):
47805         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
47806         (WebCore::boxBlur):
47807         (WebCore::FEGaussianBlur::apply):
47808
47809 2009-10-09  Philippe Normand  <pnormand@igalia.com>
47810
47811         Reviewed by Gustavo Noronha.
47812
47813         [GTK] QoS support in the video sink
47814         https://bugs.webkit.org/show_bug.cgi?id=29959
47815
47816         Removed the async buffer queue from the sink. Synchronize the
47817         render method of the sink using a g_timeout_add() combined with a
47818         gcond triggered when the buffer has been rendered.
47819         Also fixed the video sink reference handling in the player, now
47820         that the idle is not there anymore to mess up things.
47821
47822         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
47823         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
47824         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
47825         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
47826         (webkit_video_sink_init):
47827         (webkit_video_sink_timeout_func):
47828         (webkit_video_sink_render):
47829         (webkit_video_sink_dispose):
47830         (unlock_buffer_mutex):
47831         (webkit_video_sink_unlock):
47832         (webkit_video_sink_stop):
47833         (webkit_video_sink_class_init):
47834
47835 2009-10-09  Dirk Schulze  <krit@webkit.org>
47836
47837         Reviewed by Nikolas Zimmermann.
47838
47839         feMorphology filter is not implemented
47840         [https://bugs.webkit.org/show_bug.cgi?id=5863]
47841
47842         Adds SVGFEMorphologyElement, for the SVG filter. It also fixes a bug
47843         with the attribute "operator". It was only accessible via "_operator" 
47844         on JavaScript.
47845
47846         Test: svg/dom/operatorAttribute.xhtml
47847
47848         * DerivedSources.cpp:
47849         * DerivedSources.make:
47850         * GNUmakefile.am:
47851         * WebCore.SVG.Filters.exp:
47852         * WebCore.gypi:
47853         * WebCore.pro:
47854         * WebCore.xcodeproj/project.pbxproj:
47855         * bindings/objc/DOM.mm:
47856         (WebCore::createElementClassMap):
47857         * bindings/objc/DOMSVG.h:
47858         * bindings/scripts/CodeGeneratorJS.pm:
47859         * bindings/scripts/CodeGeneratorObjC.pm:
47860         * page/DOMWindow.idl:
47861         * svg/SVGAllInOne.cpp:
47862         * svg/SVGFECompositeElement.idl:
47863         * svg/SVGFEMorphologyElement.cpp: Added.
47864         (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
47865         (WebCore::SVGFEMorphologyElement::~SVGFEMorphologyElement):
47866         (WebCore::SVGFEMorphologyElement::setRadius):
47867         (WebCore::SVGFEMorphologyElement::parseMappedAttribute):
47868         (WebCore::SVGFEMorphologyElement::build):
47869         * svg/SVGFEMorphologyElement.h: Added.
47870         * svg/SVGFEMorphologyElement.idl: Added.
47871         * svg/graphics/filters/SVGFEMorphology.cpp:
47872         (WebCore::operator<<):
47873         * svg/graphics/filters/SVGFEMorphology.h:
47874         (WebCore::):
47875         * svg/svgtags.in:
47876
47877 2009-10-09  Yury Semikhatsky  <yurys@chromium.org>
47878
47879         Reviewed by Dimitri Glazkov.
47880
47881         Fix Chromium breakage.
47882
47883         https://bugs.webkit.org/show_bug.cgi?id=30104
47884
47885         * inspector/front-end/inspector.js:
47886         (WebInspector.addCookieDomain): check that Storage panel is present before calling its methods.
47887
47888 2009-10-09  Joe Ligman  <joseph.ligman@nokia.com>
47889
47890         Reviewed by Simon Hausmann.
47891
47892         [Qt] Added pure virtual methods setInputMethodEnabled and setInputMethodHint to QWebPageClient
47893
47894         https://bugs.webkit.org/show_bug.cgi?id=30023
47895
47896         * platform/qt/QWebPageClient.h:
47897
47898 2009-10-08  Dave Hyatt  <hyatt@apple.com>
47899
47900         Reviewed by Darin Adler.
47901
47902         Implement beforeload for images.  ImageLoadEventSender has been refactored into a more generic
47903         ImageEventSender that can be used by both load and beforeload events.  If the document has any
47904         beforeload listeners, then the installation of images onto the renderer becomes asynchronous
47905         and will be held up until the beforeload event can fire at a later date.
47906
47907         Both beforeload and load events now fire at the end of the tokenizer write() methods, so that
47908         in the typical parsing case we don't have to put off the beforeload/load events until after
47909         a layout or paint might already have happened.  This lets beforeload/load not cause extra
47910         layouts and repaints.
47911
47912         * dom/ContainerNode.cpp:
47913         (WebCore::ContainerNode::dispatchBeforeLoadEvent):
47914         * dom/Document.cpp:
47915         (WebCore::Document::implicitClose):
47916         (WebCore::Document::addListenerTypeIfNeeded):
47917         * dom/Document.h:
47918         (WebCore::Document::):
47919         * dom/XMLTokenizer.cpp:
47920         (WebCore::XMLTokenizer::write):
47921         * html/HTMLImageElement.cpp:
47922         (WebCore::HTMLImageElement::attach):
47923         * html/HTMLInputElement.cpp:
47924         (WebCore::HTMLInputElement::attach):
47925         * html/HTMLTokenizer.cpp:
47926         (WebCore::HTMLTokenizer::write):
47927         * loader/ImageLoader.cpp:
47928         (WebCore::ImageBeforeLoadEventSender::ImageBeforeLoadEventSender):
47929         (WebCore::ImageLoadEventSender::ImageLoadEventSender):
47930         (WebCore::beforeLoadEventSender):
47931         (WebCore::ImageLoader::ImageLoader):
47932         (WebCore::ImageLoader::~ImageLoader):
47933         (WebCore::ImageLoader::setImage):
47934         (WebCore::ImageLoader::setLoadingImage):
47935         (WebCore::ImageLoader::updateFromElement):
47936         (WebCore::ImageLoader::notifyFinished):
47937         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
47938         (WebCore::ImageLoader::dispatchPendingEvents):
47939         (WebCore::ImageEventSender::ImageEventSender):
47940         (WebCore::ImageEventSender::dispatchEventSoon):
47941         (WebCore::ImageEventSender::cancelEvent):
47942         (WebCore::ImageEventSender::dispatchPendingEvents):
47943         (WebCore::ImageEventSender::timerFired):
47944         * loader/ImageLoader.h:
47945         (WebCore::ImageLoader::haveFiredBeforeLoadEvent):
47946         * wml/WMLImageElement.cpp:
47947         (WebCore::WMLImageElement::attach):
47948
47949 2009-10-09  Pavel Feldman  <pfeldman@chromium.org>
47950
47951         Reviewed by Dimitri Glazkov.
47952
47953         Web Inspector: Wrap Database into ScriptObject in v8 bindings.
47954
47955         https://bugs.webkit.org/show_bug.cgi?id=30174
47956
47957         No tests due to no Script* test infrastructure.
47958
47959         * bindings/v8/ScriptObjectQuarantine.cpp:
47960         (WebCore::getQuarantinedScriptObject):
47961
47962 2009-10-09  Girish Ramakrishnan  <girish@forwardbias.in>
47963
47964         Reviewed by Simon Hausmann.
47965
47966         [Qt] Windowless Plugins : Fix crash when using QWebPage without QWebView.
47967         
47968         'client' is 0 when we have no view.
47969
47970         https://bugs.webkit.org/show_bug.cgi?id=30251
47971
47972         * plugins/qt/PluginViewQt.cpp:
47973         (WebCore::PluginView::paint):
47974
47975 2009-10-09  Girish Ramakrishnan  <girish@forwardbias.in>
47976
47977         Reviewed by Simon Hausmann.
47978
47979         [Qt] Plugins : Add missing setCurrentPlugin(0)
47980
47981         https://bugs.webkit.org/show_bug.cgi?id=30248
47982
47983         * plugins/qt/PluginViewQt.cpp:
47984         (WebCore::PluginView::dispatchNPEvent):
47985
47986 2009-10-09  Jakub Wieczorek  <faw217@gmail.com>
47987
47988         Reviewed by Simon Hausmann.
47989
47990         [Qt] beforeload event does not fire on script elements in XML
47991         https://bugs.webkit.org/show_bug.cgi?id=30235
47992
47993         r49194 was lacking a change to XMLTokenizerQt.cpp, equivalent to the one
47994         made in XMLTokenizerLibxml2.cpp.
47995
47996         * dom/XMLTokenizerQt.cpp:
47997         (WebCore::XMLTokenizer::parseEndElement):
47998
47999 2009-10-09  Zoltan Horvath  <zoltan@webkit.org>
48000
48001         Reviewed by Darin Adler.
48002
48003         Allow custom memory allocation control for WebCore's CSSParserValueList
48004         https://bugs.webkit.org/show_bug.cgi?id=30249
48005
48006         Inherits CSSParserValueList class from FastAllocBase because it has 
48007         been instantiated by 'new' in WebCore/css/CSSGrammar.y:1271.
48008
48009         * css/CSSParserValues.h:
48010
48011 2009-10-09  Girish Ramakrishnan  <girish@forwardbias.in>
48012
48013         Reviewed by Simon Hausmann.
48014
48015         [Qt] Windowless Plugins : Create Pixmap only when size changes.
48016
48017         https://bugs.webkit.org/show_bug.cgi?id=30214
48018
48019         * plugins/qt/PluginViewQt.cpp:
48020         (WebCore::PluginView::updatePluginWidget):
48021
48022 2009-10-08  Jon Honeycutt  <jhoneycutt@apple.com>
48023
48024         Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking
48025         for the existence of a PluginHalterDelegate.
48026
48027         This fixes a leak of WebPluginHalterClients:
48028         https://bugs.webkit.org/show_bug.cgi?id=30119.
48029
48030         Reviewed by Dan Bernstein.
48031
48032         * WebCore.base.exp:
48033         Removed the export of WebCore::Settings::setPluginHalterEnabled().
48034
48035         * loader/EmptyClients.h:
48036         (WebCore::EmptyPluginHalterClient::enabled):
48037
48038         * page/Page.cpp:
48039         (WebCore::Page::Page):
48040         Remove initialization of m_pluginHalterClient, which was removed. If a
48041         non-null PluginHalterClient was passed, create the PluginHalter, and
48042         set its allowed run time.
48043
48044         * page/Page.h:
48045         Removed pluginHalterEnabledStateChanged() and m_pluginHalterClient.
48046
48047         * page/PluginHalter.cpp:
48048         (WebCore::PluginHalter::didStartPlugin):
48049         Check whether the PluginHalterClient is enabled.
48050         (WebCore::PluginHalter::didStopPlugin):
48051         Ditto.
48052
48053         * page/PluginHalter.h:
48054         Made m_client an OwnPtr.
48055
48056         * page/PluginHalterClient.h:
48057         Added a function to return the enabled state.
48058
48059         * page/Settings.cpp:
48060         (WebCore::Settings::Settings):
48061         Remove initialization of removed member.
48062
48063         * page/Settings.h:
48064         Removed settings for the enabled state of the PluginHalter; we now use
48065         the existence of a WebPluginHalterDelegate to determine whether the
48066         PluginHalter is enabled.
48067
48068 2009-10-08  Adam Barth  <abarth@webkit.org>
48069
48070         Reviewed by Eric Seidel.
48071
48072         Move executeScript from FrameLoader to ScriptController
48073         https://bugs.webkit.org/show_bug.cgi?id=30200
48074
48075         These methods have virtually no interaction with FrameLoader.  They
48076         really seem like they ought to belong to ScriptController.
48077
48078         * WebCore.base.exp:
48079         * bindings/js/ScheduledAction.cpp:
48080         (WebCore::ScheduledAction::execute):
48081         * bindings/js/ScriptController.cpp:
48082         (WebCore::ScriptController::ScriptController):
48083         (WebCore::ScriptController::executeScript):
48084         (WebCore::ScriptController::executeIfJavaScriptURL):
48085         (WebCore::ScriptController::evaluate):
48086         * bindings/js/ScriptController.h:
48087         * bindings/v8/ScriptController.cpp:
48088         (WebCore::ScriptController::ScriptController):
48089         (WebCore::ScriptController::executeScript):
48090         (WebCore::ScriptController::executeIfJavaScriptURL):
48091         * bindings/v8/ScriptController.h:
48092         * dom/XMLTokenizer.cpp:
48093         (WebCore::XMLTokenizer::notifyFinished):
48094         * dom/XMLTokenizerLibxml2.cpp:
48095         (WebCore::XMLTokenizer::endElementNs):
48096         * dom/XMLTokenizerQt.cpp:
48097         (WebCore::XMLTokenizer::parseEndElement):
48098         * html/HTMLTokenizer.cpp:
48099         (WebCore::HTMLTokenizer::scriptExecution):
48100         * loader/FrameLoader.cpp:
48101         (WebCore::FrameLoader::changeLocation):
48102         (WebCore::FrameLoader::urlSelected):
48103         (WebCore::FrameLoader::requestFrame):
48104         (WebCore::FrameLoader::submitForm):
48105         (WebCore::FrameLoader::replaceDocument):
48106         * loader/FrameLoader.h:
48107         * plugins/PluginView.cpp:
48108         (WebCore::PluginView::performRequest):
48109
48110 2009-10-08  Geoffrey Garen  <ggaren@apple.com>
48111
48112         Windows build fix: added missing #include.
48113
48114         * ForwardingHeaders/runtime/StructureChain.h: Copied from WebCore/ForwardingHeaders/runtime/PropertyNameArray.h.
48115
48116 2009-10-08  Brian Weinstein  <bweinstein@apple.com>
48117
48118         Reviewed by Timothy Hatcher.
48119
48120         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30237>.
48121         DOM Content and Load lines aren't shown if a page is loaded when the inspector is up.
48122         
48123         Make sure to call update script object if we have an InspectorFrontend to
48124         call it on when we get one of the new events.
48125
48126         * inspector/InspectorController.cpp:
48127         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
48128         (WebCore::InspectorController::mainResourceFiredLoadEvent):
48129
48130 2009-10-08  Geoffrey Garen  <ggaren@apple.com>
48131
48132         Build fix: updated for removal of Structure::markAggregate().
48133
48134         * bindings/js/JSDOMGlobalObject.cpp:
48135         (WebCore::JSDOMGlobalObject::markChildren):
48136
48137 2009-10-08  Jens Alfke  <snej@chromium.org>
48138
48139         Reviewed by Darin Adler.
48140
48141         Make AtomicString create its StringImpl via create(), not the constructor,
48142         so it gets allocated in a single heap block, saving memory and CPU cycles.
48143         This eliminates two StringImpl constructors, making the remaining ones
48144         unambiguous, so the "AdoptBuffer" parameter is no longer needed.
48145         Added const attribute to UChar* in StringImpl constructor, eliminating the
48146         need for several const_casts in calls to it.
48147         StringImpl also unfriends AtomicString (OMG drama!!!)
48148         https://bugs.webkit.org/show_bug.cgi?id=30141
48149
48150         * platform/text/AtomicString.cpp:
48151         (WebCore::CStringTranslator::translate): Call StringImpl::create().
48152         (WebCore::UCharBufferTranslator::translate): Ditto.
48153         (WebCore::HashAndCharactersTranslator::translate): Ditto.
48154         * platform/text/StringImpl.cpp:
48155         (WebCore::StringImpl::StringImpl): Remove unnecessary AdoptBuffer param.
48156         (WebCore::StringImpl::adopt): Ditto.
48157         (WebCore::StringImpl::createUninitialized): Ditto.
48158         (WebCore::StringImpl::create): Ditto.
48159         (WebCore::StringImpl::crossThreadString): Ditto.
48160         * platform/text/StringImpl.h:
48161         (WebCore::StringImpl::setHash): Used by AtomicString when creating StringImpls.
48162
48163 2009-10-08  Anders Carlsson  <andersca@apple.com>
48164
48165         Reviewed by Sam Weinig.
48166
48167         Remove the shouldLoadMediaElementURL frame loader client function.
48168
48169         * loader/FrameLoader.cpp:
48170         (WebCore::FrameLoader::willLoadMediaElementURL):
48171
48172 2009-10-08  John Gregg  <johnnyg@google.com>
48173
48174         Reviewed by Dimitri Glazkov.
48175
48176         SVGURIReference Build problem for V8.  An additional stale reference to SVGURIReference bindings
48177         which wasn't exposed until a clean build.
48178         https://bugs.webkit.org/show_bug.cgi?id=30217
48179
48180         No new tests, just a build fix.
48181
48182         * bindings/v8/V8Index.cpp:
48183
48184 2009-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
48185
48186         Not reviewed. Sort XCode project file.
48187
48188         * WebCore.xcodeproj/project.pbxproj:
48189
48190 2009-10-08  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
48191
48192         Reviewed by Timothy Hatcher.
48193
48194         unselectable resources in resource panel
48195         https://bugs.webkit.org/show_bug.cgi?id=30079
48196
48197         manual test added
48198         
48199         Also changed the way DnD for resources in the Resources panel is 
48200         handled.
48201
48202         * inspector/front-end/ResourcesPanel.js:
48203         (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
48204         (WebInspector.ResourceSidebarTreeElement.prototype.ondragstart):
48205         * manual-tests/inspector/duplicate-resource-urls.html: Added.
48206
48207 2009-10-08  Brian Weinstein  <bweinstein@apple.com>
48208
48209         Reviewed by Timothy Hatcher.
48210
48211         Fixes <http://webkit.org/b/30233>
48212         Local Storage and Cookies show Blank Titles on Local Files.
48213
48214         If a local storage or cookies sidebar item has no domain, set the 
48215         title to "Local Files", because that is what it represents.
48216
48217         * English.lproj/localizedStrings.js:
48218         * inspector/front-end/StoragePanel.js:
48219         (WebInspector.DOMStorageSidebarTreeElement.prototype.get mainTitle):
48220         (WebInspector.CookieSidebarTreeElement.prototype.get mainTitle):
48221         (WebInspector.CookieSidebarTreeElement.prototype.set mainTitle):
48222
48223 2009-10-08  Dave Hyatt  <hyatt@apple.com>
48224
48225         Reviewed by Oliver Hunt.
48226
48227         Fix failing media layout tests.  Don't make beforeload block loads of objects that aren't in the
48228         document, since video/audio (and images eventually too) can load when not in the document yet.
48229
48230         * dom/ContainerNode.cpp:
48231         (WebCore::ContainerNode::dispatchBeforeLoadEvent):
48232
48233 2009-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
48234
48235         Reviewed by Eric Seidel.
48236
48237         Move SVGFitToViewBox ANIMATED_* macros in classes that inherit from it
48238         https://bugs.webkit.org/show_bug.cgi?id=30230
48239
48240         This patch also devirtualizes viewBoxToViewTransform(), is it's superflous.
48241         viewBoxToViewTransform() is now a simple static heper function in SVGFitToViewBox.
48242         As a result, the SVGSVGElement::viewBoxToViewTransform() function now resuses the same logic.
48243
48244         As side-effect this patch fixes svg/custom/linking-a-03-b-transform.svg, the return
48245         statement in SVGSVGElement::viewBoxToViewTransform() was clearly wrong.
48246
48247         * svg/SVGFitToViewBox.cpp:
48248         (WebCore::SVGFitToViewBox::SVGFitToViewBox):
48249         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
48250         * svg/SVGFitToViewBox.h:
48251         * svg/SVGMarkerElement.cpp:
48252         (WebCore::SVGMarkerElement::SVGMarkerElement):
48253         (WebCore::SVGMarkerElement::viewBoxToViewTransform):
48254         * svg/SVGMarkerElement.h:
48255         * svg/SVGPatternElement.cpp:
48256         (WebCore::SVGPatternElement::SVGPatternElement):
48257         (WebCore::SVGPatternElement::buildPattern):
48258         * svg/SVGPatternElement.h:
48259         * svg/SVGSVGElement.cpp:
48260         (WebCore::SVGSVGElement::SVGSVGElement):
48261         (WebCore::SVGSVGElement::viewBoxToViewTransform):
48262         * svg/SVGSVGElement.h:
48263         * svg/SVGSymbolElement.cpp:
48264         (WebCore::SVGSymbolElement::SVGSymbolElement):
48265         * svg/SVGSymbolElement.h:
48266         * svg/SVGViewElement.cpp:
48267         (WebCore::SVGViewElement::SVGViewElement):
48268         * svg/SVGViewElement.h:
48269         * svg/SVGViewSpec.cpp:
48270         (WebCore::SVGViewSpec::SVGViewSpec):
48271         * svg/SVGViewSpec.h:
48272
48273 2009-10-08  Brian Weinstein  <bweinstein@apple.com>
48274
48275         Reviewed by Jon Honeycutt.
48276
48277         Correct a typo that fixes the resizing of columns in Cookie view when you
48278         resize the Inspector window.
48279
48280         * inspector/front-end/CookieItemsView.js:
48281         (WebInspector.CookieItemsView.prototype.resize):
48282
48283 2009-10-08  Brian Weinstein  <bweinstein@apple.com>
48284
48285         Reviewed by Adam Roben.
48286
48287         Fixes <https://bugs.webkit.org/show_bug.cgi?id=29811>
48288         Text in Inspector's Styles gear menu is invisible.
48289         
48290         Adds a style rule for the option text and hr's in the gear menu,
48291         to prevent them from being transparent.
48292
48293         * inspector/front-end/inspector.css:
48294
48295 2009-10-08  John Gregg  <johnnyg@google.com>
48296
48297         Reviewed by David Levin.
48298
48299         Fix build problem with SVGURIReference in V8.
48300         https://bugs.webkit.org/show_bug.cgi?id=30217
48301
48302         No new tests, just a build fix.
48303
48304         * WebCore.gypi:
48305         * bindings/v8/DerivedSourcesAllInOne.cpp:
48306
48307 2009-10-07  Dave Hyatt  <hyatt@apple.com>
48308
48309         Reviewed by Eric Carlson.
48310
48311         Make beforeload work on <video>/<audio> elements.
48312
48313         Added fast/dom/beforeload/video-before-load.html
48314
48315         * html/HTMLMediaElement.cpp:
48316         (WebCore::HTMLMediaElement::parseMappedAttribute):
48317         (WebCore::HTMLMediaElement::selectMediaResource):
48318         (WebCore::HTMLMediaElement::selectNextSourceChild):
48319
48320 2009-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
48321
48322         Reviewed by Eric Seidel.
48323
48324         Move SVGExternalResourcesRequired ANIMATED_* macros in classes that inherit from it
48325         https://bugs.webkit.org/show_bug.cgi?id=30218
48326
48327         The long term goal is to kill the need for the virtual contextElement() function in SVG code. 
48328         No change in functionality, thus no new tests.
48329
48330         * svg/SVGAElement.cpp:
48331         (WebCore::SVGAElement::SVGAElement):
48332         * svg/SVGAElement.h:
48333         * svg/SVGAnimationElement.cpp:
48334         (WebCore::SVGAnimationElement::SVGAnimationElement):
48335         * svg/SVGAnimationElement.h:
48336         * svg/SVGCircleElement.cpp:
48337         (WebCore::SVGCircleElement::SVGCircleElement):
48338         * svg/SVGCircleElement.h:
48339         * svg/SVGClipPathElement.cpp:
48340         (WebCore::SVGClipPathElement::SVGClipPathElement):
48341         * svg/SVGClipPathElement.h:
48342         * svg/SVGCursorElement.cpp:
48343         (WebCore::SVGCursorElement::SVGCursorElement):
48344         * svg/SVGCursorElement.h:
48345         * svg/SVGDefsElement.cpp:
48346         (WebCore::SVGDefsElement::SVGDefsElement):
48347         * svg/SVGDefsElement.h:
48348         * svg/SVGEllipseElement.cpp:
48349         (WebCore::SVGEllipseElement::SVGEllipseElement):
48350         * svg/SVGEllipseElement.h:
48351         * svg/SVGExternalResourcesRequired.cpp:
48352         (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
48353         * svg/SVGExternalResourcesRequired.h:
48354         * svg/SVGFEImageElement.cpp:
48355         (WebCore::SVGFEImageElement::SVGFEImageElement):
48356         * svg/SVGFEImageElement.h:
48357         * svg/SVGFilterElement.cpp:
48358         (WebCore::SVGFilterElement::SVGFilterElement):
48359         * svg/SVGFilterElement.h:
48360         * svg/SVGFontElement.cpp:
48361         (WebCore::SVGFontElement::SVGFontElement):
48362         * svg/SVGFontElement.h:
48363         * svg/SVGForeignObjectElement.cpp:
48364         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
48365         * svg/SVGForeignObjectElement.h:
48366         * svg/SVGGElement.cpp:
48367         (WebCore::SVGGElement::SVGGElement):
48368         * svg/SVGGElement.h:
48369         * svg/SVGGradientElement.cpp:
48370         (WebCore::SVGGradientElement::SVGGradientElement):
48371         * svg/SVGGradientElement.h:
48372         * svg/SVGImageElement.cpp:
48373         (WebCore::SVGImageElement::SVGImageElement):
48374         * svg/SVGImageElement.h:
48375         * svg/SVGLineElement.cpp:
48376         (WebCore::SVGLineElement::SVGLineElement):
48377         * svg/SVGLineElement.h:
48378         * svg/SVGMPathElement.cpp:
48379         (WebCore::SVGMPathElement::SVGMPathElement):
48380         * svg/SVGMPathElement.h:
48381         * svg/SVGMarkerElement.cpp:
48382         (WebCore::SVGMarkerElement::SVGMarkerElement):
48383         * svg/SVGMarkerElement.h:
48384         * svg/SVGMaskElement.cpp:
48385         (WebCore::SVGMaskElement::SVGMaskElement):
48386         * svg/SVGMaskElement.h:
48387         * svg/SVGPathElement.cpp:
48388         (WebCore::SVGPathElement::SVGPathElement):
48389         * svg/SVGPathElement.h:
48390         * svg/SVGPatternElement.cpp:
48391         (WebCore::SVGPatternElement::SVGPatternElement):
48392         * svg/SVGPatternElement.h:
48393         * svg/SVGPolyElement.cpp:
48394         (WebCore::SVGPolyElement::SVGPolyElement):
48395         * svg/SVGPolyElement.h:
48396         * svg/SVGRectElement.cpp:
48397         (WebCore::SVGRectElement::SVGRectElement):
48398         * svg/SVGRectElement.h:
48399         * svg/SVGSVGElement.cpp:
48400         (WebCore::SVGSVGElement::SVGSVGElement):
48401         * svg/SVGSVGElement.h:
48402         * svg/SVGScriptElement.cpp:
48403         (WebCore::SVGScriptElement::SVGScriptElement):
48404         * svg/SVGScriptElement.h:
48405         * svg/SVGSwitchElement.cpp:
48406         (WebCore::SVGSwitchElement::SVGSwitchElement):
48407         * svg/SVGSwitchElement.h:
48408         * svg/SVGSymbolElement.cpp:
48409         (WebCore::SVGSymbolElement::SVGSymbolElement):
48410         * svg/SVGSymbolElement.h:
48411         * svg/SVGTextContentElement.cpp:
48412         (WebCore::SVGTextContentElement::SVGTextContentElement):
48413         * svg/SVGTextContentElement.h:
48414         * svg/SVGUseElement.cpp:
48415         (WebCore::SVGUseElement::SVGUseElement):
48416         * svg/SVGUseElement.h:
48417         * svg/SVGViewElement.cpp:
48418         (WebCore::SVGViewElement::SVGViewElement):
48419         * svg/SVGViewElement.h:
48420
48421 2009-10-08  Dirk Schulze  <krit@webkit.org>
48422
48423         Reviewed by Darin Adler.
48424
48425         SVG feComposite: operator over mixes up inputs
48426         [https://bugs.webkit.org/show_bug.cgi?id=30205]
48427
48428         SVG feComposite operator over mixed up the inputs.
48429         The pixel-test svg/filters/feComposite.svg can already test this.
48430         No new test result is needed as long as filters are disabled.
48431
48432         * platform/graphics/filters/FEComposite.cpp:
48433         (WebCore::FEComposite::apply):
48434
48435 2009-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
48436
48437         Reviewed by George Staikos.
48438
48439         Move SVGURIReference ANIMATED_* macros in classes that inherit from it
48440         https://bugs.webkit.org/show_bug.cgi?id=30184
48441
48442         The long term goal is to kill the need for the virtual contextElement() function in SVG code. 
48443         No change in functionality, thus no new tests.
48444
48445         * svg/SVGAElement.cpp:
48446         (WebCore::SVGAElement::SVGAElement):
48447         * svg/SVGAElement.h:
48448         * svg/SVGAltGlyphElement.cpp:
48449         (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
48450         * svg/SVGAltGlyphElement.h:
48451         * svg/SVGCursorElement.cpp:
48452         (WebCore::SVGCursorElement::SVGCursorElement):
48453         * svg/SVGCursorElement.h:
48454         * svg/SVGFEImageElement.cpp:
48455         (WebCore::SVGFEImageElement::SVGFEImageElement):
48456         * svg/SVGFEImageElement.h:
48457         * svg/SVGFilterElement.cpp:
48458         (WebCore::SVGFilterElement::SVGFilterElement):
48459         * svg/SVGFilterElement.h:
48460         * svg/SVGForeignObjectElement.cpp:
48461         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
48462         * svg/SVGForeignObjectElement.h:
48463         * svg/SVGGradientElement.cpp:
48464         (WebCore::SVGGradientElement::SVGGradientElement):
48465         * svg/SVGGradientElement.h:
48466         * svg/SVGImageElement.cpp:
48467         (WebCore::SVGImageElement::SVGImageElement):
48468         * svg/SVGImageElement.h:
48469         * svg/SVGMPathElement.cpp:
48470         (WebCore::SVGMPathElement::SVGMPathElement):
48471         (WebCore::SVGMPathElement::pathElement):
48472         * svg/SVGMPathElement.h:
48473         * svg/SVGMaskElement.cpp:
48474         (WebCore::SVGMaskElement::SVGMaskElement):
48475         * svg/SVGMaskElement.h:
48476         * svg/SVGPatternElement.cpp:
48477         (WebCore::SVGPatternElement::SVGPatternElement):
48478         * svg/SVGPatternElement.h:
48479         * svg/SVGScriptElement.cpp:
48480         (WebCore::SVGScriptElement::SVGScriptElement):
48481         * svg/SVGScriptElement.h:
48482         * svg/SVGTRefElement.cpp:
48483         (WebCore::SVGTRefElement::SVGTRefElement):
48484         * svg/SVGTRefElement.h:
48485         * svg/SVGTextPathElement.cpp:
48486         (WebCore::SVGTextPathElement::SVGTextPathElement):
48487         * svg/SVGTextPathElement.h:
48488         * svg/SVGURIReference.cpp:
48489         (WebCore::SVGURIReference::SVGURIReference):
48490         * svg/SVGURIReference.h:
48491         * svg/SVGUseElement.cpp:
48492         (WebCore::SVGUseElement::SVGUseElement):
48493         * svg/SVGUseElement.h:
48494
48495 2009-10-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
48496
48497         Reviewed by Simon Hausmann.
48498
48499         [Qt] Re-add the QApplication::syncX() line for plugin windows removed
48500         by r49169. Also changed the location of the sync just after the
48501         creation instead of just before sending it to the plugin.
48502         https://bugs.webkit.org/show_bug.cgi?id=25053
48503
48504         * plugins/qt/PluginViewQt.cpp:
48505         (WebCore::PluginView::platformStart):
48506
48507 2009-10-08  Joseph Pecoraro  <joepeck@webkit.org>
48508
48509         Reviewed by Timothy Hatcher.
48510
48511         Inspector: NodeLists Don't Display Well in the Console
48512         https://bugs.webkit.org/show_bug.cgi?id=28061
48513
48514         * inspector/front-end/InjectedScript.js:
48515         (Object.type):
48516
48517 2009-10-08  Girish Ramakrishnan  <girish@forwardbias.in>
48518
48519         Reviewed by Simon Hausmann.
48520
48521         [Qt] Windowless plugins: Remove unnecessary XSync for opaque mode.
48522         
48523         The reason for the XSync was that the plugin would not know about the
48524         Drawable. It turns out that the real reason behind this is that even
48525         though XCreatePixmap returns a handle, this id is unknown to the server
48526         until we flush the connection.
48527         
48528         So, move the XSync to right after we create the Pixmap.
48529
48530         https://bugs.webkit.org/show_bug.cgi?id=30207
48531
48532         * plugins/qt/PluginViewQt.cpp:
48533         (WebCore::PluginView::updatePluginWidget):
48534         (WebCore::PluginView::paint):
48535
48536 2009-10-07  Daniel Bates  <dbates@webkit.org>
48537
48538         Reviewed by Eric Seidel.
48539
48540         https://bugs.webkit.org/show_bug.cgi?id=30188
48541         
48542         Fixes an issue where performing a non DHTML drag-and-drop operation 
48543         does not work as expected. For instance, dragging some selected text 
48544         to an external application, such as TextEdit.
48545         
48546         This issue was a regression that arose from patching bug #30107.
48547         
48548         This change is covered by the manual test: 
48549         drag-out-of-background-window.html
48550
48551         * page/DragController.cpp:
48552         (WebCore::DragController::startDrag): When performing a non-DHTML drag 
48553         operation then default to drag operations DragOperationGeneric and 
48554         DragOperationCopy according to similar functionality removed when fixing
48555         bug #30107, see: 
48556         http://trac.webkit.org/browser/trunk/WebKit/mac/WebView/WebHTMLView.mm?rev=48526#L3430 
48557
48558 2009-10-07  Xan Lopez  <xlopez@igalia.com>
48559
48560         Fix more breakage in the GTKbuild.
48561
48562         * GNUmakefile.am:
48563
48564 2009-10-07  Adam Barth  <abarth@webkit.org>
48565
48566         Reviewed by Eric Seidel.
48567
48568         Move PolicyChecker to it's own file
48569         https://bugs.webkit.org/show_bug.cgi?id=30193
48570
48571         This is just moving code around and re-naming things.
48572
48573         * GNUmakefile.am:
48574         * WebCore.gypi:
48575         * WebCore.pro:
48576         * WebCore.vcproj/WebCore.vcproj:
48577         * WebCore.xcodeproj/project.pbxproj:
48578         * loader/FrameLoader.cpp:
48579         * loader/FrameLoader.h:
48580         * loader/PolicyCallback.cpp: Added.
48581         (WebCore::PolicyCallback::PolicyCallback):
48582         (WebCore::PolicyCallback::~PolicyCallback):
48583         (WebCore::PolicyCallback::clear):
48584         (WebCore::PolicyCallback::set):
48585         (WebCore::PolicyCallback::call):
48586         (WebCore::PolicyCallback::clearRequest):
48587         (WebCore::PolicyCallback::cancel):
48588         * loader/PolicyCallback.h: Added.
48589         (WebCore::PolicyCallback::request):
48590         * loader/PolicyCheck.cpp: Removed.
48591         * loader/PolicyCheck.h: Removed.
48592
48593 2009-10-07  Joel Stanley  <joel@jms.id.au>
48594
48595         Reviewed by Mark Rowe.
48596
48597         Include <limits> for std::numeric_limits.  Required by gcc-4.4
48598         https://bugs.webkit.org/show_bug.cgi?id=30197
48599
48600         * html/canvas/CanvasByteArray.h:
48601         * html/canvas/CanvasIntArray.h:
48602         * html/canvas/CanvasShortArray.h:
48603         * html/canvas/CanvasUnsignedByteArray.h:
48604         * html/canvas/CanvasUnsignedIntArray.h:
48605         * html/canvas/CanvasUnsignedShortArray.h:
48606
48607 2009-10-07  Adam Barth  <abarth@webkit.org>
48608
48609         Reviewed by Darin Adler.
48610
48611         Factor PolicyChecker out of FrameLoader
48612         https://bugs.webkit.org/show_bug.cgi?id=30155
48613
48614         This patch separates PolicyChecker from FrameLoader.  Loader policy is
48615         in change of managing the FrameLoaderClient callbacks.  Ideally, it
48616         shouldn't know anything about FrameLoader, but I couldn't quite remove
48617         all knowledge (although we might be able to do more later).  In a
48618         future patch, I'll move PolicyChecker into a separate file.
48619
48620         * loader/FrameLoader.cpp:
48621         (WebCore::FrameLoader::FrameLoader):
48622         (WebCore::FrameLoader::loadURL):
48623         (WebCore::FrameLoader::load):
48624         (WebCore::FrameLoader::loadWithDocumentLoader):
48625         (WebCore::PolicyChecker::handleUnimplementablePolicy):
48626         (WebCore::PolicyChecker::cannotShowMIMEType):
48627         (WebCore::PolicyChecker::PolicyChecker):
48628         (WebCore::PolicyChecker::checkNavigationPolicy):
48629         (WebCore::PolicyChecker::checkContentPolicy):
48630         (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
48631         (WebCore::FrameLoader::stopAllLoaders):
48632         (WebCore::PolicyChecker::cancelCheck):
48633         (WebCore::PolicyChecker::stopCheck):
48634         (WebCore::PolicyChecker::continueAfterContentPolicy):
48635         (WebCore::PolicyChecker::continueLoadAfterWillSubmitForm):
48636         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
48637         (WebCore::FrameLoader::loadPostRequest):
48638         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
48639         (WebCore::PolicyChecker::checkNewWindowPolicy):
48640         (WebCore::PolicyChecker::continueAfterNewWindowPolicy):
48641         (WebCore::PolicyChecker::continueAfterNavigationPolicy):
48642         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
48643         * loader/FrameLoader.h:
48644         (WebCore::PolicyChecker::loadType):
48645         (WebCore::PolicyChecker::setLoadType):
48646         (WebCore::PolicyChecker::delegateIsDecidingNavigationPolicy):
48647         (WebCore::PolicyChecker::delegateIsHandlingUnimplementablePolicy):
48648         (WebCore::FrameLoader::policy):
48649         * loader/FrameLoaderClient.h:
48650         * loader/MainResourceLoader.cpp:
48651         (WebCore::MainResourceLoader::didCancel):
48652         (WebCore::MainResourceLoader::willSendRequest):
48653         (WebCore::MainResourceLoader::continueAfterContentPolicy):
48654         (WebCore::MainResourceLoader::didReceiveResponse):
48655         * svg/graphics/SVGImage.cpp:
48656         (WebCore::SVGImage::dataChanged):
48657
48658 2009-10-07  Geoffrey Garen  <ggaren@apple.com>
48659
48660         Reviewed by Oliver Hunt.
48661
48662         Fixed <rdar://problem/5751979> Database code takes JSLock on secondary
48663         thread, permanently slowing down JavaScript
48664
48665         Changed callback objects to use a standard helper object. The helper
48666         object ASSERTs that it is deleted on the main thread, so no lock is
48667         required when unprotecting its members. It also centralizes some previously
48668         duplicated code.
48669         
48670         Callback objects that might be deleted on a secondary thread use
48671         callOnMainThread to delete their helper objects on the main thread.
48672
48673         * WebCore.xcodeproj/project.pbxproj:
48674         * bindings/js/JSCallbackData.cpp: Copied from bindings/js/JSCustomSQLTransactionCallback.cpp.
48675         (WebCore::JSCallbackData::deleteData):
48676         (WebCore::JSCallbackData::invokeCallback):
48677         * bindings/js/JSCallbackData.h: Copied from bindings/js/JSCustomSQLTransactionCallback.cpp.
48678         (WebCore::JSCallbackData::JSCallbackData):
48679         (WebCore::JSCallbackData::~JSCallbackData):
48680         (WebCore::JSCallbackData::callback):
48681         * bindings/js/JSCustomPositionCallback.cpp:
48682         (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
48683         (WebCore::JSCustomPositionCallback::handleEvent):
48684         * bindings/js/JSCustomPositionCallback.h:
48685         * bindings/js/JSCustomPositionErrorCallback.cpp:
48686         (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
48687         (WebCore::JSCustomPositionErrorCallback::handleEvent):
48688         * bindings/js/JSCustomPositionErrorCallback.h:
48689         * bindings/js/JSCustomSQLStatementCallback.cpp:
48690         (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
48691         (WebCore::JSCustomSQLStatementCallback::~JSCustomSQLStatementCallback):
48692         (WebCore::JSCustomSQLStatementCallback::handleEvent):
48693         * bindings/js/JSCustomSQLStatementCallback.h:
48694         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
48695         (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
48696         (WebCore::JSCustomSQLStatementErrorCallback::~JSCustomSQLStatementErrorCallback):
48697         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
48698         * bindings/js/JSCustomSQLStatementErrorCallback.h:
48699         * bindings/js/JSCustomSQLTransactionCallback.cpp:
48700         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
48701         (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
48702         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
48703         * bindings/js/JSCustomSQLTransactionCallback.h:
48704         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
48705         (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
48706         (WebCore::JSCustomSQLTransactionErrorCallback::~JSCustomSQLTransactionErrorCallback):
48707         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
48708         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
48709         * bindings/js/JSCustomVoidCallback.cpp:
48710         (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
48711         (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback):
48712         (WebCore::JSCustomVoidCallback::handleEvent):
48713         * bindings/js/JSCustomVoidCallback.h:
48714         * storage/Database.cpp:
48715         (WebCore::Database::Database):
48716
48717 2009-10-07  Jens Alfke  <snej@chromium.org>
48718
48719         Reviewed by Dave Levin.
48720
48721         Fix StringImpl::m_buffer
48722         https://bugs.webkit.org/show_bug.cgi?id=30189
48723
48724         Fix my previous StringImpl patch to avoid using an indefinite-length array member,
48725         since MSVC doesn't like it. Instead, go back to offsetting by sizeof(StringImpl).
48726
48727         * platform/text/StringImpl.cpp:
48728         (WebCore::StringImpl::StringImpl):
48729         (WebCore::StringImpl::createUninitialized):
48730         * platform/text/StringImpl.h:
48731         (WebCore::StringImpl::bufferIsInternal):
48732
48733 2009-10-07  Aaron Boodman  <aa@chromium.org>
48734
48735         Reviewed by Adam Barth.
48736
48737         Update isolated worlds under v8 to support world reuse.
48738         https://bugs.webkit.org/show_bug.cgi?id=30145
48739
48740         * bindings/v8/ScriptController.cpp:
48741         Replace evaluateInNewIsolatedWorld() withe evaluateInIsolatedWorld(id).
48742         (WebCore::ScriptController::evaluateInIsolatedWorld):
48743         * bindings/v8/ScriptController.h: Ditto.
48744         * bindings/v8/V8Proxy.cpp: Ditto.
48745         (WebCore::V8Proxy::~V8Proxy): Dittio.
48746         (WebCore::V8Proxy::evaluateInIsolatedWorld): Ditto.
48747         * bindings/v8/V8Proxy.h: Ditto.
48748         * bindings/v8/V8IsolatedWorld.cpp:
48749         Add support for controlling lifetime of a world, rather than relying on GC.
48750         (WebCore::V8IsolatedWorld::contextWeakReferenceCallback): Ditto.
48751         (WebCore::V8IsolatedWorld::V8IsolatedWorld): Ditto.
48752         (WebCore::V8IsolatedWorld::destroy): Ditto.
48753         * bindings/v8/V8IsolatedWorld.h: Ditto.
48754
48755 2009-10-07  Jeremy Orlow  <jorlow@chromium.org>
48756
48757         Build fix for http://trac.webkit.org/changeset/49272 on Windows
48758
48759         * platform/text/StringImpl.h:
48760
48761 2009-10-07  Jens Alfke  <snej@chromium.org>
48762
48763         Reviewed by Darin Adler.
48764
48765         Optimization of StringImpl:
48766         - Remove unnecessary m_bufferIsInternal member (saves 4 bytes). Instead, check whether
48767           m_data points to just past the end of the object's members.
48768         - copy() and createWithTerminatingNullCharacter() create the string in a single malloc
48769           block instead of 2 (saves ~20 bytes and considerable CPU cycles, increases locality).
48770         - Move m_length next to m_hash to save 4 bytes of padding in 64-bit builds.
48771           
48772         https://bugs.webkit.org/show_bug.cgi?id=29500
48773
48774         * platform/text/StringImpl.cpp:
48775         (WebCore::StringImpl::StringImpl): Re-ordered members.
48776         (WebCore::StringImpl::~StringImpl): Change to is-buffer-internal check.
48777         (WebCore::StringImpl::createUninitialized): Use new m_buffer member instead of sizeof()
48778             to ensure chars are copied to correct location.
48779         (WebCore::StringImpl::createWithTerminatingNullCharacter): Make sure copy is created
48780             in a single malloc block.
48781         (WebCore::StringImpl::threadsafeCopy): Make sure copy is created in a single malloc block.
48782         (WebCore::StringImpl::crossThreadString): Make sure copy is created in a single malloc block.
48783         (WebCore::StringImpl::sharedBuffer): Change to is-buffer-internal check.
48784         * platform/text/StringImpl.h:
48785         (WebCore::StringImpl::startsWith): Just fixed a confusing param name.
48786         (WebCore::StringImpl::bufferIsInternal): Changed member var into accessor method.
48787         (WebCore::StringImpl::m_data): Repositioned for optimal member packing in 64-bit.
48788         (WebCore::StringImpl::m_buffer): Added to provide an explicit location for where internal buffer goes.
48789
48790 2009-10-07  Daniel Bates  <dbates@webkit.org>
48791
48792         Reviewed by Darin Adler.
48793
48794         https://bugs.webkit.org/show_bug.cgi?id=30102
48795         And
48796         <rdar://problem/5015957>
48797         
48798         Manual test to confirm that the not-allowed cursor is shown for an
48799         invalid drag-and-drop operation.
48800         
48801         We cannot test this using DRT because of a discrepancy between the Windows
48802         API-based drop effect and the WebKit drop effect. See bug #24731 for more
48803         details.
48804
48805         * manual-tests/drag-cursor-notallowed.html: Added.
48806
48807 2009-10-07  Mark Rowe  <mrowe@apple.com>
48808
48809         Fix the build.
48810
48811         * WebCore.xcodeproj/project.pbxproj:
48812
48813 2009-10-07  Brian Weinstein  <bweinstein@apple.com>
48814
48815         Reviewed by Timothy Hatcher.
48816
48817         Fixes <http://webkit.org/b/30104>.
48818         Inspector should show cookies of sub-resources on the page.
48819         
48820         This function implements showing cookies for all sub-resources of a page.
48821         When the page is loaded, it populates the Storage Panel with a list of all
48822         domains that were loaded as part of the full page load (iframes, ads, etc).
48823         When the user selects one of the domains, the inspector calls back into the
48824         controller, and the controller combines all of the cookies from that domain
48825         into a list, and sends that list is sent back to the controller to render.
48826         
48827         A domain now needs to be passed into CookieItemsView, and CookieSidebarTreeElement.
48828         
48829         As a result of a previous patch, we now have detailed cookie information for
48830         both Windows on CFNetwork and Mac. Additionally, this patch provides deleteCookie
48831         support on Windows.
48832
48833         * bindings/js/ScriptObject.cpp:
48834         (WebCore::ScriptObject::set):
48835         * bindings/js/ScriptObject.h:
48836         * inspector/InspectorBackend.cpp:
48837         (WebCore::InspectorBackend::getCookies):
48838         (WebCore::InspectorBackend::deleteCookie):
48839         * inspector/InspectorBackend.h:
48840         * inspector/InspectorBackend.idl:
48841         * inspector/InspectorController.cpp:
48842         (WebCore::InspectorController::populateScriptObjects):
48843         (WebCore::InspectorController::didFinishLoading):
48844         (WebCore::InspectorController::getCookies):
48845         (WebCore::InspectorController::buildArrayForCookies):
48846         (WebCore::InspectorController::buildObjectForCookie):
48847         (WebCore::InspectorController::deleteCookie):
48848         * inspector/InspectorController.h:
48849         * inspector/InspectorDOMAgent.cpp:
48850         * inspector/InspectorDOMAgent.h:
48851         * inspector/InspectorFrontend.cpp:
48852         (WebCore::InspectorFrontend::addCookieDomainForDocument):
48853         * inspector/InspectorFrontend.h:
48854         * inspector/front-end/CookieItemsView.js:
48855         (WebInspector.CookieItemsView):
48856         (WebInspector.CookieItemsView.prototype.update):
48857         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
48858         * inspector/front-end/DOMAgent.js:
48859         (WebInspector.Cookies.getCookiesAsync):
48860         * inspector/front-end/StoragePanel.js:
48861         (WebInspector.StoragePanel):
48862         (WebInspector.StoragePanel.prototype.reset):
48863         (WebInspector.StoragePanel.prototype.addCookieDomain):
48864         (WebInspector.StoragePanel.prototype.showCookies):
48865         (WebInspector.CookieSidebarTreeElement):
48866         (WebInspector.CookieSidebarTreeElement.prototype.onselect):
48867         * inspector/front-end/inspector.js:
48868         (WebInspector.addCookieDomain):
48869         * platform/Cookie.h:
48870         (WebCore::CookieHash::hash):
48871         (WebCore::CookieHash::equal):
48872         (WTF::):
48873         * platform/network/win/CookieJarCFNetWin.cpp:
48874         (WebCore::deleteCookie):
48875
48876 2009-10-07  Pavel Feldman  <pfeldman@chromium.org>
48877
48878         Reviewed by Timothy Hatcher.
48879
48880         Web Inspector: Add ScriptObject::set(const char*, unsigned).
48881
48882         https://bugs.webkit.org/show_bug.cgi?id=30104
48883
48884         * bindings/v8/ScriptObject.cpp:
48885         (WebCore::ScriptObject::set):
48886         * bindings/v8/ScriptObject.h:
48887
48888 2009-10-07  Brent Fulgham  <bfulgham@webkit.org>
48889
48890         Unreviewed build fix for Windows (Cairo).
48891
48892         Provide implementation of new BitmapImage::create that was
48893         added in @r49060.
48894
48895         * platform/graphics/win/ImageCairoWin.cpp:
48896
48897 2009-10-07  Andrew Scherkus  <scherkus@chromium.org>
48898
48899         Reviewed by Eric Carlson.
48900
48901         Refactor RenderThemeChromiumMac and RenderThemeChromiumSkia to render media controls using GraphicsContext.
48902
48903         Design was based on existing RenderMediaControls.cpp used by RenderThemeSafari/Win.
48904
48905         https://bugs.webkit.org/show_bug.cgi?id=29987
48906
48907         Covered by existing layout tests as no new functionality was introduced.
48908
48909         * WebCore.gypi: Added RenderMediaControlsChromium.cpp/h.
48910         * css/mediaControlsChromium.css: Tweaked media slider position and border style.
48911         * rendering/MediaControlElements.cpp:
48912         (WebCore::toParentMediaElement): Taken from RenderMediaControls.
48913         (WebCore::MediaControlElement::rendererIsNeeded): Don't call shouldRenderMediaControlPart() if element has no appearance.
48914         (WebCore::MediaControlInputElement::rendererIsNeeded): Ditto.
48915         * rendering/RenderMediaControls.cpp: Moved parentMediaElement() to MediaControlElements.
48916         * rendering/RenderMediaControlsChromium.cpp: Added.
48917         (WebCore::platformResource): Helper to load and cache media control image resources.
48918         (WebCore::mediaSliderThumbImage): Implementation refactored from RenderThemeChromiumMac/Skia.
48919         (WebCore::mediaVolumeSliderThumbImage): Ditto.
48920         (WebCore::paintMediaButton): Ditto.
48921         (WebCore::paintMediaMuteButton): Ditto.
48922         (WebCore::paintMediaPlayButton): Ditto.
48923         (WebCore::paintMediaSlider): Ditto.
48924         (WebCore::paintMediaSliderThumb): Ditto.
48925         (WebCore::paintMediaVolumeSlider): Ditto.
48926         (WebCore::paintMediaVolumeSliderThumb): Ditto.
48927         (WebCore::paintMediaTimelineContainer): Ditto.
48928         (WebCore::RenderMediaControlsChromium::shouldRenderMediaControlPart): Ditto.
48929         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Same
48930         (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
48931         * rendering/RenderMediaControlsChromium.h: Added.
48932         * rendering/RenderThemeChromiumMac.h:
48933         * rendering/RenderThemeChromiumMac.mm:
48934         (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize): Implementation delegated to RenderMediaControlsChromium.
48935         (WebCore::RenderThemeChromiumMac::shouldRenderMediaControlPart): Ditto.
48936         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton): Ditto.
48937         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton): Ditto.
48938         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): Ditto.
48939         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack): Ditto.
48940         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb): Ditto.
48941         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb): Ditto.
48942         (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground): Ditto.
48943         * rendering/RenderThemeChromiumSkia.cpp:
48944         (WebCore::RenderThemeChromiumSkia::paintMediaControlsBackground): Implementation delegated to RenderMediaControlsChromium.
48945         (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack): Ditto.
48946         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack): Ditto.
48947         (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): Ditto.
48948         (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb): Ditto.
48949         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb): Ditto.
48950         (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton): Ditto.
48951         (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton): Ditto.
48952         (WebCore::RenderThemeChromiumSkia::shouldRenderMediaControlPart): Ditto.
48953
48954 2009-10-07  Dave Hyatt  <hyatt@apple.com>
48955
48956         Reviewed by Adam Roben.
48957
48958         Make plugins work with beforeload.
48959
48960         Added fast/dom/beforeload/flash-before-load.html
48961
48962         * html/HTMLObjectElement.cpp:
48963         (WebCore::HTMLObjectElement::parseMappedAttribute):
48964         * rendering/RenderPartObject.cpp:
48965         (WebCore::RenderPartObject::updateWidget):
48966
48967 2009-10-07  Vitaly Repeshko  <vitalyr@chromium.org>
48968
48969         Reviewed by Adam Barth.
48970
48971         [V8] Protect JS listener object from GC while clearing a property on it.
48972         See http://crbug.com/23780.
48973         https://bugs.webkit.org/show_bug.cgi?id=30137
48974
48975         * bindings/v8/V8AbstractEventListener.cpp:
48976         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
48977
48978 2009-10-07  Zoltan Horvath  <zoltan@webkit.org>
48979
48980         Rubber-stamped by Eric Seidel.
48981
48982         Allow custom memory allocation control for WebCore's CachedResourceClient class
48983         https://bugs.webkit.org/show_bug.cgi?id=30165
48984
48985         Inherits CachedResourceClient class from FastAllocBase because (its
48986         child class) CSSFontFaceSource has been instantiated by 'new' in WebCore/css/CSSFontFaceSource.h:46.
48987
48988         * loader/CachedResourceClient.h:
48989
48990 2009-10-07  Zoltan Horvath  <zoltan@webkit.org>
48991
48992         Reviewed by Darin Adler.
48993
48994         Allow custom memory allocation control for WebCore's IdentifierRep 
48995         https://bugs.webkit.org/show_bug.cgi?id=30159                                                        
48996
48997         Inherits IdentifierRep class from FastAllocBase because it has been                                 
48998         instantiated by 'new' in WebCore/bridge/IdentifierRep.cpp:61.  
48999
49000         * bridge/IdentifierRep.h:
49001
49002 2009-10-07  Anton Muhin  <antonm@chromium.org>
49003
49004         Reviewed by Adam Barth.
49005
49006         Fetch pointers to C+DOM window immediately from holder
49007         object (do not search prototype chain for proper JS wrapper).
49008         https://bugs.webkit.org/show_bug.cgi?id=29031
49009
49010         * bindings/scripts/CodeGeneratorV8.pm:
49011         * bindings/v8/V8DOMWrapper.cpp:
49012         (WebCore::V8DOMWrapper::getTemplate):
49013         * bindings/v8/V8Proxy.cpp:
49014         (WebCore::V8Proxy::createNewContext):
49015         (WebCore::V8Proxy::installDOMWindow):
49016         * bindings/v8/custom/V8DOMWindowCustom.cpp:
49017         (WebCore::ACCESSOR_GETTER):
49018         (WebCore::ACCESSOR_SETTER):
49019         (WebCore::INDEXED_PROPERTY_GETTER):
49020         (WebCore::NAMED_PROPERTY_GETTER):
49021         (WebCore::NAMED_ACCESS_CHECK):
49022         (WebCore::INDEXED_ACCESS_CHECK):
49023 2009-10-07  Adam Roben  <aroben@apple.com>
49024
49025         Fix typo in PluginView::load that was causing cross-origin loads to
49026         be allowed
49027
49028         This typo was introduced in the build fix in r49213.
49029
49030         Fixes <http://webkit.org/b/30168> REGRESSION (r49213):
49031         http/tests/plugins/local-geturl-from-remote.html is failing on Windows
49032
49033         Reviewed by Sam Weinig.
49034
49035         * plugins/PluginView.cpp:
49036         (WebCore::PluginView::load): Removed a comma operator that was making
49037         a condition always evaluate to true.
49038
49039 2009-10-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
49040
49041         Reviewed by Simon Hausmann.
49042
49043         Do not create valid QColor's for invalid WebCore::Color's.
49044
49045         * platform/graphics/qt/ColorQt.cpp:
49046         (WebCore::Color::operator QColor):
49047
49048 2009-10-07  Janne Koskinen  <janne.p.koskinen@digia.com>
49049
49050         Reviewed by Simon Hausmann.
49051
49052         [Qt] Symbian SBSv2 .data segment adress fix
49053         https://bugs.webkit.org/show_bug.cgi?id=30157
49054
49055         RO-section in qtwebkit.dll exceeds allocated space in SBSv2. Move RW-section
49056         base address to start from 0x800000 instead of the toolchain default 0x400000
49057
49058         * WebCore.pro:
49059
49060 2009-10-07  Pavel Feldman  <pfeldman@chromium.org>
49061
49062         Reviewed by Timothy Hatcher.
49063
49064         Web Inspector: Migrate database inspection to the injected script-based schema.
49065
49066         https://bugs.webkit.org/show_bug.cgi?id=29788
49067
49068         * bindings/js/JSInspectorBackendCustom.cpp:
49069         (WebCore::JSInspectorBackend::databaseForId):
49070         * bindings/v8/custom/V8CustomBinding.h:
49071         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
49072         (WebCore::CALLBACK_FUNC_DECL):
49073         * inspector/InspectorBackend.cpp:
49074         (WebCore::InspectorBackend::dispatchOnInjectedScript):
49075         (WebCore::InspectorBackend::databaseForId):
49076         (WebCore::InspectorBackend::selectDatabase):
49077         (WebCore::InspectorBackend::getDatabaseTableNames):
49078         (WebCore::InspectorBackend::reportDidDispatchOnInjectedScript):
49079         * inspector/InspectorBackend.h:
49080         * inspector/InspectorBackend.idl:
49081         * inspector/InspectorController.cpp:
49082         (WebCore::InspectorController::populateScriptObjects):
49083         (WebCore::InspectorController::resetScriptObjects):
49084         (WebCore::InspectorController::selectDatabase):
49085         (WebCore::InspectorController::databaseForId):
49086         (WebCore::InspectorController::didOpenDatabase):
49087         (WebCore::InspectorController::didUseDOMStorage):
49088         (WebCore::InspectorController::selectDOMStorage):
49089         (WebCore::InspectorController::getDOMStorageResourceForId):
49090         * inspector/InspectorController.h:
49091         * inspector/InspectorDatabaseResource.cpp:
49092         (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
49093         (WebCore::InspectorDatabaseResource::bind):
49094         * inspector/InspectorDatabaseResource.h:
49095         (WebCore::InspectorDatabaseResource::database):
49096         (WebCore::InspectorDatabaseResource::id):
49097         * inspector/InspectorFrontend.cpp:
49098         (WebCore::InspectorFrontend::addDatabase):
49099         (WebCore::InspectorFrontend::selectDatabase):
49100         (WebCore::InspectorFrontend::didGetDatabaseTableNames):
49101         (WebCore::InspectorFrontend::addDOMStorage):
49102         * inspector/InspectorFrontend.h:
49103         * inspector/front-end/Database.js:
49104         (WebInspector.Database):
49105         (WebInspector.Database.prototype.get id):
49106         (WebInspector.Database.prototype.set name):
49107         (WebInspector.Database.prototype.set version):
49108         (WebInspector.Database.prototype.set domain):
49109         (WebInspector.Database.prototype.getTableNames):
49110         (WebInspector.Database.prototype.executeSql):
49111         * inspector/front-end/InjectedScript.js:
49112         (InjectedScript.dispatch):
49113         (InjectedScript.executeSql):
49114         (InjectedScript.executeSql.errorCallback):
49115         (InjectedScript.executeSql.queryTransaction):
49116         * inspector/front-end/InjectedScriptAccess.js:
49117         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
49118         (InjectedScriptAccess._installHandler):
49119         * inspector/front-end/StoragePanel.js:
49120         (WebInspector.StoragePanel.prototype.selectDatabase):
49121         (WebInspector.StoragePanel.prototype.dataGridForResult):
49122         * inspector/front-end/inspector.js:
49123         (WebInspector.addDatabase):
49124
49125 2009-10-07  Girish Ramakrishnan  <girish@forwardbias.in>
49126
49127         Reviewed by Simon Hausmann.
49128
49129         [Qt] Windowless Plugins: Disable content propagation for QGraphicsView items
49130         
49131         We cannot support content propagation for items in QGraphicsView because
49132         the contents of the backing store might be transformed. So turn it off
49133         if we are not painting on QWidget.
49134         
49135         Note that this check will not work for a QWebView in a
49136         QGraphicsProxyWidget, but I guess it's fine. Alternative is to do an
49137         even uglier cast: static_cast painter's paintDevice() to QWidget and
49138         check if it is the viewport() of QGraphicsView.
49139
49140         https://bugs.webkit.org/show_bug.cgi?id=30149
49141
49142         * plugins/qt/PluginViewQt.cpp:
49143         (WebCore::PluginView::paint):
49144
49145 2009-10-07  Simon Hausmann  <simon.hausmann@nokia.com>
49146
49147         Fix the Qt build by adding the missing files to the build.
49148
49149         * WebCore.pro:
49150
49151 2009-10-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
49152
49153         Reviewed by Xan Lopez.
49154
49155         Fix incorrect convertion of double into int while assigning it to
49156         a float.
49157
49158         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
49159         (WebCore::SimpleFontData::platformInit):
49160         * platform/graphics/gtk/SimpleFontDataPango.cpp:
49161         (WebCore::SimpleFontData::platformInit):
49162
49163 2009-10-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
49164
49165         Reviewed by Xan Lopez.
49166
49167         Fix rounding error issues in height calculation in 64 bits.
49168
49169         Already covered by existing tests.
49170
49171         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
49172         (WebCore::SimpleFontData::platformInit):
49173         * platform/graphics/gtk/SimpleFontDataPango.cpp:
49174         (WebCore::SimpleFontData::platformInit):
49175
49176 2009-10-07  Shinichiro Hamaji  <hamaji@chromium.org>
49177
49178         Reviewed by Eric Seidel.
49179
49180         Dual lines in css2.1 layout tests do not match:
49181         https://bugs.webkit.org/show_bug.cgi?id=23262
49182
49183         Now we can put a counter node as the next sibling of a reset node.
49184         Re-layout the counter content when the count is updated.
49185
49186         Tests: fast/css/counters/t1204-increment-00-c-o.html
49187                fast/css/counters/t1204-increment-01-c-o.html
49188
49189         * rendering/CounterNode.cpp:
49190         (WebCore::CounterNode::recount):
49191         * rendering/RenderCounter.cpp:
49192         (WebCore::findPlaceForCounter):
49193
49194 2009-10-06  Xan Lopez  <xlopez@igalia.com>
49195
49196         Try to fix the GTKbuild.
49197
49198         * GNUmakefile.am:
49199
49200 2009-10-06  Adam Barth  <abarth@webkit.org>
49201
49202         Reviewed by Adam Barth.
49203
49204         Removed unused member variable from FrameLoader
49205         https://bugs.webkit.org/show_bug.cgi?id=30146
49206
49207         * loader/FrameLoader.cpp:
49208         (WebCore::FrameLoader::FrameLoader):
49209         * loader/FrameLoader.h:
49210
49211 2009-10-06  David Levin  <levin@chromium.org>
49212
49213         Reviewed by NOBODY (build fix).
49214
49215         A few small/trivial tweaks to the last build fix.
49216
49217         * bindings/scripts/CodeGeneratorV8.pm:
49218
49219 2009-10-06  David Levin  <levin@chromium.org>
49220
49221         Reviewed by Dimitri Glazkov.
49222
49223         [Chromium] Need to adjust MessagePort, etc. code for the post clone work done.
49224         https://bugs.webkit.org/show_bug.cgi?id=30147
49225
49226         No change in functionality so no new tests.
49227
49228         * WebCore.gypi:
49229         * bindings/scripts/CodeGeneratorV8.pm:
49230         * bindings/v8/SerializedScriptValue.h: Added.
49231          A very simple implementation of SerializedScriptValue
49232          that only works for strings.
49233         * bindings/v8/custom/V8DOMWindowCustom.cpp:
49234         (WebCore::CALLBACK_FUNC_DECL):
49235         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
49236         (WebCore::CALLBACK_FUNC_DECL):
49237         * bindings/v8/custom/V8MessageEventCustom.cpp:
49238         (WebCore::CALLBACK_FUNC_DECL):
49239         * bindings/v8/custom/V8MessagePortCustom.cpp:
49240         (WebCore::CALLBACK_FUNC_DECL):
49241         * bindings/v8/custom/V8WorkerCustom.cpp:
49242         (WebCore::CALLBACK_FUNC_DECL):
49243
49244 2009-10-06  Sam Weinig  <sam@webkit.org>
49245
49246         Reviewed by Brady Eidson.
49247
49248         Fix for <rdar://problem/7271202>
49249         Dispatch resource load delegate functions for the media element.
49250         Since we don't get the required callbacks from the media engine,
49251         just fake the parameters to the delegate functions as best as possible.
49252
49253         * html/HTMLMediaElement.cpp:
49254         (WebCore::HTMLMediaElement::loadResource):
49255         (WebCore::HTMLMediaElement::isSafeToLoadURL):
49256         * loader/FrameLoader.cpp:
49257         (WebCore::FrameLoader::willLoadMediaElementURL):
49258         * loader/FrameLoader.h:
49259
49260 2009-10-06  Oliver Hunt  <oliver@apple.com>
49261
49262         Reviewed by NOBODY (Build fix).
49263
49264         More build fixes.
49265
49266         * bindings/js/SerializedScriptValue.cpp:
49267         (WebCore::DeserializingTreeWalker::getProperty):
49268         (WebCore::TeardownTreeWalker::getProperty):
49269         * bindings/js/SerializedScriptValue.h:
49270         (WebCore::SerializedScriptValue::SerializedScriptValue):
49271
49272 2009-10-06  Oliver Hunt  <oliver@apple.com>
49273
49274         Reviewed by NOBODY (Build fix).
49275
49276         Build and formatting fix.
49277
49278         * ForwardingHeaders/runtime/ExceptionHelpers.h: Added.
49279         * bindings/js/SerializedScriptValue.cpp:
49280         * bindings/js/SerializedScriptValue.h:
49281         (WebCore::SerializedScriptValueData::operator bool):
49282         (WebCore::SerializedScriptValueData::release):
49283         (WebCore::SerializedScriptValue::release):
49284         (WebCore::SerializedScriptValue::toString):
49285         (WebCore::SerializedScriptValue::~SerializedScriptValue):
49286         (WebCore::SerializedScriptValue::SerializedScriptValue):
49287
49288 2009-10-05  Oliver Hunt  <oliver@apple.com>
49289
49290         Reviewed by Gavin Barraclough.
49291
49292         It should be possible to post (clone) built-in JS objects to Workers
49293         https://bugs.webkit.org/show_bug.cgi?id=22878
49294
49295         Implement object cloning semantics for postMessage.  Currently only
49296         a partial implementation of the spec -- cloning of File, FileList,
49297         ImageData, and RegExp were left out as they would have significantly
49298         increased patch size.
49299
49300         Cloning requires multiple tree walks so we use a templated tree
49301         walk function, allowing us to share a single implementation for
49302         serialization, deserialization, and eventual destruction of the
49303         serialized object tree.
49304
49305         Test: fast/dom/Window/window-postmessage-clone.html
49306
49307         * WebCore.vcproj/WebCore.vcproj:
49308         * WebCore.xcodeproj/project.pbxproj:
49309         * bindings/js/JSDOMWindowCustom.cpp:
49310         (WebCore::JSDOMWindow::postMessage):
49311         * bindings/js/JSMessageEventCustom.cpp:
49312         (WebCore::JSMessageEvent::initMessageEvent):
49313         * bindings/js/JSMessagePortCustom.h:
49314         (WebCore::handlePostMessage):
49315         * bindings/js/SerializedScriptValue.cpp: Added.
49316         (WebCore::SerializedObject::set):
49317         (WebCore::SerializedObject::names):
49318         (WebCore::SerializedObject::values):
49319         (WebCore::SerializedObject::create):
49320         (WebCore::SerializedObject::clear):
49321         (WebCore::SerializedObject::SerializedObject):
49322         (WebCore::SerializedArray::setIndex):
49323         (WebCore::SerializedArray::canDoFastRead):
49324         (WebCore::SerializedArray::getIndex):
49325         (WebCore::SerializedArray::getSparseIndex):
49326         (WebCore::SerializedArray::length):
49327         (WebCore::SerializedArray::create):
49328         (WebCore::SerializedArray::clear):
49329         (WebCore::SerializedArray::SerializedArray):
49330         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
49331         (WebCore::SharedSerializedData::asArray):
49332         (WebCore::SharedSerializedData::asObject):
49333         (WebCore::):
49334         (WebCore::walk):
49335         (WebCore::BaseWalker::BaseWalker):
49336         (WebCore::BaseWalker::shouldTerminate):
49337         (WebCore::BaseWalker::ticksUntilNextCheck):
49338         (WebCore::BaseWalker::didTimeOut):
49339         (WebCore::BaseWalker::throwStackOverflow):
49340         (WebCore::BaseWalker::throwInterruptedException):
49341         (WebCore::SerializingTreeWalker::SerializingTreeWalker):
49342         (WebCore::SerializingTreeWalker::null):
49343         (WebCore::SerializingTreeWalker::isArray):
49344         (WebCore::SerializingTreeWalker::isObject):
49345         (WebCore::SerializingTreeWalker::asInputArray):
49346         (WebCore::SerializingTreeWalker::asInputObject):
49347         (WebCore::SerializingTreeWalker::createOutputArray):
49348         (WebCore::SerializingTreeWalker::createOutputObject):
49349         (WebCore::SerializingTreeWalker::length):
49350         (WebCore::SerializingTreeWalker::canDoFastRead):
49351         (WebCore::SerializingTreeWalker::getIndex):
49352         (WebCore::SerializingTreeWalker::getSparseIndex):
49353         (WebCore::SerializingTreeWalker::getProperty):
49354         (WebCore::SerializingTreeWalker::convertIfTerminal):
49355         (WebCore::SerializingTreeWalker::getPropertyNames):
49356         (WebCore::SerializingTreeWalker::putIndex):
49357         (WebCore::SerializingTreeWalker::putProperty):
49358         (WebCore::SerializingTreeWalker::startArray):
49359         (WebCore::SerializingTreeWalker::endArray):
49360         (WebCore::SerializingTreeWalker::startObject):
49361         (WebCore::SerializingTreeWalker::endObject):
49362         (WebCore::SerializedScriptValueData::serialize):
49363         (WebCore::DeserializingTreeWalker::DeserializingTreeWalker):
49364         (WebCore::DeserializingTreeWalker::null):
49365         (WebCore::DeserializingTreeWalker::isArray):
49366         (WebCore::DeserializingTreeWalker::isObject):
49367         (WebCore::DeserializingTreeWalker::asInputArray):
49368         (WebCore::DeserializingTreeWalker::asInputObject):
49369         (WebCore::DeserializingTreeWalker::createOutputArray):
49370         (WebCore::DeserializingTreeWalker::createOutputObject):
49371         (WebCore::DeserializingTreeWalker::length):
49372         (WebCore::DeserializingTreeWalker::canDoFastRead):
49373         (WebCore::DeserializingTreeWalker::getIndex):
49374         (WebCore::DeserializingTreeWalker::getSparseIndex):
49375         (WebCore::DeserializingTreeWalker::getProperty):
49376         (WebCore::DeserializingTreeWalker::convertIfTerminal):
49377         (WebCore::DeserializingTreeWalker::getPropertyNames):
49378         (WebCore::DeserializingTreeWalker::putIndex):
49379         (WebCore::DeserializingTreeWalker::putProperty):
49380         (WebCore::DeserializingTreeWalker::startArray):
49381         (WebCore::DeserializingTreeWalker::endArray):
49382         (WebCore::DeserializingTreeWalker::startObject):
49383         (WebCore::DeserializingTreeWalker::endObject):
49384         (WebCore::SerializedScriptValueData::deserialize):
49385         (WebCore::TeardownTreeWalker::shouldTerminate):
49386         (WebCore::TeardownTreeWalker::ticksUntilNextCheck):
49387         (WebCore::TeardownTreeWalker::didTimeOut):
49388         (WebCore::TeardownTreeWalker::throwStackOverflow):
49389         (WebCore::TeardownTreeWalker::throwInterruptedException):
49390         (WebCore::TeardownTreeWalker::null):
49391         (WebCore::TeardownTreeWalker::isArray):
49392         (WebCore::TeardownTreeWalker::isObject):
49393         (WebCore::TeardownTreeWalker::asInputArray):
49394         (WebCore::TeardownTreeWalker::asInputObject):
49395         (WebCore::TeardownTreeWalker::createOutputArray):
49396         (WebCore::TeardownTreeWalker::createOutputObject):
49397         (WebCore::TeardownTreeWalker::length):
49398         (WebCore::TeardownTreeWalker::canDoFastRead):
49399         (WebCore::TeardownTreeWalker::getIndex):
49400         (WebCore::TeardownTreeWalker::getSparseIndex):
49401         (WebCore::TeardownTreeWalker::getProperty):
49402         (WebCore::TeardownTreeWalker::convertIfTerminal):
49403         (WebCore::TeardownTreeWalker::getPropertyNames):
49404         (WebCore::TeardownTreeWalker::putIndex):
49405         (WebCore::TeardownTreeWalker::putProperty):
49406         (WebCore::TeardownTreeWalker::startArray):
49407         (WebCore::TeardownTreeWalker::endArray):
49408         (WebCore::TeardownTreeWalker::startObject):
49409         (WebCore::TeardownTreeWalker::endObject):
49410         (WebCore::SerializedScriptValueData::tearDownSerializedData):
49411         * bindings/js/SerializedScriptValue.h: Added.
49412         (WebCore::SharedSerializedData::~SharedSerializedData):
49413         (WebCore::SerializedScriptValueData::):
49414         (WebCore::SerializedScriptValueData::type):
49415         (WebCore::SerializedScriptValueData::~SerializedScriptValueData):
49416         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
49417         (WebCore::SerializedScriptValueData::asImmediate):
49418         (WebCore::SerializedScriptValueData::asDouble):
49419         (WebCore::SerializedScriptValueData::asString):
49420         (WebCore::SerializedScriptValueData::asObject):
49421         (WebCore::SerializedScriptValueData::asArray):
49422         (WebCore::SerializedScriptValueData::operator bool ):
49423         (WebCore::SerializedScriptValueData::release):
49424         (WebCore::SerializedScriptValue::create):
49425         (WebCore::SerializedScriptValue::release):
49426         (WebCore::SerializedScriptValue::toString):
49427         (WebCore::SerializedScriptValue::deserialize):
49428         (WebCore::SerializedScriptValue::~SerializedScriptValue):
49429         (WebCore::SerializedScriptValue::SerializedScriptValue):
49430         * bindings/scripts/CodeGeneratorJS.pm:
49431         * bindings/scripts/CodeGeneratorObjC.pm:
49432         * dom/MessageEvent.cpp:
49433         (WebCore::MessageEvent::MessageEvent):
49434         (WebCore::MessageEvent::initMessageEvent):
49435         * dom/MessageEvent.h:
49436         (WebCore::MessageEvent::create):
49437         (WebCore::MessageEvent::data):
49438         * dom/MessageEvent.idl:
49439         * dom/MessagePort.cpp:
49440         (WebCore::MessagePort::postMessage):
49441         * dom/MessagePort.h:
49442         * dom/MessagePortChannel.cpp:
49443         (WebCore::MessagePortChannel::EventData::create):
49444         (WebCore::MessagePortChannel::EventData::EventData):
49445         * dom/MessagePortChannel.h:
49446         (WebCore::MessagePortChannel::EventData::message):
49447         * page/DOMWindow.cpp:
49448         (WebCore::PostMessageTimer::PostMessageTimer):
49449         (WebCore::DOMWindow::postMessage):
49450         * page/DOMWindow.h:
49451         * page/DOMWindow.idl:
49452         * page/EventSource.cpp:
49453         (WebCore::EventSource::createMessageEvent):
49454         * websockets/WebSocket.cpp:
49455         (WebCore::WebSocket::didReceiveMessage):
49456         * workers/DedicatedWorkerContext.cpp:
49457         (WebCore::DedicatedWorkerContext::postMessage):
49458         * workers/DedicatedWorkerContext.h:
49459         * workers/DedicatedWorkerContext.idl:
49460         * workers/Worker.cpp:
49461         (WebCore::Worker::postMessage):
49462         * workers/Worker.h:
49463         * workers/Worker.idl:
49464         * workers/WorkerContextProxy.h:
49465         * workers/WorkerMessagingProxy.cpp:
49466         (WebCore::MessageWorkerContextTask::create):
49467         (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
49468         (WebCore::MessageWorkerTask::create):
49469         (WebCore::MessageWorkerTask::MessageWorkerTask):
49470         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
49471         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
49472         * workers/WorkerMessagingProxy.h:
49473         * workers/WorkerObjectProxy.h:
49474
49475 2009-10-06  Adam Barth  <abarth@webkit.org>
49476
49477         Unreviewed build fix for Windows.
49478
49479         * plugins/PluginView.cpp:
49480         (WebCore::PluginView::load):
49481
49482 2009-10-06  Adam Barth  <abarth@webkit.org>
49483
49484         Reviewed by Eric Seidel.
49485
49486         Move FrameLoader::canLoad to SecurityOrigin
49487         https://bugs.webkit.org/show_bug.cgi?id=30111
49488
49489         * WebCore.base.exp:
49490         * html/HTMLMediaElement.cpp:
49491         (WebCore::HTMLMediaElement::isSafeToLoadURL):
49492         * loader/Cache.cpp:
49493         (WebCore::Cache::requestResource):
49494         * loader/FrameLoader.cpp:
49495         (WebCore::FrameLoader::loadSubframe):
49496         (WebCore::FrameLoader::loadPlugin):
49497         (WebCore::FrameLoader::loadFrameRequest):
49498         (WebCore::FrameLoader::loadResourceSynchronously):
49499         (WebCore::FrameLoader::createJavaAppletWidget):
49500         * loader/FrameLoader.h:
49501         * loader/SubresourceLoader.cpp:
49502         (WebCore::SubresourceLoader::create):
49503         * page/SecurityOrigin.cpp:
49504         (WebCore::SecurityOrigin::canLoad):
49505         (WebCore::SecurityOrigin::shouldHideReferrer):
49506         * page/SecurityOrigin.h:
49507
49508 2009-10-06  Adam Barth  <abarth@webkit.org>
49509
49510         Reviewed by Eric Seidel.
49511
49512         Move setLocalLoadPolicy and friends to SecurityOrigin
49513         https://bugs.webkit.org/show_bug.cgi?id=30110
49514
49515         These have more to do with security policies than with loading frames.
49516
49517         * WebCore.base.exp:
49518         * dom/Document.cpp:
49519         (WebCore::Document::initSecurityContext):
49520         * loader/Cache.cpp:
49521         (WebCore::Cache::requestResource):
49522         * loader/FrameLoader.cpp:
49523         * loader/FrameLoader.h:
49524         * loader/SubresourceLoader.cpp:
49525         (WebCore::SubresourceLoader::create):
49526         * page/SecurityOrigin.cpp:
49527         (WebCore::SecurityOrigin::setLocalLoadPolicy):
49528         (WebCore::SecurityOrigin::restrictAccessToLocal):
49529         (WebCore::SecurityOrigin::allowSubstituteDataAccessToLocal):
49530         * page/SecurityOrigin.h:
49531         (WebCore::SecurityOrigin::):
49532
49533 2009-10-06  Brian Weinstein  <bweinstein@apple.com>
49534
49535         Reviewed by Brady Eidson.
49536
49537         Preparation for <http://webkit.org/b/30104>.
49538         Inspector should show cookies of sub-resources on the page.
49539         
49540         Implement getRawCookies for CFNetwork for Windows, so we can see more
49541         than just a key/value pair for Cookies when we are on Windows.
49542
49543         * platform/network/win/CookieJarCFNetWin.cpp:
49544         (WebCore::getRawCookies):
49545
49546 2009-10-06  Dave Hyatt  <hyatt@apple.com>
49547
49548         Reviewed by Adam Roben.
49549
49550         https://bugs.webkit.org/show_bug.cgi?id=30132, make beforeload work with <link> elements and
49551         XML processing instructions.
49552
49553         Fix up ProcessingInstruction's setData call so that it actually updates a stylesheet when the
49554         data gets changed.
49555
49556         Move dispatchBeforeLoadedEvent to ContainerNode so all Elements (and ProcessingInstruction) can
49557         access it.
49558
49559         Added fast/dom/beforeload/link-before-load.html
49560
49561         * dom/ContainerNode.cpp:
49562         (WebCore::ContainerNode::dispatchBeforeLoadEvent):
49563         * dom/ContainerNode.h:
49564         * dom/ProcessingInstruction.cpp:
49565         (WebCore::ProcessingInstruction::checkStyleSheet):
49566         (WebCore::ProcessingInstruction::setData):
49567         * dom/ScriptElement.cpp:
49568         (WebCore::ScriptElementData::requestScript):
49569         * dom/ScriptElement.h:
49570         * dom/XMLTokenizerLibxml2.cpp:
49571         (WebCore::XMLTokenizer::endElementNs):
49572         * html/HTMLLinkElement.cpp:
49573         (WebCore::HTMLLinkElement::parseMappedAttribute):
49574         (WebCore::HTMLLinkElement::process):
49575         * html/HTMLScriptElement.cpp:
49576         (WebCore::HTMLScriptElement::forAttributeValue):
49577         * html/HTMLScriptElement.h:
49578         * svg/SVGScriptElement.cpp:
49579         * svg/SVGScriptElement.h:
49580
49581 2009-10-06  Simon Fraser  <simon.fraser@apple.com>
49582
49583         Reviewed by Mark Rowe.
49584
49585         accessibility/media-element.html crashes (and has incorrect result)
49586         https://bugs.webkit.org/show_bug.cgi?id=30108
49587
49588         Fix up the accessibilty label for the newly added fullscreen button,
49589         and update the test result accordingly.
49590
49591         * accessibility/AccessibilityMediaControls.cpp:
49592         (WebCore::AccessibilityMediaControl::controlTypeName):
49593
49594 2009-10-06  Kelly Norton  <knorton@google.com>
49595
49596         Reviewed by Timothy Hatcher.
49597
49598         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30028>
49599         Multiple calls to SetFrontendProxyObject can leave an InspectorTimelineAgent with an invalid
49600         InspectorFrontend.
49601
49602         * inspector/InspectorController.cpp:
49603         (WebCore::InspectorController::setFrontendProxyObject): Adds a check for an existing timeline agent.
49604
49605 2009-10-06  Antti Koivisto  <antti@apple.com>
49606
49607         Reviewed by Dave Kilzer.
49608
49609         Move textRects to the right category in DOM.mm. Include DOMPrivate.h to ensure that the interfaces match.
49610
49611         * bindings/objc/DOM.mm:
49612         (-[DOMNode textRects]):
49613
49614 2009-10-06  Benjamin C Meyer  <bmeyer@rim.com>
49615
49616         Reviewed by Ariya Hidayat.
49617         
49618         Match the behavior of other WebKit browser and have the first url of the drag data be the url passed in declareAndWriteDragImage and set the text of the drag data to be the title argument.
49619         
49620         Manual test: Drag the readability js link from http://lab.arc90.com/experiments/readability/
49621         
49622         * platform/qt/ClipboardQt.cpp:
49623         (WebCore::ClipboardQt::declareAndWriteDragImage):
49624
49625 2009-10-06  Kent Tamura  <tkent@chromium.org>
49626
49627         Reviewed by Darin Adler.
49628
49629         Implement min/max attributes, ValidityState.rangeUnderflow and
49630         ValidityState.rangeOverflow for <input type=number> and <input type=range>
49631         https://bugs.webkit.org/show_bug.cgi?id=29069
49632         
49633         HTMLInputElement::max and min are not defined for COM because they
49634         conflict with the standard min() and max() macros.
49635
49636         Tests: fast/forms/ValidityState-rangeOverflow-number.html
49637                fast/forms/ValidityState-rangeOverflow-range.html
49638                fast/forms/ValidityState-rangeUnderflow-number.html
49639                fast/forms/ValidityState-rangeUnderflow-range.html
49640                fast/forms/input-minmax.html
49641
49642         * html/HTMLInputElement.cpp:
49643         (WebCore::HTMLInputElement::rangeUnderflow):
49644         (WebCore::HTMLInputElement::rangeOverflow):
49645         (WebCore::HTMLInputElement::rangeMinimum):
49646         (WebCore::HTMLInputElement::rangeMaximum):
49647         * html/HTMLInputElement.h:
49648         * html/HTMLInputElement.idl:
49649         * html/ValidityState.cpp:
49650         (WebCore::ValidityState::rangeUnderflow):
49651         (WebCore::ValidityState::rangeOverflow):
49652         * html/ValidityState.h:
49653         * rendering/RenderSlider.cpp:
49654         (WebCore::SliderRange::SliderRange):
49655         (WebCore::SliderRange::valueFromElement):
49656
49657 2009-10-06  Adam Barth  <abarth@webkit.org>
49658
49659         Reviewed by Eric Seidel.
49660
49661         Move m_openedByDOM to Page
49662         https://bugs.webkit.org/show_bug.cgi?id=30109
49663
49664         We only need one instance of m_openedByDOM per page, we should move it
49665         to a page-scoped object.  Notice that it's only ever touched for the
49666         main frame.
49667
49668         * bindings/js/JSDOMWindowCustom.cpp:
49669         (WebCore::createWindow):
49670         * bindings/v8/custom/V8DOMWindowCustom.cpp:
49671         (WebCore::createWindow):
49672         * loader/FrameLoader.cpp:
49673         * loader/FrameLoader.h:
49674         * page/DOMWindow.cpp:
49675         (WebCore::DOMWindow::close):
49676         * page/Page.cpp:
49677         (WebCore::Page::Page):
49678         (WebCore::Page::openedByDOM):
49679         (WebCore::Page::setOpenedByDOM):
49680         * page/Page.h:
49681
49682 2009-10-06  Carol Szabo  <carol.szabo@nokia.com>
49683
49684         Reviewed by Ariya Hidayat.
49685
49686         [Qt] Some functions in GraphicsContext do not work
49687         as expected if the associated painter has no clipping.
49688         https://bugs.webkit.org/show_bug.cgi?id=29691
49689
49690         No new tests are associated with this because DumpRenderTree
49691         always sets clipping on the painter, thus it would never hit 
49692         the test case, but fast/box-shadow/basic-shadows.html is a
49693         good example of what happens if the clipping is not set by
49694         the user of QtWebKit.
49695
49696         * platform/graphics/qt/GraphicsContextQt.cpp:
49697         (WebCore::GraphicsContext::clipOut):
49698         (WebCore::GraphicsContext::clipOutEllipseInRect):
49699         Fixed to handle the case that there is no clipping
49700         before the call.
49701
49702 2009-10-06  Dave Hyatt  <hyatt@apple.com>
49703
49704         Reviewed by Adam Roben.
49705
49706         https://bugs.webkit.org/show_bug.cgi?id=30131, make beforeload fire on script elements.
49707
49708         Added tests in fast/dom/beforeload/.
49709
49710         * dom/ScriptElement.cpp:
49711         (WebCore::ScriptElementData::requestScript):
49712         * dom/ScriptElement.h:
49713         * dom/XMLTokenizerLibxml2.cpp:
49714         (WebCore::XMLTokenizer::endElementNs):
49715         * html/HTMLAttributeNames.in:
49716         * html/HTMLScriptElement.cpp:
49717         (WebCore::HTMLScriptElement::parseMappedAttribute):
49718         (WebCore::HTMLScriptElement::dispatchBeforeLoadEvent):
49719         * html/HTMLScriptElement.h:
49720         * html/HTMLTokenizer.cpp:
49721         (WebCore::HTMLTokenizer::scriptHandler):
49722         * svg/SVGScriptElement.cpp:
49723         (WebCore::SVGScriptElement::dispatchBeforeLoadEvent):
49724         * svg/SVGScriptElement.h:
49725
49726 2009-10-06  Xan Lopez  <xlopez@igalia.com>
49727
49728         Reviewed by Eric Seidel.
49729
49730         https://bugs.webkit.org/show_bug.cgi?id=25526
49731         [Gtk] Additional support is needed for caret browsing
49732
49733         Enable caret movement commands also when caret browsing setting is
49734         enabled.
49735
49736         * editing/EditorCommand.cpp:
49737         (WebCore::caretBrowsingEnabled):
49738         (WebCore::enabledVisibleSelectionOrCaretBrowsing):
49739         (WebCore::enabledInEditableTextOrCaretBrowsing):
49740         (WebCore::CommandEntry::):
49741         * manual-tests/gtk/caret-browsing.html: Added.
49742
49743 2009-10-06  Anton Muhin  <antonm@chromium>
49744
49745         Reviewed by Dimitri Glazkov.
49746
49747         Non standard, but popular exetension allows automagically
49748         turn a function into a namespace resolver.  Support that in
49749         Chromium as well.
49750
49751         Adjust CodeGeneratorV8 to treat XPathNSResolver in a special way.
49752         https://bugs.webkit.org/show_bug.cgi?id=30128
49753
49754         * bindings/scripts/CodeGeneratorV8.pm:
49755         * bindings/v8/V8DOMWrapper.h:
49756         (WebCore::V8DOMWrapper::getXPathNSResolver):
49757         * bindings/v8/custom/V8DocumentCustom.cpp:
49758         (WebCore::CALLBACK_FUNC_DECL):
49759
49760 2009-10-06  Pavel Feldman  <pfeldman@chromium.org>
49761
49762         Reviewed by Timothy Hatcher.
49763
49764         Web Inspector: close inspector client view on
49765         InspectorController::close API call.
49766
49767         In order to run batch web inspector layout tests (and not affect
49768         subsequent tests) we should close inspector client's view upon
49769         InspectorController::close API call.
49770
49771         https://bugs.webkit.org/show_bug.cgi?id=30009
49772
49773         * inspector/InspectorController.cpp:
49774         (WebCore::InspectorController::inspectedPageDestroyed):
49775         (WebCore::InspectorController::close):
49776
49777 2009-10-06  Simon Hausmann  <simon.hausmann@nokia.com>
49778
49779         Reviewed by Tor Arne Vestbø.
49780
49781         Fix the Qt/Windows build by stubbing out the still image
49782         support for halted plugins for the Qt build.
49783
49784         Bugzilla entry https://bugs.webkit.org/show_bug.cgi?id=30130
49785         tracks removing this by implementing Frame::nodeImage().
49786
49787         * plugins/win/PluginViewWin.cpp:
49788         (WebCore::PluginView::halt):
49789
49790 2009-10-05  Holger Hans Peter Freyther  <zecke@selfish.org>
49791
49792         Reviewed by Simon Hausmann.
49793
49794         [Qt] Change QImageReader usage in ImageDecoderQt
49795         https://bugs.webkit.org/show_bug.cgi?id=27538
49796
49797         Replace the ReadContext with another appoach to
49798         reading the image. Attempt to only read meta information
49799         like the image size and number of frames (for animations)
49800         first and then when the page is getting drawn decode
49801         the image with the QImageReader.
49802
49803         This is a huge benefit on pages with many images and saves
49804         ~2GB of memory on the szeged image test page.
49805
49806         * platform/graphics/qt/ImageDecoderQt.cpp:
49807         (WebCore::ImageDecoderQt::ImageDecoderQt):
49808         (WebCore::ImageDecoderQt::setData):
49809         (WebCore::ImageDecoderQt::isSizeAvailable):
49810         (WebCore::ImageDecoderQt::frameCount):
49811         (WebCore::ImageDecoderQt::repetitionCount):
49812         (WebCore::ImageDecoderQt::filenameExtension):
49813         (WebCore::ImageDecoderQt::frameBufferAtIndex):
49814         (WebCore::ImageDecoderQt::clearFrameBufferCache):
49815         (WebCore::ImageDecoderQt::internalDecodeSize):
49816         (WebCore::ImageDecoderQt::internalReadImage):
49817         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
49818         (WebCore::ImageDecoderQt::forceLoadEverything):
49819         (WebCore::ImageDecoderQt::failRead):
49820         * platform/graphics/qt/ImageDecoderQt.h:
49821
49822 2009-10-05  Holger Hans Peter Freyther  <zecke@selfish.org>
49823
49824         Reviewed by Simon Hausmann.
49825
49826         [Qt] Make use of RGBA32Buffer in ImageDecoderQt
49827         https://bugs.webkit.org/show_bug.cgi?id=27538
49828
49829         Use the RGBA32Buffer instead of the internal ImageData
49830         to be able to use support of the base class, optionally
49831         support WebCore decoders for Qt and most importantly
49832         separate metadata and image data for better cache control.
49833
49834         Remove ImageSourceQt as everything is now shared with
49835         the normal ImageSource.
49836
49837         Change the ownership of the NativeImagePtr/QPixmap in
49838         ImageQt.cpp to delete the m_frame to be subject to cache
49839         control.
49840
49841         * WebCore.pro:
49842         * platform/graphics/ImageSource.cpp:
49843         * platform/graphics/qt/ImageDecoderQt.cpp:
49844         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
49845         (WebCore::ImageDecoderQt::ReadContext::read):
49846         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
49847         (WebCore::ImageDecoderQt::ImageDecoderQt):
49848         (WebCore::ImageDecoderQt::setData):
49849         (WebCore::ImageDecoderQt::frameCount):
49850         (WebCore::ImageDecoderQt::frameBufferAtIndex):
49851         (WebCore::ImageDecoderQt::clearFrameBufferCache):
49852         * platform/graphics/qt/ImageDecoderQt.h:
49853         * platform/graphics/qt/ImageSourceQt.cpp: Removed.
49854         * platform/image-decoders/ImageDecoder.h:
49855         (WebCore::RGBA32Buffer::decodedImage):
49856         (WebCore::RGBA32Buffer::getAddr):
49857         * platform/image-decoders/qt/RGBA32BufferQt.cpp: Added.
49858         (WebCore::RGBA32Buffer::RGBA32Buffer):
49859         (WebCore::RGBA32Buffer::setDecodedImage):
49860         (WebCore::RGBA32Buffer::clear):
49861         (WebCore::RGBA32Buffer::zeroFill):
49862         (WebCore::RGBA32Buffer::copyBitmapData):
49863         (WebCore::RGBA32Buffer::setSize):
49864         (WebCore::RGBA32Buffer::asNewNativeImage):
49865         (WebCore::RGBA32Buffer::hasAlpha):
49866         (WebCore::RGBA32Buffer::setHasAlpha):
49867         (WebCore::RGBA32Buffer::setStatus):
49868         (WebCore::RGBA32Buffer::operator=):
49869         (WebCore::RGBA32Buffer::width):
49870         (WebCore::RGBA32Buffer::height):
49871
49872 2009-10-05  Holger Hans Peter Freyther  <zecke@selfish.org>
49873
49874         Reviewed by Simon Hausmann.
49875
49876         [Qt] ImageDecoderQt avoid QString creation.
49877         https://bugs.webkit.org/show_bug.cgi?id=27538
49878
49879         Avoid going from CString to QString to String
49880         and go directly from CString to String. Also
49881         avoid going to lower case to avoid an extra
49882         memory allocation.
49883
49884         * platform/graphics/qt/ImageDecoderQt.cpp:
49885         (WebCore::ImageDecoder::create):
49886         (WebCore::ImageDecoderQt::ImageDecoderQt):
49887         * platform/graphics/qt/ImageDecoderQt.h:
49888
49889 2009-10-05  Holger Hans Peter Freyther  <zecke@selfish.org>
49890
49891         Reviewed by Simon Hausmann.
49892
49893         [Qt] Cleanup the ImageDecoder of Qt.
49894         https://bugs.webkit.org/show_bug.cgi?id=27538
49895
49896         Remove the various enums for partial load. The fact is
49897         that this image decoder will decode everything that is
49898         in the file at once. Make it look like it behaves to
49899         ease fixing this core problem.
49900
49901         * platform/graphics/qt/ImageDecoderQt.cpp:
49902         (WebCore::ImageDecoderQt::ImageData::ImageData):
49903         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
49904         (WebCore::ImageDecoderQt::ReadContext::read):
49905         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
49906         (WebCore::ImageDecoderQt::hasFirstImageHeader):
49907         (WebCore::ImageDecoderQt::setData):
49908         * platform/graphics/qt/ImageDecoderQt.h:
49909
49910 2009-10-04  Holger Hans Peter Freyther  <zecke@selfish.org>
49911
49912         Reviewed by Simon Hausmann.
49913
49914         [Qt] Reimplement instead of overload frameCount in ImageDecoderQt.cpp
49915         https://bugs.webkit.org/show_bug.cgi?id=27538
49916
49917         Reimplement frameCount instead of overloading it.
49918
49919         * platform/graphics/qt/ImageDecoderQt.cpp:
49920         (WebCore::ImageDecoderQt::frameCount):
49921         * platform/graphics/qt/ImageDecoderQt.h:
49922
49923 2009-10-04  Holger Hans Peter Freyther  <zecke@selfish.org>
49924
49925         Reviewed by Simon Hausmann.
49926
49927         [Qt] QImageReader does not support progressive reading
49928         https://bugs.webkit.org/show_bug.cgi?id=27538
49929
49930         Change the ImageDecoderQt::setData to store the encoded
49931         data in ImageDecoder.
49932
49933         Only call ReadContext when the whole Resource has been
49934         loaded to avoid needless calls to reset and the
49935         ReadContext as progressive loading is not supported.
49936
49937         * platform/graphics/qt/ImageDecoderQt.cpp:
49938         (WebCore::ImageDecoderQt::setData):
49939         * platform/graphics/qt/ImageDecoderQt.h:
49940
49941 2009-10-04  Holger Hans Peter Freyther  <zecke@selfish.org>
49942
49943         Reviewed by Simon Hausmann.
49944
49945         [Qt] Remove dead code from ImageDecoderQt
49946         https://bugs.webkit.org/show_bug.cgi?id=27538
49947
49948         Remove unused variables and debugging code. The debug
49949         code has never been used and does not provide anything
49950         useful.
49951
49952         * platform/graphics/qt/ImageDecoderQt.cpp:
49953         (WebCore::ImageDecoderQt::ReadContext::read):
49954         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
49955         (WebCore::ImageDecoderQt::setData):
49956         (WebCore::ImageDecoderQt::isSizeAvailable):
49957         (WebCore::ImageDecoderQt::frameCount):
49958         (WebCore::ImageDecoderQt::repetitionCount):
49959         (WebCore::ImageDecoderQt::filenameExtension):
49960         (WebCore::ImageDecoderQt::imageAtIndex):
49961
49962 2009-10-06  Philippe Normand  <pnormand@igalia.com>
49963
49964         Reviewed by Xan Lopez.
49965
49966         [GTK] segfault when calling gst_video_format_parse_caps in the video sink
49967         https://bugs.webkit.org/show_bug.cgi?id=30120
49968
49969         Fix use of gst_video_format_parse_caps()
49970
49971         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
49972         (webkit_video_sink_idle_func):
49973
49974 2009-10-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
49975
49976         Reviewed by Simon Hausmann.
49977
49978         [Qt] Update mediaControls CSS
49979
49980         * css/mediaControlsQt.css:
49981
49982 2009-10-06  Pavel Feldman  <pfeldman@chromium.org>
49983
49984         Reviewed by Timothy Hatcher.
49985
49986         Web Inspector: Get rid of Preferences.ignoreWhitespace.
49987
49988         https://bugs.webkit.org/show_bug.cgi?id=30092
49989
49990         * inspector/front-end/DOMAgent.js:
49991         (WebInspector.DOMAgent):
49992         (WebInspector.DOMAgent.prototype._childNodeCountUpdated):
49993         * inspector/front-end/ElementsTreeOutline.js:
49994         (WebInspector.ElementsTreeOutline.prototype.update):
49995         (WebInspector.ElementsTreeElement):
49996         (WebInspector.ElementsTreeElement.prototype.onpopulate):
49997         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
49998         (WebInspector.ElementsTreeElement.prototype._updateChildren):
49999         * inspector/front-end/TextPrompt.js:
50000         (WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):
50001         * inspector/front-end/inspector.js:
50002         * inspector/front-end/utilities.js:
50003         (Node.prototype.rangeOfWord):
50004         (traverseNextNode):
50005         (traversePreviousNode):
50006         (onlyTextChild):
50007
50008 2009-10-06  Pavel Feldman  <pfeldman@chromium.org>
50009
50010         Reviewed by Timothy Hatcher.
50011
50012         Web Inspector: Do not call nodeTitleInfo twice +
50013         followup fixes for r49101.
50014
50015         https://bugs.webkit.org/show_bug.cgi?id=30087
50016
50017         * inspector/front-end/ElementsTreeOutline.js:
50018         (WebInspector.ElementsTreeElement):
50019
50020 2009-10-06  Girish Ramakrishnan  <girish@forwardbias.in>
50021
50022         Reviewed by Simon Hausmann.
50023
50024         [Qt] Windowless plugins: Enable painting on printer.
50025
50026         The print preview dialog crashed because the depth of the drawable
50027         changed owing to a bug in Qt - if you draw onto a 32-bit pixmap,
50028         and set a 24-bit pixmap as source, it will convert the source to
50029         32-bit.
50030
50031         1210fa5b2d65895ad2be1f9ca7cae586e3b29dc1 is the bug fix in Qt.
50032
50033         https://bugs.webkit.org/show_bug.cgi?id=20081
50034
50035         * plugins/qt/PluginViewQt.cpp:
50036         (WebCore::PluginView::paint):
50037
50038 2009-10-06  Girish Ramakrishnan  <girish@forwardbias.in>
50039
50040         Reviewed by Simon Hausmann.
50041
50042         [Qt] Windowless plugins: Make painting and events work when page is zoomed.
50043
50044         The element gets resized when zoomed. So, we have to make sure that we resize
50045         the drawable and do a setwindow call. Multiple calls to setwindow do not
50046         crash plugin in windowless mode (unlike in windowed mode).
50047
50048         For mouse events we have to convert the pos to post-zoom position.
50049
50050         https://bugs.webkit.org/show_bug.cgi?id=20081
50051
50052         * plugins/qt/PluginViewQt.cpp:
50053         (WebCore::setXButtonEventSpecificFields):
50054         (WebCore::setXMotionEventSpecificFields):
50055         (WebCore::setXCrossingEventSpecificFields):
50056         (WebCore::PluginView::handleMouseEvent):
50057         (WebCore::PluginView::setNPWindowIfNeeded):
50058
50059 2009-10-06  Girish Ramakrishnan  <girish@forwardbias.in>
50060
50061         Reviewed by Simon Hausmann.
50062
50063         [Qt] Windowless plugins: Add PluginQuirkRequiresDefaultScreenDepth quirk for Flash.
50064
50065         Flash does not use the visual provided by us to draw into the drawable.
50066         It instead uses the system default visual (as returned by XDefaultVisual).
50067         This means that if the screen default visual is 24-bit, Flash won't be
50068         able to draw on 32-bit drawable created by us. This is a bug in Flash
50069         and for the moment, the above quirk is only set for Flash.
50070
50071         Our strategy to create the drawable:
50072         1. Create a 32-bit drawable if the default screen depth is 32 or the
50073         quirk is not set (i.e not flash)
50074         2. If we didn't create a 32-bit drawable (maybe the Display has no such
50075         visual), we create a drawable with default screen depth.
50076
50077         As a result of the above changes, content propagation behavior changes as:
50078         1. Content propagation is possible only if the drawable we create and
50079         Qt's backing store are of the same depth.
50080         2. If we created a 32-bit drawable, there is no need for content
50081         propagation (Qt will take care of it).
50082
50083         https://bugs.webkit.org/show_bug.cgi?id=20081
50084
50085         * plugins/PluginPackage.cpp:
50086         (WebCore::PluginPackage::determineQuirks):
50087         * plugins/PluginQuirkSet.h:
50088         (WebCore::):
50089         * plugins/PluginView.cpp:
50090         (WebCore::PluginView::PluginView):
50091         * plugins/PluginView.h:
50092         * plugins/qt/PluginViewQt.cpp:
50093         (WebCore::PluginView::updatePluginWidget):
50094         (WebCore::PluginView::paint):
50095         (WebCore::getVisualAndColormap):
50096         (WebCore::PluginView::platformStart):
50097         (WebCore::PluginView::platformDestroy):
50098
50099 2009-10-06  Fumitoshi Ukai  <ukai@chromium.org>
50100
50101         Reviewed by Ariya Hidayat.
50102
50103         Qt build fix.
50104         https://bugs.webkit.org/show_bug.cgi?id=29362.
50105
50106         In Qt 4.5, a new function QPainter::fillRect(QRect, QColor) is
50107         introduced to avoid the expensive construction of QBrush.
50108         By casting WebCore::Color to QColor, we can compile on Qt 4.4
50109         and use optimization for solid color fill in Qt 4.5.
50110
50111         * platform/graphics/qt/GraphicsContextQt.cpp:
50112         (WebCore::GraphicsContext::drawRect):
50113         (WebCore::GraphicsContext::drawLine):
50114         (WebCore::drawBorderlessRectShadow):
50115
50116 2009-10-05  Andrei Popescu  <andreip@google.com>
50117
50118         Reviewed by Eric Carlson.
50119
50120         Allow the platform media player to know the <video> poster URL.
50121         Add MediaPlayerPrivate::prepareToPlay() to support media engines
50122         that do not buffer video data automatically. This method allows
50123         such media engines to start the buffering just before starting
50124         playback.
50125         https://bugs.webkit.org/show_bug.cgi?id=29133
50126
50127         All platforms that currently implement <video> return false
50128         in MediaPlayerPrivate::canLoadPoster() and do nothing in
50129         MediaPlayerPrivate::prepareToPlay() their behavior is
50130         unchanged. The current set of media test should then be
50131         sufficient to guarantee that this patch does not break anything.
50132
50133         * html/HTMLMediaElement.cpp:
50134         (WebCore::HTMLMediaElement::loadResource):
50135         After the MediaPlayer is created, inform it what the poster URL is.
50136         (WebCore::HTMLMediaElement::updatePlayState):
50137         Add another case where prepareToPlay is called for the platforms
50138         that do not buffer video content automatically.
50139         (WebCore::HTMLMediaElement::couldPlayIfEnoughData)
50140         Same as potentiallyPlaying, except that we don't check for
50141         the readyState being at least HAVE_FUTURE_DATA.
50142         * platform/graphics/MediaPlayer.cpp:
50143         (WebCore::NullMediaPlayerPrivate::canLoadPoster):
50144         Empty implementation for the NullMediaPlayerPrivate.
50145         (WebCore::NullMediaPlayerPrivate::setPoster):
50146         Empty implementation for the NullMediaPlayerPrivate.
50147         (WebCore::MediaPlayer::canLoadPoster):
50148         Proxy to the m_private.
50149         (WebCore::MediaPlayer::setPoster):
50150         Proxy to m_private.
50151         * platform/graphics/MediaPlayer.h:
50152         * platform/graphics/MediaPlayerPrivate.h:
50153         (WebCore::MediaPlayerPrivateInterface::canLoadPoster):
50154         (WebCore::MediaPlayerPrivateInterface::setPoster):
50155         Add new methods that allow the platform player to receive the poster URL.
50156         (WebCore::MediaPlayerPrivateInterface::prepareToPlay):
50157         Notifies the media engine that playback should start. The media engine
50158         should start preparing (e.g. by initializing the player and starting to buffer)
50159         and call back when the state is changed to HAVE_FUTURE_DATA.
50160
50161 2009-10-06  David Levin  <levin@chromium.org>
50162
50163         Reviewed by Oliver Hunt.
50164
50165         StringImpl needs a method to get an instance for another thread which doesn't copy the underlying buffer.
50166         https://bugs.webkit.org/show_bug.cgi?id=30095
50167
50168         All String::copy methods were changed to call either threadsafeCopy or crossThreadString. The method
50169         call was made threadsafeCopy unless I could show that threadsafety wasn't needed.
50170
50171         No visible change in functionality so no new tests.
50172
50173         * dom/MessagePortChannel.cpp:
50174         (WebCore::MessagePortChannel::EventData::EventData):
50175         * loader/WorkerThreadableLoader.cpp:
50176         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
50177         * loader/icon/IconDatabase.cpp:
50178         (WebCore::IconDatabase::open):
50179         (WebCore::IconDatabase::iconForPageURL):
50180         (WebCore::IconDatabase::iconURLForPageURL):
50181         (WebCore::IconDatabase::retainIconForPageURL):
50182         (WebCore::IconDatabase::releaseIconForPageURL):
50183         (WebCore::IconDatabase::setIconDataForIconURL):
50184         (WebCore::IconDatabase::setIconURLForPageURL):
50185         (WebCore::IconDatabase::databasePath):
50186         (WebCore::IconDatabase::defaultDatabaseFilename):
50187         * page/SecurityOrigin.cpp:
50188         (WebCore::SecurityOrigin::SecurityOrigin): Since this is used by SecurityOrigin::threadsafeCopy,
50189         it makes threadsafe calls.
50190         (WebCore::SecurityOrigin::threadsafeCopy): The only place that called this
50191         needed a threadsafe method.
50192         * page/SecurityOrigin.h:
50193         * platform/CrossThreadCopier.cpp:
50194         (WebCore::::copy):
50195         * platform/KURL.cpp:
50196         (WebCore::KURL::copy):
50197         * platform/network/HTTPHeaderMap.cpp:
50198         (WebCore::HTTPHeaderMap::copyData):
50199         * platform/network/ResourceErrorBase.cpp:
50200         (WebCore::ResourceErrorBase::copy):
50201         * platform/network/ResourceRequestBase.cpp:
50202         (WebCore::ResourceRequestBase::copyData):
50203         * platform/network/ResourceResponseBase.cpp:
50204         (WebCore::ResourceResponseBase::copyData):
50205         * platform/sql/SQLValue.cpp:
50206         (WebCore::SQLValue::SQLValue):
50207         (WebCore::SQLValue::string):
50208         * platform/sql/SQLValue.h:
50209         (WebCore::SQLValue::SQLValue):
50210         All constructors now initialize the m_number which is a double. Failure to
50211         do so can result in unexpected crashes when it is copied in the copy constructor.
50212         See http://blogs.msdn.com/oldnewthing/archive/2008/07/02/8679191.aspx, I was that colleague.
50213         * platform/text/PlatformString.h:
50214         * platform/text/String.cpp:
50215         (WebCore::String::threadsafeCopy):
50216         (WebCore::String::crossThreadString):
50217         * platform/text/StringImpl.cpp:
50218         Removed StringImpl::substringCopy which was no longer being used anywhere.
50219         (WebCore::StringImpl::threadsafeCopy): Changed the name to indicate that
50220         it is threadsafe.
50221         (WebCore::StringImpl::crossThreadString): The way to get strings for
50222         another thread which is not threadsafe. This shares the underlying buffer
50223         with both strings and gives them a way to do threadsafe refcounting for it.
50224         * platform/text/StringImpl.h:
50225         * storage/ChangeVersionWrapper.cpp:
50226         (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
50227         * storage/Database.cpp:
50228         (WebCore::updateGuidVersionMap):
50229         (WebCore::Database::Database):
50230         (WebCore::Database::getVersionFromDatabase):
50231         (WebCore::Database::setVersionInDatabase):
50232         (WebCore::Database::version):
50233         (WebCore::Database::setExpectedVersion):
50234         (WebCore::Database::securityOriginCopy):
50235         (WebCore::Database::stringIdentifier):
50236         * storage/DatabaseTracker.cpp:
50237         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
50238         * storage/OriginQuotaManager.cpp:
50239         (WebCore::OriginQuotaManager::addDatabase):
50240         * storage/SQLError.h:
50241         (WebCore::SQLError::message):
50242         (WebCore::SQLError::SQLError):
50243         * storage/SQLStatement.cpp:
50244         (WebCore::SQLStatement::SQLStatement):
50245         * storage/StorageAreaSync.cpp:
50246         (WebCore::StorageAreaSync::syncTimerFired):
50247         * storage/StorageMap.cpp:
50248         (WebCore::StorageMap::importItem):
50249         * storage/StorageNamespaceImpl.cpp:
50250         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
50251         * storage/StorageSyncManager.cpp:
50252         (WebCore::StorageSyncManager::StorageSyncManager):
50253         * workers/DefaultSharedWorkerRepository.cpp:
50254         (WebCore::SharedWorkerProxy::url): Do the copy of the url in a way that is threadsafe.
50255         (WebCore::SharedWorkerProxy::name):
50256         (WebCore::SharedWorkerProxy::SharedWorkerProxy):
50257         (WebCore::DefaultSharedWorkerRepository::getProxy): Do the copy of the url in a way that is threadsafe.
50258         * workers/SharedWorkerThread.cpp:
50259         (WebCore::SharedWorkerThread::SharedWorkerThread):
50260         * workers/WorkerMessagingProxy.cpp:
50261         (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
50262         (WebCore::MessageWorkerTask::MessageWorkerTask):
50263         (WebCore::WorkerExceptionTask::WorkerExceptionTask):
50264         * workers/WorkerRunLoop.cpp:
50265         (WebCore::WorkerRunLoop::Task::Task):
50266         (WebCore::WorkerRunLoop::postTaskForMode):
50267         * workers/WorkerThread.cpp:
50268         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
50269
50270 2009-10-06  Girish Ramakrishnan  <girish@forwardbias.in>
50271
50272         Reviewed by Simon Hausmann.
50273
50274         [Qt] Windowless plugins: Use X Pixmap instead of QPixmap.
50275
50276         This has the following advantages:
50277         1. Allows more sharing of code between gtk and Qt ports in the future
50278         2. QPixmap creates 24-bit by default. We have to later 'upgrade' it to 32-bit.
50279         3. QPixmap may sometime change depth behind our back! This will require us to
50280         update the plugin about the new visual and colormap.
50281         4. We cannot ensure that QPixmap is backed by a X Drawable. For example, with
50282         -graphicssystem raster, QPixmap uses the raster (image) backend.
50283
50284         https://bugs.webkit.org/show_bug.cgi?id=20081
50285
50286         * plugins/PluginView.cpp:
50287         (WebCore::PluginView::PluginView):
50288         * plugins/PluginView.h:
50289         * plugins/qt/PluginViewQt.cpp:
50290         (WebCore::PluginView::updatePluginWidget):
50291         (WebCore::PluginView::paint):
50292         (WebCore::PluginView::platformDestroy):
50293
50294 2009-10-06  Girish Ramakrishnan  <girish@forwardbias.in>
50295
50296         Reviewed by Simon Hausmann.
50297
50298         [Qt] Add support for windowless NPAPI plugins
50299
50300         https://bugs.webkit.org/show_bug.cgi?id=20081
50301
50302         * plugins/PluginView.cpp:
50303         (WebCore::PluginView::setFrameRect):
50304         (WebCore::PluginView::handleEvent):
50305         (WebCore::PluginView::PluginView):
50306         * plugins/PluginView.h:
50307         * plugins/qt/PluginViewQt.cpp:
50308         (WebCore::PluginView::updatePluginWidget):
50309         (WebCore::PluginView::paint):
50310         (WebCore::PluginView::dispatchNPEvent):
50311         (WebCore::setSharedXEventFields):
50312         (WebCore::PluginView::initXEvent):
50313         (WebCore::setXKeyEventSpecificFields):
50314         (WebCore::PluginView::handleKeyboardEvent):
50315         (WebCore::inputEventState):
50316         (WebCore::setXButtonEventSpecificFields):
50317         (WebCore::setXMotionEventSpecificFields):
50318         (WebCore::setXCrossingEventSpecificFields):
50319         (WebCore::PluginView::handleMouseEvent):
50320         (WebCore::PluginView::handleFocusInEvent):
50321         (WebCore::PluginView::handleFocusOutEvent):
50322         (WebCore::PluginView::setNPWindowRect):
50323         (WebCore::PluginView::setNPWindowIfNeeded):
50324         (WebCore::PluginView::getValueStatic):
50325         (WebCore::PluginView::invalidateRect):
50326         (WebCore::PluginView::invalidateRegion):
50327         (WebCore::PluginView::forceRedraw):
50328         (WebCore::getPluginDisplay):
50329         (WebCore::PluginView::platformStart):
50330
50331 2009-10-05  Dirk Schulze  <krit@webkit.org>
50332
50333         Reviewed by Nikolas Zimmermann.
50334
50335         SVG Filters do not support source images besides "sourceGraphic"
50336         [https://bugs.webkit.org/show_bug.cgi?id=6022]
50337
50338         Add support for SourceAlpha to SVG filters.
50339
50340         Test: svg/filters/sourceAlpha.svg
50341
50342         * platform/graphics/filters/SourceAlpha.cpp:
50343         (WebCore::SourceAlpha::calculateEffectRect):
50344         (WebCore::SourceAlpha::apply):
50345         * platform/graphics/filters/SourceAlpha.h:
50346
50347 2009-10-05  John Abd-El-Malek  <jam@chromium.org>
50348
50349         Reviewed by Adam Barth.
50350
50351         Fix reliablity bot crash in DateExtension.
50352         https://bugs.webkit.org/show_bug.cgi?id=30033
50353
50354         There were a few problems using the weak persistent pointers because no one else had a
50355         handle to them.  The new approach stores them as a hidden value on the Date constructor.
50356
50357         * bindings/v8/DateExtension.cpp:
50358         (WebCore::DateExtension::setAllowSleep):
50359         (WebCore::DateExtension::GetNativeFunction):
50360         (WebCore::DateExtension::Setup):
50361         (WebCore::DateExtension::OnSleepDetected):
50362         * bindings/v8/DateExtension.h:
50363         * bindings/v8/V8HiddenPropertyName.cpp:
50364         (WebCore::V8HiddenPropertyName::sleepFunction):
50365         * bindings/v8/V8HiddenPropertyName.h:
50366
50367 2009-10-05  Stephanie Lewis  <slewis@apple.com>
50368
50369         Reviewed by Dan Bernstein.
50370
50371         Crash when trying to load a null stylesheet for a site specific hack. 
50372         https://bugs.webkit.org/show_bug.cgi?id=30105
50373
50374         Created a testcase and tested in browser.  DRT doesn't test
50375         site specific hacks.
50376
50377         * html/HTMLLinkElement.cpp:
50378         (WebCore::HTMLLinkElement::setCSSStyleSheet):
50379
50380 2009-10-05  James Robinson  <jamesr@google.com>
50381
50382         Reviewed by Darin Adler.
50383
50384         Fix forward declaration (struct vs class mismatch)
50385
50386         https://bugs.webkit.org/show_bug.cgi?id=30094
50387
50388         * loader/RedirectScheduler.h:
50389
50390 2009-10-05  Julie Parent  <jparent@chromium.org>
50391
50392         Unreviewed, last Chromium build fix corresponding to revision 49113.
50393         Add include for BeforeLoadEvent to DOMObjectsInclude.h.
50394
50395         * bindings/v8/DOMObjectsInclude.h:
50396
50397 2009-10-05  Simon Fraser  <simon.fraser@apple.com>
50398
50399         Fix Windows build.
50400
50401         * html/HTMLMediaElement.cpp:
50402
50403 2009-10-05  Simon Fraser  <simon.fraser@apple.com>
50404
50405         Fix the build: MediaControllerThemeQT was renamed to MediaControllerThemeQuickTime.
50406
50407         * rendering/RenderThemeMac.mm:
50408         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
50409
50410 2009-10-05  Pierre d'Herbemont  <pdherbemont@webkit.org>
50411
50412         Reviewed by Simon Fraser
50413         
50414         Support fullscreen in MediaPlayer (Mac)
50415         https://bugs.webkit.org/show_bug.cgi?id=26742
50416
50417         Add a fullscreen button to the <video> controller if the media engine,
50418         and the theme have support for fullscreen, and can show appropriate controls.
50419         Clicking the button calls through the ChromeClient to the WebVideoFullscreenController
50420         in WebKit to do a nice animation to fullscreen, with a custom controller.
50421
50422         * DerivedSources.make:
50423         * WebCore.Video.exp: Added.
50424         New export file for when VIDEO is enabled.
50425         
50426         * WebCore.base.exp: Export WebCore::HTMLNames::videoTag
50427         * WebCore.xcodeproj/project.pbxproj: New files
50428         
50429         * html/HTMLMediaElement.h:
50430         * html/HTMLMediaElement.cpp:
50431         (WebCore::HTMLMediaElement::HTMLMediaElement):
50432         (WebCore::HTMLMediaElement::willRemove):
50433         (WebCore::HTMLMediaElement::screenRect):
50434         (WebCore::HTMLMediaElement::enterFullscreen):
50435         (WebCore::HTMLMediaElement::exitFullscreen):
50436         (WebCore::HTMLMediaElement::platformMedia):
50437         Add fullscreen logic. platformMedia returns a pointer to platform-specific playback data
50438         used for fullscreen.
50439         
50440         * html/HTMLVideoElement.h:
50441         * html/HTMLVideoElement.cpp:
50442         (WebCore::HTMLVideoElement::supportsFullscreen): Check with both the player and the ChromeClient
50443         to see if it's possile to enter fullscreen for this element.
50444         
50445         * page/ChromeClient.h:
50446         (WebCore::ChromeClient::supportsFullscreenForNode):
50447         (WebCore::ChromeClient::enterFullscreenForNode):
50448         (WebCore::ChromeClient::exitFullscreenForNode):
50449         New methods
50450         
50451         * platform/graphics/MediaPlayer.h:
50452         * platform/graphics/MediaPlayer.cpp:
50453         (WebCore::NullMediaPlayerPrivate::platformMedia):
50454         (WebCore::MediaPlayer::platformMedia):
50455         * platform/graphics/MediaPlayerPrivate.h:
50456         (WebCore::MediaPlayerPrivateInterface::platformMedia):
50457         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
50458         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
50459         (WebCore::MediaPlayerPrivate::platformMedia):
50460         (WebCore::MediaPlayerPrivate::supportsFullscreen):
50461         New methods to return platform-specific playback data for fullscreen.
50462         
50463         * rendering/MediaControlElements.cpp:
50464         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
50465         Hook up the fullscreen button.
50466         * rendering/RenderThemeMac.h:
50467         * rendering/RenderThemeMac.mm:
50468         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
50469         Allow the RenderThemeMac to make a decision about the availability of fullscreen based
50470         on the QuickTime version, since this affects what controls are availabl.e
50471
50472 2009-10-05  Kevin Decker  <kdecker@apple.com>
50473
50474         Export a few more methods from Settings.h
50475         
50476         Rubberstamped by Jon Honeycutt.
50477         
50478         * WebCore.base.exp:
50479
50480 2009-10-05  Dmitry Titov  <dimich@chromium.org>
50481
50482         Reviewed by Darin Adler.
50483
50484         1-char fix for obviously reverse condition.
50485         https://bugs.webkit.org/show_bug.cgi?id=30100
50486         No test since the only difference is a timing of GC.
50487
50488         * bindings/js/ScriptCachedFrameData.cpp:
50489         (WebCore::ScriptCachedFrameData::clear): Revert condition. Almost a typo.
50490
50491 2009-09-30  Kenneth Russell  <kbr@google.com>
50492
50493         Reviewed by Darin Fisher.
50494
50495         Update platform-specific #ifdefs in GraphicsContext3D.h for the
50496         Chromium port.
50497         https://bugs.webkit.org/show_bug.cgi?id=29936
50498
50499         * platform/graphics/GraphicsContext3D.h:
50500         Changed #if PLATFORM(SKIA) to #if PLATFORM(CHROMIUM).
50501
50502 2009-10-05  Dan Bernstein  <mitz@apple.com>
50503
50504         Reviewed by Darin Adler.
50505
50506         REGRESSION (r47440): Inserting text in the middle of content in a scrolled textfield results in painting bugs
50507         <rdar://problem/7269108>
50508         https://bugs.webkit.org/show_bug.cgi?id=29982
50509
50510         Test: fast/repaint/line-in-scrolled-clipped-block.html
50511
50512         * rendering/RenderBlock.cpp:
50513         (WebCore::RenderBlock::layoutBlock): Use the unclipped overflow rect
50514         (including layout overflow) for the repaint rect calculation.
50515
50516 2009-10-05  Drew Wilson  <atwilson@google.com>
50517
50518         Reviewed by David Levin.
50519
50520         Chromium wants to turn off SharedWorkers at runtime
50521         https://bugs.webkit.org/show_bug.cgi?id=29757
50522
50523         * bindings/js/JSDOMWindowCustom.cpp:
50524         (WebCore::JSDOMWindow::sharedWorker):
50525         Now returns jsUndefined if isAvailable() returns false, to allow SharedWorkers to be disabled at runtime.
50526         * workers/DefaultSharedWorkerRepository.cpp:
50527         (WebCore::SharedWorkerRepository::isAvailable):
50528         Made SharedWorkers available by default.
50529         * workers/SharedWorkerRepository.h:
50530         Added definition for SharedWorkerRepository::isAvailable().
50531
50532 2009-10-05  Hironori Bono  <hbono@chromium.org>
50533
50534         Reviewed by Eric Seidel.
50535
50536         A super quick fix for Bug 28710.
50537
50538         https://bugs.webkit.org/show_bug.cgi?id=28710
50539
50540         This change just resets the style sent to addStyleMarkup() to avoid an assertion error
50541         and creates an empty style when computedStyleAtPosition is 0 to avoid a crash.
50542         (This change is nothing but a better-than-crash change.)
50543
50544         Tests: editing/selection/select-crash-001.html
50545                editing/selection/select-crash-002.html
50546
50547         * editing/ApplyStyleCommand.cpp:
50548         (WebCore::editingStyleAtPosition): Resets the style sent to addStyleMarkup() if it is not valid.
50549         * editing/markup.cpp:
50550         (WebCore::createMarkup): Creates an empty style if computedStyleAtPosition is 0.
50551
50552 2009-10-05  Sam Weinig  <sam@webkit.org>
50553
50554         Reviewed by Mark Rowe.
50555
50556         Silence duplicate errors logged for missing getComputedStyle
50557         implementations. Improves the error message as well.
50558
50559         * css/CSSComputedStyleDeclaration.cpp:
50560         (WebCore::logUnimplementedPropertyID):
50561         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
50562
50563 2009-10-05  Julie Parent  <jparent@chromium.org>
50564
50565         Unreviewed, Chromium build fix #3.  Add V8BeforeLoadEvent.[cc|h] to derived sources.
50566
50567         * bindings/v8/DerivedSourcesAllInOne.cpp:
50568         * bindings/v8/V8Index.cpp:
50569
50570 2009-10-05  Mark Rowe  <mrowe@apple.com>
50571
50572         Try and fix the GTK build.
50573
50574         * GNUmakefile.am:
50575
50576 2009-10-05  Julie Parent  <jparent@chromium.org>
50577
50578         Unreviewed, Chromium build fix #2.  Add new BEFORELOADEVENT to V8ClassIndex.
50579
50580         * bindings/v8/V8Index.h:
50581
50582 2009-10-05  Julie Parent  <jparent@chromium.org>
50583
50584         Unreviewed, Chromium build fix.  Missing "," after entry for BeforeLoadEvent.idl. 
50585
50586         * WebCore.gypi:
50587
50588 2009-10-05  Dave Hyatt  <hyatt@apple.com>
50589
50590         Reviewed by Sam Weinig.
50591
50592         Add a beforeload event that will be fired before subresources load. (It isn't fired yet.)  The event
50593         has one field, the URL that is going to be requested.  Setting preventDefault will stop the load
50594         from occurring.
50595
50596         * DerivedSources.cpp:
50597         * DerivedSources.make:
50598         * WebCore.gypi:
50599         * WebCore.vcproj/WebCore.vcproj:
50600         * WebCore.xcodeproj/project.pbxproj:
50601         * dom/BeforeLoadEvent.h: Added.
50602         (WebCore::BeforeLoadEvent::create):
50603         (WebCore::BeforeLoadEvent::initBeforeLoadEvent):
50604         (WebCore::BeforeLoadEvent::url):
50605         (WebCore::BeforeLoadEvent::BeforeLoadEvent):
50606         * dom/BeforeLoadEvent.idl: Added.
50607         * dom/EventNames.h:
50608         * page/DOMWindow.idl:
50609
50610 2009-10-05  Priit Laes  <plaes@plaes.org>
50611
50612         Reviewed by Gustavo Noronha.
50613
50614         Add Gentoo-specific paths for searching browser plugins.
50615         https://bugs.webkit.org/show_bug.cgi?id=30088
50616
50617         * plugins/PluginDatabase.cpp:
50618         (WebCore::PluginDatabase::defaultPluginDirectories):
50619
50620 2009-10-02  Chris Marrin  <cmarrin@apple.com>
50621
50622         Reviewed by Adele Peterson.
50623
50624         Add functionality to pause/throttle CSS transitions/animations in a WebView
50625         https://bugs.webkit.org/show_bug.cgi?id=29942
50626
50627         Exporting call from AnimationController
50628
50629         * WebCore.base.exp:
50630
50631 2009-10-05  Kevin Decker  <kdecker@apple.com>
50632
50633         Rubberstamped by Anders Carlsson.
50634         
50635         * WebCore.base.exp: Update export of HaltablePlugin/PluginHalterClient.
50636         * WebCore.xcodeproj/project.pbxproj: Likewise.
50637
50638 2009-10-05  Eric Seidel  <eric@webkit.org>
50639
50640         No review, rolling out r49104.
50641         http://trac.webkit.org/changeset/49104
50642
50643         * html/HTMLInputElement.cpp:
50644         * html/HTMLInputElement.h:
50645         * html/HTMLInputElement.idl:
50646         * html/ValidityState.cpp:
50647         * html/ValidityState.h:
50648         (WebCore::ValidityState::rangeUnderflow):
50649         (WebCore::ValidityState::rangeOverflow):
50650         * rendering/RenderSlider.cpp:
50651         (WebCore::SliderRange::SliderRange):
50652         (WebCore::SliderRange::valueFromElement):
50653
50654 2009-10-05  Kent Tamura  <tkent@chromium.org>
50655
50656         Reviewed by Eric Seidel.
50657
50658         Update style immediately when validation-related values are updated.
50659         https://bugs.webkit.org/show_bug.cgi?id=28868
50660
50661         In order to apply :valid, :invalid, :optional or :required lively,
50662           - call setNeedsStyleRecalc() when properties which can change
50663             willValidate state are updated, and
50664              (Parent form element, name, disabled, readonly)
50665           - call updateValidity() when properties which can change validity
50666             state are updated. (value, pattern, required)
50667
50668         Tests: fast/forms/input-live-pseudo-selectors.html
50669                fast/forms/textarea-live-pseudo-selectors.html
50670
50671         * html/HTMLFormControlElement.cpp:
50672         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
50673         (WebCore::HTMLFormControlElement::parseMappedAttribute):
50674         (WebCore::HTMLFormControlElement::required):
50675         (WebCore::HTMLFormControlElement::updateValidity):
50676         * html/HTMLFormControlElement.h:
50677         * html/HTMLInputElement.cpp:
50678         (WebCore::HTMLInputElement::setInputType):
50679         (WebCore::HTMLInputElement::parseMappedAttribute):
50680         (WebCore::HTMLInputElement::setValue):
50681         (WebCore::HTMLInputElement::setValueFromRenderer):
50682         (WebCore::HTMLInputElement::setFileListFromRenderer):
50683         * html/HTMLTextAreaElement.cpp:
50684         (WebCore::HTMLTextAreaElement::setValue):
50685         * rendering/RenderTextControlMultiLine.cpp:
50686         (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
50687
50688 2009-10-05  Kent Tamura  <tkent@chromium.org>
50689
50690         Reviewed by Darin Adler.
50691
50692         Implement min/max attributes, ValidityState.rangeUnderflow and
50693         ValidityState.rangeOverflow for <input type=number> and <input type=range>
50694         https://bugs.webkit.org/show_bug.cgi?id=29069
50695
50696         Tests: fast/forms/ValidityState-rangeOverflow-number.html
50697                fast/forms/ValidityState-rangeOverflow-range.html
50698                fast/forms/ValidityState-rangeUnderflow-number.html
50699                fast/forms/ValidityState-rangeUnderflow-range.html
50700                fast/forms/input-minmax.html
50701
50702         * html/HTMLInputElement.cpp:
50703         (WebCore::HTMLInputElement::rangeUnderflow):
50704         (WebCore::HTMLInputElement::rangeOverflow):
50705         (WebCore::HTMLInputElement::rangeMinimum):
50706         (WebCore::HTMLInputElement::rangeMaximum):
50707         * html/HTMLInputElement.h:
50708         * html/HTMLInputElement.idl:
50709         * html/ValidityState.cpp:
50710         (WebCore::ValidityState::rangeUnderflow):
50711         (WebCore::ValidityState::rangeOverflow):
50712         * html/ValidityState.h:
50713         * rendering/RenderSlider.cpp:
50714         (WebCore::SliderRange::SliderRange):
50715         (WebCore::SliderRange::valueFromElement):
50716
50717 2009-10-05  Kent Tamura  <tkent@chromium.org>
50718
50719         Reviewed by Eric Seidel.
50720
50721         Introduces
50722          - new CSS pseudo selector: "-webkit-input-list-button"
50723          - new CSS apperance type: "list-button"
50724          - new ControlPart value: "ListButtonPart"
50725         for the UI of the list attribute of the input element, and adds
50726         implementation to draw ListButtonPart on Mac.
50727         The code is guarded by ENABLE(DATALIST).
50728
50729         https://bugs.webkit.org/show_bug.cgi?id=27794
50730
50731         Test: platform/mac/fast/forms/input-list-button-size.html
50732
50733         * css/CSSPrimitiveValueMappings.h:
50734         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
50735         * css/CSSSelector.cpp:
50736         (WebCore::CSSSelector::extractPseudoType):
50737         * css/CSSSelector.h:
50738         (WebCore::CSSSelector::):
50739         * css/CSSStyleSelector.cpp:
50740         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
50741         * css/CSSValueKeywords.in:
50742         * css/html.css:
50743         * html/HTMLInputElement.cpp:
50744         * platform/ThemeTypes.h:
50745         (WebCore::):
50746         * platform/mac/ThemeMac.mm:
50747         (WebCore::listButtonSizes):
50748         (WebCore::button):
50749         (WebCore::paintButton):
50750         (WebCore::ThemeMac::controlSize):
50751         (WebCore::ThemeMac::minimumControlSize):
50752         (WebCore::ThemeMac::controlBorder):
50753         (WebCore::ThemeMac::paint):
50754         * rendering/RenderTheme.cpp:
50755         (WebCore::RenderTheme::adjustStyle):
50756         (WebCore::RenderTheme::paint):
50757         (WebCore::RenderTheme::paintBorderOnly):
50758         (WebCore::RenderTheme::paintDecorations):
50759         * rendering/RenderThemeMac.mm:
50760         (WebCore::RenderThemeMac::adjustRepaintRect):
50761         * rendering/style/RenderStyleConstants.h:
50762         (WebCore::):
50763
50764 2009-10-05  Brian Weinstein  <bweinstein@apple.com>
50765
50766         Reviewed by Timothy Hatcher.
50767
50768         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30065>
50769         nodeTitleInfo should be placed in ElementsTreeOutline.
50770         
50771         Move nodeTitleInfo into ElementsTreeOutline.js from utilities.js.
50772
50773         * inspector/front-end/ElementsTreeOutline.js:
50774         (WebInspector.ElementsTreeElement):
50775         (WebInspector.ElementsTreeElement.prototype._updateTitle):
50776         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
50777         * inspector/front-end/utilities.js:
50778
50779 2009-10-02  Yael Aharon  <yael.aharon@nokia.com>
50780
50781         Reviewed by Simon Hausmann.
50782
50783         [Qt] Inform the application when a new request is created
50784         https://bugs.webkit.org/show_bug.cgi?id=29975
50785
50786         Emit a signal each time a request is created, with the request and the frame
50787         that created it.
50788
50789         * platform/network/qt/QNetworkReplyHandler.cpp:
50790         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
50791         (WebCore::QNetworkReplyHandler::start):
50792
50793 2009-10-05  Ben Murdoch  <benm@google.com>
50794
50795         Reviewed by Darin Adler.
50796
50797         Add an ASSERT in updateGuidVersionMap.
50798         https://bugs.webkit.org/show_bug.cgi?id=30077
50799
50800         * storage/Database.cpp:
50801         (WebCore::updateGuidVersionMap): ASSERT that the guidMutex() is locked.
50802
50803 2009-10-05  Nate Chapin  <japhet@chromium.org>
50804
50805         Reviewed by Eric Seidel.
50806
50807         Allow V8 to throw an exception in _NPN_SetException without worrying about context
50808         if we don't have enough information to find the correct context.
50809
50810         https://bugs.webkit.org/show_bug.cgi?id=30026
50811
50812         Part of the fix for Chromium's failure of LayouTests/plugins/netscape-throw-exception.html.
50813
50814         * bindings/v8/NPV8Object.cpp: 
50815         (_NPN_SetException): Don't suppress the exception if we can't find the relevant context.
50816
50817 2009-10-05  Mikhail Naganov  <mnaganov@chromium.org>
50818
50819         Reviewed by Timothy Hatcher.
50820
50821         Place "Close" button in docked mode on the same side as the window "Close" button in detached mode.
50822
50823         https://bugs.webkit.org/show_bug.cgi?id=29961
50824
50825         * inspector/front-end/inspector.css:
50826         * inspector/front-end/inspector.html:
50827         * inspector/front-end/inspector.js:
50828         (WebInspector.loaded):
50829
50830 2009-10-05  J-P Nurmi  <jpnurmi@gmail.com>
50831
50832         Reviewed by Simon Hausmann.
50833
50834         [Qt] Added pure virtual QWebPageClient::pluginParent()
50835
50836         https://bugs.webkit.org/show_bug.cgi?id=29710
50837
50838         * platform/qt/QWebPageClient.h:
50839
50840 2009-10-05  Jakub Wieczorek  <faw217@gmail.com>
50841
50842         Reviewed by Tor Arne Vestbø.
50843
50844         [Qt] windowsKeyCodeForKeyEvent() returns a wrong value for the F10 key.
50845         https://bugs.webkit.org/show_bug.cgi?id=30042
50846
50847         * platform/qt/PlatformKeyboardEventQt.cpp:
50848         (WebCore::windowsKeyCodeForKeyEvent):
50849
50850 2009-10-05  Fumitoshi Ukai  <ukai@chromium.org>
50851
50852         Unreviewed build fix for ENABLE(WEB_SOCKETS) and v8.
50853
50854         V8ObjectEventListener.h has been removed at r48978
50855
50856         * bindings/v8/custom/V8WebSocketCustom.cpp:
50857
50858 2009-10-04  Pavel Feldman  <pfeldman@chromium.org>
50859
50860         Reviewed by Timothy Hatcher.
50861
50862         Web Inspector console stops working while JS in IFRAME is paused.
50863
50864         https://bugs.webkit.org/show_bug.cgi?id=29958
50865
50866         * inspector/front-end/InjectedScript.js:
50867         (InjectedScript._evaluateOn):
50868         (InjectedScript.addInspectedNode):
50869         (InjectedScript._ensureCommandLineAPIInstalled):
50870
50871 2009-10-04  Pavel Feldman  <pfeldman@chromium.org>
50872
50873         Reviewed by Timothy Hatcher.
50874
50875         Web Inspector: Introduce inspected object groups for console
50876         and watch evaluation results so that they could be released
50877         explicitly.
50878
50879         https://bugs.webkit.org/show_bug.cgi?id=29891
50880
50881         * bindings/js/JSInspectorBackendCustom.cpp:
50882         (WebCore::JSInspectorBackend::wrapObject):
50883         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
50884         (WebCore::CALLBACK_FUNC_DECL):
50885         * inspector/InspectorBackend.cpp:
50886         (WebCore::InspectorBackend::wrapObject):
50887         (WebCore::InspectorBackend::releaseWrapperObjectGroup):
50888         * inspector/InspectorBackend.h:
50889         * inspector/InspectorBackend.idl:
50890         * inspector/InspectorController.cpp:
50891         (WebCore::InspectorController::clearConsoleMessages):
50892         (WebCore::InspectorController::resetScriptObjects):
50893         (WebCore::InspectorController::wrapObject):
50894         (WebCore::InspectorController::unwrapObject):
50895         (WebCore::InspectorController::releaseWrapperObjectGroup):
50896         * inspector/InspectorController.h:
50897         * inspector/InspectorFrontend.cpp:
50898         (WebCore::InspectorFrontend::addMessageToConsole):
50899         * inspector/front-end/ConsoleView.js:
50900         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
50901         (WebInspector.ConsoleView.prototype.doEvalInWindow):
50902         (WebInspector.ConsoleView.prototype._enterKeyPressed):
50903         * inspector/front-end/InjectedScript.js:
50904         (InjectedScript.evaluate):
50905         (InjectedScript._evaluateAndWrap):
50906         (InjectedScript.evaluateInCallFrame):
50907         * inspector/front-end/ScriptsPanel.js:
50908         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
50909         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
50910         * inspector/front-end/WatchExpressionsSidebarPane.js:
50911         (WebInspector.WatchExpressionsSidebarPane):
50912         (WebInspector.WatchExpressionsSection.prototype.update):
50913
50914 2009-10-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
50915
50916         Reviewed by Eric Carlson.
50917
50918         Move mediaControls extras for the Qt port into WebCore/css like other ports
50919
50920         https://bugs.webkit.org/show_bug.cgi?id=30013
50921
50922         * WebCore.pro:
50923         * WebCore.qrc:
50924         * css/mediaControlsQt.css: Renamed from WebCore/css/qt/mediaControls-extras.css.
50925         * platform/qt/RenderThemeQt.cpp:
50926         (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
50927
50928 2009-10-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
50929
50930         Reviewed by Eric Carlson.
50931
50932         Rename WebCore/css/mediaControlsQT.css and MediaControllerThemeQT
50933
50934         https://bugs.webkit.org/show_bug.cgi?id=30013
50935
50936         The QT suffix has been expanded to QuickTime, to not cause confusion
50937         and name-crashes with similar files in the Qt port.
50938
50939         * DerivedSources.make:
50940         * WebCore.xcodeproj/project.pbxproj:
50941         * css/mediaControlsQuickTime.css: Renamed from WebCore/css/mediaControlsQT.css.
50942         * rendering/RenderThemeMac.mm:
50943         (WebCore::):
50944         (WebCore::mediaControllerTheme):
50945         (WebCore::RenderThemeMac::adjustSliderThumbSize):
50946         (WebCore::getUnzoomedRectAndAdjustCurrentContext):
50947         (WebCore::RenderThemeMac::extraMediaControlsStyleSheet):
50948
50949 2009-10-04  Brian Weinstein  <bweinstein@apple.com>
50950
50951         Reviewed by Timothy Hatcher.
50952         
50953         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30064>
50954         Syntax Highlighting CSS shouldn't be duplicated.
50955
50956         Refactor syntax highlighting CSS into a new file, add it to the
50957         projects, and have SourceFrame.js and inspector.html include the
50958         new CSS file.
50959
50960         * WebCore.gypi:
50961         * WebCore.vcproj/WebCore.vcproj:
50962         * inspector/front-end/SourceFrame.js:
50963         (WebInspector.SourceFrame.prototype._loaded):
50964         * inspector/front-end/inspector.css:
50965         * inspector/front-end/inspector.html:
50966         * inspector/front-end/inspectorSyntaxHighlight.css: Added.
50967         * inspector/front-end/WebKit.qrc:
50968
50969 2009-10-04  Brian Weinstein  <bweinstein@apple.com>
50970
50971         Reviewed by Timothy Hatcher.
50972         
50973         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30062>
50974         Inspector should syntax highlight JS/CSS in elements view.
50975
50976         Add syntax highlighting of CSS and JavaScript tags to the elements panel.
50977         Copied CSS rules from SourceFrame.js to inspector.css, and have the text nodes
50978         in utilities.js call the CSS or JS Syntax highlighters if their parent is a script
50979         or style tag.
50980
50981         * inspector/front-end/inspector.css:
50982         * inspector/front-end/utilities.js:
50983
50984 2009-10-04  Fumitoshi Ukai  <ukai@chromium.org>
50985
50986         Reviewed by Eric Seidel
50987
50988         Enable Web Sockets in chromium build.
50989         https://bugs.webkit.org/show_bug.cgi?id=29917
50990
50991         * WebCore.gyp/WebCore.gyp:
50992
50993 2009-10-04  Xan Lopez  <xlopez@igalia.com>
50994
50995         Reviewed by Gustova Noronha.
50996
50997         [GTK] performs a POST when refreshing a view that was obtained with a GET
50998         https://bugs.webkit.org/show_bug.cgi?id=29761
50999
51000         Update the HTTP method in the request stored by willSendRequest
51001         after a redirect, since it could have changed.
51002
51003         Test: http/tests/navigation/postredirect-reload.html
51004
51005         * platform/network/soup/ResourceHandleSoup.cpp:
51006         (WebCore::restartedCallback):
51007
51008 2009-10-04  Xan Lopez  <xlopez@igalia.com>
51009
51010         Revert previous patch, as the newly added test breaks other tests.
51011
51012         * platform/network/soup/ResourceHandleSoup.cpp:
51013         (WebCore::restartedCallback):
51014
51015 2009-10-04  Xan Lopez  <xlopez@igalia.com>
51016
51017         Reviewed by Gustova Noronha.
51018
51019         [GTK] performs a POST when refreshing a view that was obtained with a GET
51020         https://bugs.webkit.org/show_bug.cgi?id=29761
51021
51022         Update the HTTP method in the request stored by willSendRequest
51023         after a redirect, since it could have changed.
51024
51025         Test: http/tests/navigation/postredirect-reload.html
51026
51027         * platform/network/soup/ResourceHandleSoup.cpp:
51028         (WebCore::restartedCallback):
51029
51030 2009-10-04  Vitaly Repeshko  <vitalyr@chromium.org>
51031
51032         Reviewed by Adam Barth.
51033
51034         [V8] Fixed Function leak in V8LazyEventListener.
51035         (Should fix the remaning leak in
51036         https://bugs.webkit.org/show_bug.cgi?id=29093).
51037         V8LazyEventListeners used to create FunctionTemplates for each
51038         wrapped listener which in turn created Functions that were cached
51039         forever in V8 Context. Now there is at most one such Function per
51040         Context.
51041         https://bugs.webkit.org/show_bug.cgi?id=30060
51042
51043         Added new hidden property name to store toString result:
51044         * bindings/v8/V8HiddenPropertyName.cpp:
51045         * bindings/v8/V8HiddenPropertyName.h:
51046
51047         Switched to static FunctionTemplate:
51048         * bindings/v8/V8LazyEventListener.cpp:
51049         (WebCore::V8LazyEventListenerToString):
51050         (WebCore::V8LazyEventListener::prepareListenerObject):
51051
51052 2009-10-03  Joseph Pecoraro  <joepeck@webkit.org>
51053
51054         Reviewed by Timothy Hatcher.
51055
51056         CSS Source View Should be Syntax Highlighted
51057         https://bugs.webkit.org/show_bug.cgi?id=14359
51058
51059           Support for WebKit's CSS Variables @variables and var()
51060
51061         * inspector/front-end/SourceFrame.js:
51062         (WebInspector.CSSSourceSyntaxHighligher):
51063
51064 2009-10-03  Joseph Pecoraro  <joepeck@webkit.org>
51065
51066         Reviewed by Timothy Hatcher.
51067
51068         Inspector should remember preferences for docked/undocked etc
51069         https://bugs.webkit.org/show_bug.cgi?id=29089
51070
51071         * inspector/front-end/ResourcesPanel.js:
51072         (WebInspector.ResourcesPanel.prototype._toggleLargerResources): toggle the preference
51073         * inspector/front-end/inspector.js:
51074         (WebInspector._loadPreferences): factored out loading preferences
51075         (WebInspector.loaded):
51076
51077 2009-10-03  Joseph Pecoraro  <joepeck@webkit.org>
51078
51079         Reviewed by Timothy Hatcher.
51080
51081         CSS Source View Should be Syntax Highlighted
51082         https://bugs.webkit.org/show_bug.cgi?id=14359
51083
51084           Trigger the Syntax Highlighter for CSS files.
51085
51086         * inspector/front-end/SourceFrame.js:
51087         (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
51088         (WebInspector.SourceFrame.prototype.syntaxHighlightCSS):
51089         * inspector/front-end/SourceView.js:
51090         (WebInspector.SourceView.prototype._contentLoaded):
51091
51092           Factored out the Syntax Highlighting procedure into a "Class"
51093           Added CSSSourceSyntaxHighlighter and JavaScriptSourceSyntaxHighlighter
51094
51095         (WebInspector.SourceSyntaxHighligher):
51096         (WebInspector.SourceSyntaxHighligher.prototype.createSpan):
51097         (WebInspector.SourceSyntaxHighligher.prototype.process.processChunk):
51098         (WebInspector.SourceSyntaxHighligher.prototype.process):
51099         (WebInspector.CSSSourceSyntaxHighligher): the CSS Highlighter
51100         (WebInspector.JavaScriptSourceSyntaxHighligher): the JS Highlighter
51101
51102 2009-10-03  Adam Barth  <abarth@webkit.org>
51103
51104         Reviewed by Sam Weinig.
51105
51106         Factor back-forward list methods out of FrameLoader
51107         https://bugs.webkit.org/show_bug.cgi?id=30037
51108
51109         This change moves these back-forward related methods from FrameLoader
51110         to Page.  It's possible we should move these methods into some kind of
51111         "page controller" object, but we can figure that out in a future patch.
51112
51113         * loader/FrameLoader.cpp:
51114         * loader/FrameLoader.h:
51115         * loader/RedirectScheduler.cpp:
51116         (WebCore::RedirectScheduler::timerFired):
51117         * page/ContextMenuController.cpp:
51118         (WebCore::ContextMenuController::contextMenuItemSelected):
51119         * page/DOMWindow.cpp:
51120         (WebCore::DOMWindow::close):
51121         * page/History.cpp:
51122         (WebCore::History::length):
51123         * page/Page.cpp:
51124         (WebCore::Page::canGoBackOrForward):
51125         (WebCore::Page::goBackOrForward):
51126         (WebCore::Page::getHistoryLength):
51127         * page/Page.h:
51128         * platform/ContextMenu.cpp:
51129         (WebCore::ContextMenu::populate):
51130         (WebCore::ContextMenu::checkOrEnableIfNeeded):
51131
51132 2009-10-02  Pavel Feldman  <pfeldman@chromium.org>
51133
51134         Reviewed by Timothy Hatcher.
51135
51136         Web Inspector: prepare InspectorController for being used from layout tests.
51137         This change adds evaluateForTestInFrontend method with the callback that
51138         allows evaluating arbitrary code in the frontend context.
51139
51140         https://bugs.webkit.org/show_bug.cgi?id=30008
51141
51142         * WebCore.Inspector.exp:
51143         * WebCore.order:
51144         * inspector/InspectorBackend.cpp:
51145         (WebCore::InspectorBackend::didEvaluateForTestInFrontend):
51146         * inspector/InspectorBackend.h:
51147         * inspector/InspectorBackend.idl:
51148         * inspector/InspectorController.cpp:
51149         (WebCore::InspectorController::populateScriptObjects):
51150         (WebCore::InspectorController::evaluateForTestInFrontend):
51151         (WebCore::InspectorController::didEvaluateForTestInFrontend):
51152         * inspector/InspectorController.h:
51153         * inspector/InspectorFrontend.cpp:
51154         (WebCore::InspectorFrontend::evaluateForTestInFrontend):
51155         * inspector/InspectorFrontend.h:
51156         * inspector/front-end/inspector.js:
51157         (WebInspector.evaluateForTestInFrontend):
51158
51159 2009-10-02  Pavel Feldman  <pfeldman@chromium.org>
51160
51161         Reviewed by Timothy Hatcher.
51162
51163         Web Inspector: Node search mode is not getting reset on element selection.
51164
51165         https://bugs.webkit.org/show_bug.cgi?id=30016
51166
51167         * inspector/front-end/ElementsPanel.js:
51168         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
51169
51170 2009-10-02  Brian Weinstein  <bweinstein@apple.com>
51171
51172         Reviewed by Timothy Hatcher.
51173
51174         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30036>
51175         Should be able to resize Cookie Columns.
51176
51177         * inspector/front-end/CookieItemsView.js:
51178         (WebInspector.CookieItemsView.prototype.update.callback):
51179         (WebInspector.CookieItemsView.prototype.update):
51180         (WebInspector.CookieItemsView.prototype.resize):
51181
51182 2009-09-25  Jon Honeycutt  <jhoneycutt@apple.com>
51183
51184         Make WebCore::PluginView participate in plug-in halting.
51185
51186         Reviewed by Sam Weinig.
51187
51188         * platform/graphics/BitmapImage.h:
51189         Declare a create() function that takes an HBITMAP.
51190
51191         * platform/graphics/win/ImageCGWin.cpp:
51192         (WebCore::BitmapImage::create):
51193         Use GetObject() to fill out a DIBSECTION structure for the given
51194         HBITMAP. Call CGBitmapContextCreate() to create a CG context from the
51195         bits of the bitmap. Create a CG image from the context, and pass this
51196         when creating a new BitmapImage.
51197
51198         * plugins/PluginView.cpp:
51199         (WebCore::PluginView::start):
51200         If we successfully started, tell our parent frame's Page.
51201         (WebCore::PluginView::stop):
51202         Tell our parent frame's Page that we stopped.
51203         (WebCore::PluginView::node):
51204
51205         * plugins/PluginView.h:
51206         Inherit from HaltablePlugin.
51207         (WebCore::PluginView::setPlatformPluginWidget):
51208         On platforms where the platform plug-in widget is the WebCore::Widget's
51209         platform widget, have setPlatformPluginWidget() call
51210         setPlatformWidget().
51211
51212         * plugins/PluginViewNone.cpp:
51213         (WebCore::PluginView::halt):
51214         Stubbed.
51215         (WebCore::PluginView::restart):
51216         Stubbed.
51217
51218         * plugins/gtk/PluginViewGtk.cpp:
51219         (WebCore::PluginView::halt):
51220         Stubbed.
51221         (WebCore::PluginView::restart):
51222         Stubbed.
51223
51224         * plugins/mac/PluginViewMac.cpp:
51225         (WebCore::PluginView::halt):
51226         Stubbed.
51227         (WebCore::PluginView::restart):
51228         Stubbed.
51229
51230         * plugins/qt/PluginViewQt.cpp:
51231         (WebCore::PluginView::halt):
51232         Stubbed.
51233         (WebCore::PluginView::restart):
51234         Stubbed.
51235
51236         * plugins/win/PluginViewWin.cpp:
51237         (WebCore::PluginView::platformDestroy):
51238         After destroying the window, set the platform plug-in widget to 0 to
51239         ensure that Widget isn't holding a stale handle.
51240         (WebCore::PluginView::halt):
51241         Have our element's RenderWidget display a screenshot of the plug-in,
51242         then stop the plug-in and destroy it.
51243         (WebCore::PluginView::restart):
51244         Clear the RenderWidget's substitute image, then start the plug-in.
51245
51246         * rendering/RenderWidget.cpp:
51247         (WebCore::RenderWidget::showSubstituteImage):
51248         Set m_substituteImage to the passed image, and repaint.
51249         (WebCore::RenderWidget::paint):
51250         If we have a substitute image, paint that instead of allowing the
51251         widget to paint itself.
51252
51253         * rendering/RenderWidget.h:
51254         Declare showSubstituteImage(). Added a member to store the substitute
51255         image.
51256
51257 2009-10-02  Adam Barth  <abarth@webkit.org>
51258
51259         Reviewed by Darin Adler.
51260
51261         Move PolicyCheck out of FrameLoader.{h,cpp}
51262         https://bugs.webkit.org/show_bug.cgi?id=30035
51263
51264         Purely code motion (and adding a destructor).
51265
51266         * GNUmakefile.am:
51267         * WebCore.gypi:
51268         * WebCore.pro:
51269         * WebCore.vcproj/WebCore.vcproj:
51270         * WebCore.xcodeproj/project.pbxproj:
51271         * loader/FrameLoader.cpp:
51272         * loader/FrameLoader.h:
51273         * loader/PolicyCheck.cpp:
51274         * loader/PolicyCheck.h:
51275
51276 2009-10-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
51277
51278         Reviewed by Tor Arne Vestbø.
51279
51280         [Qt] Add NPNVToolkit value quirk in plugins for nspluginwrapper.
51281         Plugin error message was:
51282         ERROR: failed to initialize brower-side RPC events listener
51283         https://bugs.webkit.org/show_bug.cgi?id=25053
51284
51285         (WebCore::staticPluginQuirkRequiresGtkToolKit_NPN_GetValue):
51286         (WebCore::PluginPackage::load):
51287
51288 2009-10-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
51289
51290         Reviewed by Tor Arne Vestbø.
51291
51292         [Qt] X sync our XEmbed container window creation before sending the
51293         xid to plugins.
51294         https://bugs.webkit.org/show_bug.cgi?id=25053
51295
51296         * plugins/qt/PluginViewQt.cpp:
51297         (WebCore::PluginView::setNPWindowIfNeeded):
51298
51299 2009-10-02  Simon Fraser  <simon.fraser@apple.com>
51300
51301         Reviewed by Dan Bernstein.
51302
51303         Setting zero size on a container of a video element doesn't hide the controller
51304         https://bugs.webkit.org/show_bug.cgi?id=30031
51305         
51306         Fix a logic error in enclosingCompositingLayer() when mixing normal flow and 
51307         positioned layers. This resulted in enclosingCompositingLayer() giving back a different
51308         answer to the logic used to actually parent compositing layers, so layer positions
51309         and layer hierarchy would be out of agreement.
51310         
51311         Test: compositing/geometry/clipped-video-controller.html
51312
51313         * rendering/RenderLayer.cpp:
51314         (WebCore::compositingContainer):
51315         (WebCore::RenderLayer::enclosingCompositingLayer):
51316         * rendering/RenderLayerCompositor.cpp:
51317         (WebCore::RenderLayerCompositor::setCompositingParent):
51318
51319 2009-10-02  Kent Tamura  <tkent@chromium.org>
51320
51321         Reviewed by Eric Seidel.
51322
51323         - Move the following methods of HTMLInputElement and HTMLTextAreaElement
51324           to HTMLTextFormControlElement.
51325            setSelectionStart()
51326            setSelectionEnd()
51327            select()
51328            setSelectionRange()
51329            selectionStart()
51330            selectionEnd()
51331            selection()
51332
51333         - Introduce cachedSelectionStart() and cachedSelectionEnd().
51334
51335         - Unify HTMLInputElement::isTextFieldWithRenderer() and
51336          HTMLTextAreaElement::rendererAfterUpdateLayout() into textRendererAfterUpdateLayout().
51337         
51338         - Unify a part of parseMappedAttribute() of HTMLInputElement and HTMLTextAreaElement.
51339
51340         https://bugs.webkit.org/show_bug.cgi?id=29782
51341
51342         * html/HTMLFormControlElement.cpp:
51343         (WebCore::HTMLTextFormControlElement::textRendererAfterUpdateLayout):
51344         (WebCore::HTMLTextFormControlElement::setSelectionStart):
51345         (WebCore::HTMLTextFormControlElement::setSelectionEnd):
51346         (WebCore::HTMLTextFormControlElement::select):
51347         (WebCore::HTMLTextFormControlElement::setSelectionRange):
51348         (WebCore::HTMLTextFormControlElement::selectionStart):
51349         (WebCore::HTMLTextFormControlElement::selectionEnd):
51350         (WebCore::HTMLTextFormControlElement::selection):
51351         (WebCore::HTMLTextFormControlElement::parseMappedAttribute):
51352         * html/HTMLFormControlElement.h:
51353         * html/HTMLInputElement.cpp:
51354         (WebCore::HTMLInputElement::parseMappedAttribute):
51355         * html/HTMLInputElement.h:
51356         (WebCore::HTMLInputElement::select):
51357         (WebCore::HTMLInputElement::cachedSelectionStart):
51358         (WebCore::HTMLInputElement::cachedSelectionEnd):
51359         * html/HTMLTextAreaElement.cpp:
51360         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
51361         * html/HTMLTextAreaElement.h:
51362         (WebCore::HTMLTextAreaElement::cachedSelectionStart):
51363         (WebCore::HTMLTextAreaElement::cachedSelectionEnd):
51364
51365 2009-10-02  Vitaly Repeshko  <vitalyr@chromium.org>
51366
51367         Reviewed by Dimitri Glazkov.
51368
51369         [V8] Disconnect event listeners on navigation.
51370         Fixes http://crbug.com/23597.
51371         https://bugs.webkit.org/show_bug.cgi?id=30027
51372
51373         Added V8ListenerGuard that is shared by listeners and proxy. On
51374         navigation proxy sets a flag in the guard turning off listeners.
51375
51376         * bindings/v8/V8AbstractEventListener.cpp:
51377         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
51378         * bindings/v8/V8AbstractEventListener.h:
51379         (WebCore::V8ListenerGuard::create):
51380         (WebCore::V8ListenerGuard::isDisconnected):
51381         (WebCore::V8ListenerGuard::disconnectListeners):
51382         (WebCore::V8ListenerGuard::V8ListenerGuard):
51383         (WebCore::V8AbstractEventListener::disconnected):
51384         * bindings/v8/V8DOMWrapper.cpp:
51385         (WebCore::V8DOMWrapper::getEventListener):
51386         * bindings/v8/V8EventListenerList.h:
51387         (WebCore::V8EventListenerList::findOrCreateWrapper):
51388         * bindings/v8/V8LazyEventListener.cpp:
51389         (WebCore::V8LazyEventListener::V8LazyEventListener):
51390         * bindings/v8/V8Proxy.cpp:
51391         (WebCore::V8Proxy::V8Proxy):
51392         (WebCore::V8Proxy::disconnectFrame):
51393         (WebCore::V8Proxy::disconnectEventListeners):
51394         (WebCore::V8Proxy::clearForNavigation):
51395         * bindings/v8/V8Proxy.h:
51396         (WebCore::V8Proxy::listenerGuard):
51397         * bindings/v8/V8WorkerContextEventListener.cpp:
51398         (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener):
51399         * bindings/v8/V8WorkerContextEventListener.h:
51400         (WebCore::V8WorkerContextEventListener::create):
51401         * bindings/v8/WorkerContextExecutionProxy.cpp:
51402         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
51403         (WebCore::WorkerContextExecutionProxy::dispose):
51404         (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener):
51405         * bindings/v8/WorkerContextExecutionProxy.h:
51406         * bindings/v8/custom/V8CustomEventListener.cpp:
51407         (WebCore::V8EventListener::V8EventListener):
51408         * bindings/v8/custom/V8CustomEventListener.h:
51409         (WebCore::V8EventListener::create):
51410
51411 2009-10-02  Kenneth Russell  <kbr@google.com>
51412
51413         Reviewed by Dimitri Glazkov.
51414
51415         [chromium] Fix WebGL build after CustomGetter constructor changes
51416         https://bugs.webkit.org/show_bug.cgi?id=30020
51417
51418         * page/DOMWindow.idl:
51419         Changed CustomGetter to JSCCustomGetter for CanvasArray constructors.
51420
51421 2009-10-02  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
51422
51423         Reviewed by Timothy Hatcher.
51424
51425         Web Inspector: text in a "Request Payload" section disappears on selection
51426         https://bugs.webkit.org/show_bug.cgi?id=29967
51427
51428         No new tests.
51429
51430         * inspector/front-end/ResourceView.js:
51431         (WebInspector.ResourceView.prototype._refreshRequestPayload):
51432
51433 2009-10-02  Vitaly Repeshko  <vitalyr@chromium.org>
51434
51435         Reviewed by Dimitri Glazkov.
51436
51437         [V8] Recursion guard for V8Proxy::callFunction.
51438         Fixes http://crbug.com/23278.
51439         https://bugs.webkit.org/show_bug.cgi?id=29974
51440
51441         Test: fast/xmlhttprequest/xmlhttprequest-recursive-sync-event.html
51442
51443         * bindings/v8/V8Proxy.cpp:
51444         (WebCore::V8Proxy::callFunction):
51445
51446 2009-10-02  Brian Weinstein  <bweinstein@apple.com>
51447
51448         Reviewed by Jon Honeycutt.
51449
51450         Fix test breakages by adding null checks, and putting inspector code in
51451         ENABLE(INSPECTOR).
51452
51453         * dom/Document.cpp:
51454         (WebCore::Document::finishedParsing):
51455         * page/DOMWindow.cpp:
51456         (WebCore::DOMWindow::dispatchLoadEvent):
51457
51458 2009-10-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
51459
51460         Reviewed by Simon Hausmann.
51461
51462         Clean up the QNetworkReplyHandler to only apply HTTP headers
51463         for protocols in the HTTP family.
51464
51465         * platform/network/qt/QNetworkReplyHandler.cpp:
51466         (WebCore::QNetworkReplyHandler::finish):
51467         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
51468
51469 2009-10-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
51470
51471         Reviewed by Simon Hausmann.
51472
51473         Move error check into sendResponseIfNeeded() as suggested
51474         by Eric Seidel. Also, remove some dead code.
51475
51476         * platform/network/qt/QNetworkReplyHandler.cpp:
51477         (WebCore::QNetworkReplyHandler::finish):
51478         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
51479
51480 2009-10-02  Enrica Casucci  <enrica@apple.com>
51481
51482         Reviewed by Adele Peterson.
51483
51484         Assertion failure in CompositeEditCommand::moveParagraphs() and crash in Node::nodeIndex() when pasting.
51485         <rdar://problem/7148712>
51486         https://bugs.webkit.org/show_bug.cgi?id=28992
51487
51488         Test: editing/selection/replace-selection-crash.html
51489
51490         * editing/ReplaceSelectionCommand.cpp:
51491         (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Handle properly the case of
51492         the destination position matching the end of the paragraph to move.
51493
51494 2009-10-02  Jeremy Orlow  <jorlow@chromium.org>
51495
51496         Reviewed by Dimitri Glazkov.
51497
51498         Implement per-storage-area quotas for LocalStorage
51499         https://bugs.webkit.org/show_bug.cgi?id=29991
51500
51501         I put 90% of the code in StorageMap since the decision to allow an update is
51502         closely tied to quota tracking.  The quota is set via a page's Settings class.
51503         Like with the local storage path and whether it's enabled, it's assumed that
51504         all pages in the same group will have the same settings.  The setting defaults
51505         to 5mb which is what the spec suggests, but it can easily be changed to
51506         anything else--including StorageMap::noQuota.  Any values in LocalStorage are
51507         grandfathered in regarudless of quota, so importItem only tracks (and will
51508         never block) imports.
51509
51510         I believe this change is a good transition to more complex quota management.
51511         For example, if we wanted to track quotas in the SQLite DB, then we'd just add
51512         a function to the StorageMap that sets the quota.  This would be fine since all
51513         use of LocalStorage is blocked on the import completing, so you'd never hit a
51514         quota error in the mean time.  Also, if embedders wanted to ask the user
51515         whether to expand the quota whenever it's hit (before deciding whether or not
51516         to raise an exception), a callback via the chrome client should be fairly easy.
51517         That said, I think it's best to add these features in steps rather than one
51518         huge patch.  (Both of these are on my TODO list, btw.)
51519
51520         Included is a layout test that verifies the behavior.  It assumes the default
51521         quota is 5mb (since that's what Settings defaults to).
51522
51523         Test: storage/domstorage/localstorage/quota.html
51524
51525         * page/PageGroup.cpp:
51526         (WebCore::PageGroup::localStorage):
51527         * page/Settings.cpp:
51528         (WebCore::Settings::Settings):
51529         (WebCore::Settings::setLocalStorageQuota):
51530         * page/Settings.h:
51531         (WebCore::Settings::localStorageQuota):
51532         * storage/StorageAreaImpl.cpp:
51533         (WebCore::StorageAreaImpl::create):
51534         (WebCore::StorageAreaImpl::StorageAreaImpl):
51535         (WebCore::StorageAreaImpl::setItem):
51536         (WebCore::StorageAreaImpl::clear):
51537         * storage/StorageAreaImpl.h:
51538         * storage/StorageMap.cpp:
51539         (WebCore::StorageMap::create):
51540         (WebCore::StorageMap::StorageMap):
51541         (WebCore::StorageMap::copy):
51542         (WebCore::StorageMap::setItem):
51543         (WebCore::StorageMap::removeItem):
51544         (WebCore::StorageMap::importItem):
51545         * storage/StorageMap.h:
51546         (WebCore::StorageMap::quota):
51547         * storage/StorageNamespace.cpp:
51548         (WebCore::StorageNamespace::localStorageNamespace):
51549         * storage/StorageNamespace.h:
51550         * storage/StorageNamespaceImpl.cpp:
51551         (WebCore::StorageNamespaceImpl::localStorageNamespace):
51552         (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
51553         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
51554         (WebCore::StorageNamespaceImpl::copy):
51555         (WebCore::StorageNamespaceImpl::storageArea):
51556         * storage/StorageNamespaceImpl.h:
51557
51558 2009-10-02  Joseph Pecoraro  <joepeck@webkit.org>
51559
51560         Reviewed by Timothy Hatcher.
51561
51562         Database Inspector crashes Safari when table has more than 21 columns
51563         https://bugs.webkit.org/show_bug.cgi?id=29924
51564
51565         * inspector/front-end/StoragePanel.js:
51566         (WebInspector.StoragePanel.prototype.dataGridForResult): adjust the minimum column width percentage to be flexible for many columns.
51567
51568 2009-10-02  Brian Weinstein  <bweinstein@apple.com>
51569
51570         Reviewed by Timothy Hatcher.
51571
51572         Fixes <http://webkit.org/b/14370>.
51573         Inspector's timeline should record when certain DOM events fired.
51574         
51575         This patch adds calls into the Web Inspector when the main frame
51576         fires an load event, and when the document fires its DOMContent
51577         event. Once these values are passed in, they are sent to the Web Inspector
51578         as a timing change, and these are denoted by vertical lines in the resources
51579         panel (blue for DOM Content, red for load event).
51580
51581         * English.lproj/localizedStrings.js: Added tooltip text.
51582         * dom/Document.cpp:
51583         (WebCore::Document::finishedParsing): Added an Inspector callback for DOM Content.
51584         * inspector/InspectorController.cpp:
51585         (WebCore::InspectorController::mainResourceFiredDOMContentEvent): Tell the main resource it got the event.
51586         (WebCore::InspectorController::mainResourceFiredLoadEvent): Ditto.
51587         * inspector/InspectorController.h:
51588         * inspector/InspectorResource.cpp:
51589         (WebCore::InspectorResource::InspectorResource): Added new variables.
51590         (WebCore::InspectorResource::updateScriptObject): Send new variables to inspector.js.
51591         (WebCore::InspectorResource::markDOMContentEventTime): Send a TimingChange event.
51592         (WebCore::InspectorResource::markLoadEventTime): Ditto.
51593         * inspector/InspectorResource.h:
51594         * inspector/front-end/ResourcesPanel.js:
51595         (WebInspector.ResourcesPanel.prototype.get mainResourceLoadTime):
51596         (WebInspector.ResourcesPanel.prototype.set mainResourceLoadTime):
51597         (WebInspector.ResourcesPanel.prototype.get mainResourceDOMContentTime):
51598         (WebInspector.ResourcesPanel.prototype.set mainResourceDOMContentTime):
51599         (WebInspector.ResourcesPanel.prototype.reset):
51600         (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Draw dividers for event timings.
51601         (WebInspector.ResourceTimeCalculator.prototype.computePercentageFromEventTime):
51602         * inspector/front-end/inspector.css:
51603         * inspector/front-end/inspector.js:
51604         (WebInspector.updateResource):
51605         * page/DOMWindow.cpp:
51606         (WebCore::DOMWindow::dispatchLoadEvent): Add an Inspector callback for the Load event.
51607
51608 2009-10-02  Dave Hyatt  <hyatt@apple.com>
51609
51610         Reviewed by Adam Roben.
51611
51612         Add support for blacklist patterns to user stylesheets and scripts in addition to whitelist patterns.
51613
51614         * WebCore.base.exp:
51615         * dom/Document.cpp:
51616         (WebCore::Document::pageGroupUserSheets):
51617         * page/Frame.cpp:
51618         (WebCore::Frame::injectUserScriptsForWorld):
51619         * page/PageGroup.cpp:
51620         (WebCore::PageGroup::addUserScript):
51621         (WebCore::PageGroup::addUserStyleSheet):
51622         (WebCore::PageGroup::removeUserContentWithURLForWorld):
51623         (WebCore::PageGroup::removeUserContentForWorld):
51624         * page/PageGroup.h:
51625         * page/UserContentURLPattern.cpp:
51626         (WebCore::UserContentURLPattern::matchesPatterns):
51627         * page/UserContentURLPattern.h:
51628         * page/UserScript.h:
51629         (WebCore::UserScript::UserScript):
51630         (WebCore::UserScript::whitelist):
51631         (WebCore::UserScript::blacklist):
51632         * page/UserStyleSheet.h:
51633         (WebCore::UserStyleSheet::UserStyleSheet):
51634         (WebCore::UserStyleSheet::whitelist):
51635         (WebCore::UserStyleSheet::blacklist):
51636
51637 2009-10-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
51638
51639         Reviewed by Darin Adler.
51640
51641         Build fix when SVG is not enabled
51642         https://bugs.webkit.org/show_bug.cgi?id=30011
51643
51644         Move TextRenderingMode related functions out from
51645         the ENABLE(SVG) guard.
51646
51647         * css/CSSPrimitiveValueMappings.h:
51648         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
51649         (WebCore::CSSPrimitiveValue::operator TextRenderingMode):
51650
51651 2009-10-02  Kenneth Russell  <kbr@google.com>
51652
51653         Reviewed by Oliver Hunt.
51654
51655         WebGL crashes with recent CanvasArray change
51656         https://bugs.webkit.org/show_bug.cgi?id=30018
51657
51658         Test: fast/canvas/webgl/array-unit-tests.html
51659
51660         * html/canvas/CanvasArray.cpp:
51661         (WebCore::CanvasArray::CanvasArray):
51662         Fix bug where PassRefPtr was tested after transferring value to RefPtr.
51663
51664 2009-10-02  Steve Falkenburg  <sfalken@apple.com>
51665
51666         Reviewed by Mark Rowe.
51667
51668         <https://bugs.webkit.org/show_bug.cgi?id=29989>
51669         Safari version number shouldn't be exposed in WebKit code
51670         
51671         For a WebKit version of 532.3.4:
51672         Product version is: 5.32.3.4 (was 4.0.3.0)
51673         File version is: 5.32.3.4 (was 4.532.3.4)
51674
51675         * WebCore.vcproj/QTMovieWin.rc:
51676
51677 2009-10-02  Stephen White  <senorblanco@chromium.org>
51678
51679         Reviewed by Dimitri Glazkov.
51680
51681         Enable two point radial gradients in Chromium/Skia.
51682
51683         https://bugs.webkit.org/show_bug.cgi?id=30017
51684
51685         Covered by the following tests:
51686
51687         LayoutTests/svg/W3C-SVG-1.1/pservers-grad-13-b.svg
51688         LayoutTests/fast/backgrounds/svg-as-background-3.html
51689         LayoutTests/fast/gradients/generated-gradients.html
51690         LayoutTests/fast/gradients/simple-gradients.html
51691
51692         * platform/graphics/skia/GradientSkia.cpp:
51693         (WebCore::Gradient::platformGradient):
51694
51695 2009-10-02  Norbert Leser  <norbert.leser@nokia.com>
51696
51697         Reviewed by Simon Hausmann.
51698
51699         Conditionally guard cursor code (cursor and updateCursor functions) with !QT_NO_CURSOR.
51700         Otherwise, it is inconsistent with class declaration of QCursor.
51701
51702         No new tests.
51703
51704         * platform/qt/QWebPageClient.h:
51705
51706 2009-10-02  Philippe Normand  <pnormand@igalia.com>
51707
51708         Reviewed by Gustavo Noronha.
51709
51710         [GTK] missing support for anamorphic PAR video size
51711         https://bugs.webkit.org/show_bug.cgi?id=29717
51712
51713         cleanup of caps handling in the video sink
51714
51715         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
51716         (webkit_video_sink_set_caps):
51717
51718 2009-10-02  Prasanth Ullattil  <prasanth.ullattil@nokia.com>
51719
51720         Reviewed by Simon Hausmann.
51721
51722         Fix compiler warnings about unused function arguments.
51723
51724         * bridge/qt/qt_class.h:
51725         * bridge/qt/qt_runtime.cpp:
51726         (JSC::Bindings::QtRuntimeMetaMethod::call):
51727         (JSC::Bindings::QtRuntimeConnectionMethod::call):
51728         * dom/XMLTokenizerQt.cpp:
51729         (WebCore::XMLTokenizer::initializeParserContext):
51730         * platform/graphics/qt/FontCacheQt.cpp:
51731         (WebCore::FontCache::getTraitsInFamily):
51732         (WebCore::FontCache::getCachedFontPlatformData):
51733         * platform/graphics/qt/FontFallbackListQt.cpp:
51734         (WebCore::FontFallbackList::setPlatformFont):
51735         * platform/graphics/qt/FontQt.cpp:
51736         (WebCore::Font::offsetForPositionForComplexText):
51737         * platform/graphics/qt/GraphicsContextQt.cpp:
51738         (WebCore::GraphicsContext::drawLineForText):
51739         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
51740         (WebCore::GraphicsContext::setPlatformShadow):
51741         (WebCore::GraphicsContext::setURLForRect):
51742         * platform/graphics/qt/IconQt.cpp:
51743         (WebCore::Icon::createIconForFiles):
51744         * platform/graphics/qt/ImageBufferQt.cpp:
51745         (WebCore::ImageBuffer::ImageBuffer):
51746         * platform/graphics/qt/ImageDecoderQt.cpp:
51747         (WebCore::ImageDecoderQt::frameBufferAtIndex):
51748         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
51749         (WebCore::MediaPlayerPrivate::supportsType):
51750         (WebCore::MediaPlayerPrivate::setEndTime):
51751         * platform/graphics/qt/SimpleFontDataQt.cpp:
51752         (WebCore::SimpleFontData::containsCharacters):
51753         * platform/graphics/qt/StillImageQt.h:
51754         (WebCore::StillImage::destroyDecodedData):
51755         * platform/network/qt/DnsPrefetchHelper.h:
51756         (WebCore::DnsPrefetchHelper::lookedUp):
51757         * platform/qt/ContextMenuQt.cpp:
51758         (WebCore::ContextMenu::setPlatformDescription):
51759         * platform/qt/DragDataQt.cpp:
51760         (WebCore::DragData::asURL):
51761         * platform/qt/PopupMenuQt.cpp:
51762         (WebCore::PopupMenu::populate):
51763         * platform/qt/RenderThemeQt.cpp:
51764         (WebCore::RenderThemeQt::supportsFocusRing):
51765         (WebCore::RenderThemeQt::systemFont):
51766         (WebCore::RenderThemeQt::adjustButtonStyle):
51767         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
51768         (WebCore::RenderThemeQt::paintMediaSeekBackButton):
51769         (WebCore::RenderThemeQt::paintMediaSeekForwardButton):
51770         * platform/qt/ScrollViewQt.cpp:
51771         (WebCore::ScrollView::platformAddChild):
51772         * platform/qt/SearchPopupMenuQt.cpp:
51773         (WebCore::SearchPopupMenu::saveRecentSearches):
51774         (WebCore::SearchPopupMenu::loadRecentSearches):
51775         * platform/qt/TemporaryLinkStubs.cpp:
51776         (WebCore::signedPublicKeyAndChallengeString):
51777         * platform/qt/WidgetQt.cpp:
51778         (WebCore::Widget::paint):
51779         * xml/XSLStyleSheetQt.cpp:
51780         (WebCore::XSLStyleSheet::loadChildSheet):
51781         (WebCore::XSLStyleSheet::setParentStyleSheet):
51782         * xml/XSLTProcessorQt.cpp:
51783         (WebCore::XSLTMessageHandler::handleMessage):
51784         (WebCore::XSLTProcessor::transformToString):
51785
51786 2009-10-02  Philippe Normand  <pnormand@igalia.com>
51787
51788         Reviewed by Gustavo Noronha.
51789
51790         [GTK] missing support for anamorphic PAR video size
51791         https://bugs.webkit.org/show_bug.cgi?id=29717
51792
51793         Scale the cairo surface of the video sink depending on the
51794         pixel-aspect-ratio of the video buffer to paint. Also
51795         destruct/re-create the surface when setSize() is called with a new
51796         size.
51797
51798         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
51799         (WebCore::MediaPlayerPrivate::naturalSize):
51800         (WebCore::MediaPlayerPrivate::setSize):
51801         (WebCore::MediaPlayerPrivate::paint):
51802         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
51803         (webkit_video_sink_idle_func):
51804
51805 2009-10-02  Ben Murdoch  <benm@google.com>
51806
51807         Reviewed by David Kilzer.
51808
51809         Stale database version persists through browser refresh (changeVersion doesn't work)
51810         https://bugs.webkit.org/show_bug.cgi?id=27836
51811
51812         Tests: storage/change-version-handle-reuse.html
51813                storage/change-version.html
51814
51815         * bindings/v8/custom/V8DatabaseCustom.cpp:
51816         (WebCore::CALLBACK_FUNC_DECL): Implement the V8 binding for database.changeVersion().
51817         (WebCore::createTransaction): Fix a bug that was checking the wrong argument index to save the success callback.
51818         * storage/Database.cpp:
51819         (WebCore::updateGuidVersionMap): Safely update the Guid/version hash map.
51820         (WebCore::Database::~Database): Remove code that removes the database from the guid->database and guid->version maps.
51821         (WebCore::Database::setVersionInDatabase): Add a comment to explain some behaviour.
51822         (WebCore::Database::close): Move the code that updates the maps from the destructor to here.
51823         (WebCore::Database::performOpenAndVerify): Call updateGuidVersionMap instead of setting the hash map directly.
51824         (WebCore::Database::setExpectedVersion): Update the in memory guid->version map when we want to update the database version.
51825
51826 2009-10-02  Janne Koskinen <janne.p.koskinen@digia.com>
51827
51828         Reviewed by Simon Hausmann.
51829
51830         Partial WINSCW build fix.
51831
51832         Add parentheses around the function pointer declaration, similar to the
51833         second hunk in r48825.
51834
51835         * loader/CachedResourceHandle.h:
51836
51837 2009-10-02  Adam Barth  <abarth@webkit.org>
51838
51839         Unreviewed attempted build fix by Xcode magic.
51840
51841         * WebCore.xcodeproj/project.pbxproj:
51842
51843 2009-10-02  Adam Barth  <abarth@webkit.org>
51844
51845         Unreviewed build fix.  Actually add the new files.
51846
51847         * loader/RedirectScheduler.cpp: Added.
51848         (WebCore::ScheduledRedirection::):
51849         (WebCore::ScheduledRedirection::ScheduledRedirection):
51850         (WebCore::RedirectScheduler::RedirectScheduler):
51851         (WebCore::RedirectScheduler::~RedirectScheduler):
51852         (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
51853         (WebCore::RedirectScheduler::clear):
51854         (WebCore::RedirectScheduler::scheduleRedirect):
51855         (WebCore::RedirectScheduler::mustLockBackForwardList):
51856         (WebCore::RedirectScheduler::scheduleLocationChange):
51857         (WebCore::RedirectScheduler::scheduleFormSubmission):
51858         (WebCore::RedirectScheduler::scheduleRefresh):
51859         (WebCore::RedirectScheduler::locationChangePending):
51860         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
51861         (WebCore::RedirectScheduler::timerFired):
51862         (WebCore::RedirectScheduler::schedule):
51863         (WebCore::RedirectScheduler::startTimer):
51864         (WebCore::RedirectScheduler::cancel):
51865         * loader/RedirectScheduler.h: Added.
51866
51867 2009-10-01  Adam Barth  <abarth@webkit.org>
51868
51869         Reviewed by Darin Adler.
51870
51871         Move RedirectScheduler to its own file
51872         https://bugs.webkit.org/show_bug.cgi?id=29952
51873
51874         This change is purely code motion.
51875
51876         No behavior change.
51877
51878         * GNUmakefile.am:
51879         * WebCore.gypi:
51880         * WebCore.pro:
51881         * WebCore.vcproj/WebCore.vcproj:
51882         * WebCore.xcodeproj/project.pbxproj:
51883         * WebCoreSources.bkl:
51884         * loader/FrameLoader.cpp:
51885         * loader/FrameLoader.h:
51886         * loader/RedirectScheduler.cpp: Added.
51887         (WebCore::ScheduledRedirection::):
51888         (WebCore::ScheduledRedirection::ScheduledRedirection):
51889         (WebCore::RedirectScheduler::RedirectScheduler):
51890         (WebCore::RedirectScheduler::~RedirectScheduler):
51891         (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
51892         (WebCore::RedirectScheduler::clear):
51893         (WebCore::RedirectScheduler::scheduleRedirect):
51894         (WebCore::RedirectScheduler::mustLockBackForwardList):
51895         (WebCore::RedirectScheduler::scheduleLocationChange):
51896         (WebCore::RedirectScheduler::scheduleFormSubmission):
51897         (WebCore::RedirectScheduler::scheduleRefresh):
51898         (WebCore::RedirectScheduler::locationChangePending):
51899         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
51900         (WebCore::RedirectScheduler::timerFired):
51901         (WebCore::RedirectScheduler::schedule):
51902         (WebCore::RedirectScheduler::startTimer):
51903         (WebCore::RedirectScheduler::cancel):
51904         * loader/RedirectScheduler.h: Added.
51905
51906 2009-10-02  Dave MacLachlan  <dmaclach@gmail.com>
51907
51908         Reviewed by David Levin.
51909
51910         Clean up warnings in WebCore/bindings/v8/npruntime.cpp
51911         https://bugs.webkit.org/show_bug.cgi?id=29971
51912
51913         Gets rid of warnings on gcc about using anonymous namespaces 
51914           warning: 'StringKeyHashTraits' has a base
51915           'WTF::GenericHashTraits<<unnamed>::StringKey>' 
51916           whose type uses the anonymous namespace
51917         and
51918           warning: 'WTF::PairHashTraits<StringKeyHashTraits,
51919           WTF::HashTraits<PrivateIdentifier*> >' has a base
51920           'WTF::GenericHashTraits<std::pair<<unnamed>::StringKey,
51921           PrivateIdentifier*> >' whose type uses the anonymous namespace
51922
51923         No tests required.
51924
51925         * bindings/v8/npruntime.cpp:
51926
51927 2009-10-01  Mark Rowe  <mrowe@apple.com>
51928
51929         Fix the Tiger build.  Don't unconditionally enable 3D canvas as it is not supported on Tiger.
51930
51931         * Configurations/FeatureDefines.xcconfig:
51932
51933 2009-10-01  Chris Marrin  <cmarrin@apple.com>
51934
51935         Reviewed by Oliver Hunt.
51936
51937         Turn on ENABLE_3D_CANVAS in TOT
51938         https://bugs.webkit.org/show_bug.cgi?id=29906
51939
51940         Fixed a bug found when running tests with flag on
51941
51942         * Configurations/FeatureDefines.xcconfig:
51943         * WebCore.base.exp:
51944         * bindings/js/JSCanvasArrayBufferConstructor.h:
51945         (WebCore::construct):
51946         * html/HTMLCanvasElement.cpp:
51947         (WebCore::HTMLCanvasElement::getContext):
51948         * html/canvas/CanvasArray.cpp:
51949         (WebCore::CanvasArray::CanvasArray):
51950         * html/canvas/CanvasByteArray.cpp:
51951         (WebCore::CanvasByteArray::create):
51952         * html/canvas/CanvasFloatArray.cpp:
51953         (WebCore::CanvasFloatArray::create):
51954         * html/canvas/CanvasIntArray.cpp:
51955         (WebCore::CanvasIntArray::create):
51956         * html/canvas/CanvasShortArray.cpp:
51957         (WebCore::CanvasShortArray::create):
51958         * html/canvas/CanvasUnsignedByteArray.cpp:
51959         (WebCore::CanvasUnsignedByteArray::create):
51960         * html/canvas/CanvasUnsignedIntArray.cpp:
51961         (WebCore::CanvasUnsignedIntArray::create):
51962         * html/canvas/CanvasUnsignedShortArray.cpp:
51963         (WebCore::CanvasUnsignedShortArray::create):
51964         * page/Settings.cpp:
51965         (WebCore::Settings::Settings):
51966         (WebCore::Settings::setWebGLEnabled):
51967         * page/Settings.h:
51968         (WebCore::Settings::webGLEnabled):
51969
51970 2009-10-01  Beth Dakin  <bdakin@apple.com>
51971
51972         Reviewed by Dan Bernstein.
51973
51974         Fix for <rdar://problem/7264725> Re-add a vendor prefix to box-
51975         shadow (29927)
51976         -and corresponding-
51977         https://bugs.webkit.org/show_bug.cgi?id=29927
51978
51979         * css/CSSComputedStyleDeclaration.cpp:
51980         (WebCore::):
51981         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
51982         * css/CSSParser.cpp:
51983         (WebCore::CSSParser::parseValue):
51984         (WebCore::ShadowParseContext::ShadowParseContext):
51985         (WebCore::ShadowParseContext::commitValue):
51986         (WebCore::ShadowParseContext::commitLength):
51987         (WebCore::ShadowParseContext::commitColor):
51988         (WebCore::cssPropertyID):
51989         * css/CSSPropertyNames.in:
51990         * css/CSSStyleSelector.cpp:
51991         (WebCore::CSSStyleSelector::applyProperty):
51992         * page/animation/AnimationBase.cpp:
51993         (WebCore::ensurePropertyMap):
51994
51995 2009-10-01  Beth Dakin  <bdakin@apple.com>
51996
51997         Rubber-stamped by Sam Weinig.
51998
51999         At bad merge at some point in the development of my patch must have 
52000         put TextRenderMode.h in a weird spot in the xcodeproj. Moving it 
52001         back where it belongs!
52002
52003         * WebCore.xcodeproj/project.pbxproj:
52004
52005 2009-09-30  Adam Barth  <abarth@webkit.org>
52006
52007         Reviewed by Darin Adler.
52008
52009         Remove FrameLoader::schedule* APIs
52010         https://bugs.webkit.org/show_bug.cgi?id=29950
52011
52012         Change clients of FrameLoader::schedule* to call redirectScheduler
52013         directly.
52014
52015         No behavior change.
52016
52017         * bindings/js/JSDOMWindowCustom.cpp:
52018         (WebCore::JSDOMWindow::setLocation):
52019         (WebCore::createWindow):
52020         (WebCore::JSDOMWindow::open):
52021         * bindings/js/JSDocumentCustom.cpp:
52022         (WebCore::JSDocument::setLocation):
52023         * bindings/js/JSLocationCustom.cpp:
52024         (WebCore::navigateIfAllowed):
52025         (WebCore::JSLocation::reload):
52026         * bindings/v8/V8Utilities.cpp:
52027         (WebCore::navigateIfAllowed):
52028         * bindings/v8/custom/V8DOMWindowCustom.cpp:
52029         (WebCore::createWindow):
52030         (WebCore::CALLBACK_FUNC_DECL):
52031         * bindings/v8/custom/V8LocationCustom.cpp:
52032         (WebCore::CALLBACK_FUNC_DECL):
52033         * dom/Document.cpp:
52034         (WebCore::Document::implicitClose):
52035         (WebCore::Document::processHttpEquiv):
52036         * html/HTMLTokenizer.cpp:
52037         (WebCore::HTMLTokenizer::write):
52038         * loader/FrameLoader.cpp:
52039         (WebCore::FrameLoader::requestFrame):
52040         (WebCore::FrameLoader::submitForm):
52041         (WebCore::FrameLoader::receivedFirstData):
52042         * loader/FrameLoader.h:
52043         * loader/appcache/ApplicationCacheGroup.cpp:
52044         (WebCore::ApplicationCacheGroup::selectCache):
52045         * page/History.cpp:
52046         (WebCore::History::back):
52047         (WebCore::History::forward):
52048         (WebCore::History::go):
52049
52050 2009-10-01  Beth Dakin  <bdakin@apple.com>
52051
52052         Just removing a comment I accidentally committed earlier. 
52053
52054         * platform/graphics/mac/SimpleFontDataMac.mm:
52055         (WebCore::SimpleFontData::getCFStringAttributes):
52056
52057 2009-09-30  Jeremy Orlow  <jorlow@chromium.org>
52058
52059         Reviewed by Darin Adler.
52060
52061         Clean up use of const and mutable in StorageMap
52062         https://bugs.webkit.org/show_bug.cgi?id=29933
52063
52064         What's the point of having every single member variable be mutable and nearly
52065         every method be const?  Let's clean it up.
52066
52067         * storage/StorageMap.cpp:
52068         (WebCore::StorageMap::setIteratorToIndex):
52069         (WebCore::StorageMap::key):
52070         (WebCore::StorageMap::importItem):
52071         * storage/StorageMap.h:
52072
52073 2009-10-01  Beth Dakin  <bdakin@apple.com>
52074
52075         Reviewed by Dave Hyatt.
52076
52077         Fix for <rdar://problem/6934421> Support CSS for Text Kerning and 
52078         ligature
52079         -and corresponding-
52080         https://bugs.webkit.org/show_bug.cgi?id=6136
52081
52082         This patch makes the SVG CSS property text-rendering work with any 
52083         HTML, much like it does in Firefox. It accepts four possible input 
52084         values: auto, optimizeSpeed, optimizeLegibility, and 
52085         geometricPrecision. Right now, in this implementation, here is what 
52086         those values correspond to:
52087
52088         auto = optimizeSpeed = what we normally when the value's not set
52089         optimizeLegibility = geometricPrecision = ligatures kerning
52090
52091         Add new file TextRenderingMode.h to the project files.
52092         * WebCore.vcproj/WebCore.vcproj:
52093         * WebCore.xcodeproj/project.pbxproj:
52094
52095         CSS support for the new CSSPropertyTextRendering
52096         * css/CSSComputedStyleDeclaration.cpp:
52097         (WebCore::):
52098         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
52099         * css/CSSParser.cpp:
52100         (WebCore::CSSParser::parseValue):
52101         * css/CSSPrimitiveValueMappings.h:
52102         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
52103         (WebCore::CSSPrimitiveValue::operator TextRenderingMode):
52104         * css/CSSPropertyNames.in:
52105         * css/CSSStyleSelector.cpp:
52106         (WebCore::CSSStyleSelector::applyProperty):
52107         * css/CSSValueKeywords.in:
52108
52109         All the old SVG CSS support for this property can go away. When 
52110         it's used in SVG, it will just fall into the normal HTML case.
52111         * css/SVGCSSComputedStyleDeclaration.cpp:
52112         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
52113         * css/SVGCSSParser.cpp:
52114         (WebCore::CSSParser::parseSVGValue):
52115         * css/SVGCSSPropertyNames.in:
52116         * css/SVGCSSStyleSelector.cpp:
52117         (WebCore::CSSStyleSelector::applySVGProperty):
52118         * css/SVGCSSValueKeywords.in:
52119
52120         FontDescription stores the m_textRendering bit.
52121         * platform/graphics/FontDescription.h:
52122         (WebCore::FontDescription::FontDescription):
52123         (WebCore::FontDescription::textRenderingMode):
52124         (WebCore::FontDescription::setTextRenderingMode):
52125         (WebCore::FontDescription::operator==):
52126
52127         We want to fall into the complex text rendering code path if 
52128         kerning and ligatures have been enabled with this property.
52129         * platform/graphics/FontFastPath.cpp:
52130         (WebCore::Font::canUseGlyphCache):
52131
52132         Now takes a TextRenderingMode as a parameter.
52133         * platform/graphics/SimpleFontData.h:
52134
52135         New header for the enum.
52136         * platform/graphics/TextRenderingMode.h: Added.
52137         (WebCore::):
52138
52139         getCFStringAttributes() now takes a TextRenderingMode as an 
52140         attribute.
52141         * platform/graphics/mac/CoreTextController.cpp:
52142         (WebCore::CoreTextController::collectCoreTextRunsForCharacters):
52143
52144         Enable kerning and ligatures whenever the TextRenderingMode is 
52145         OptimizeLegibility or GeometricPrecision
52146         * platform/graphics/mac/FontMacATSUI.mm:
52147         (WebCore::disableLigatures):
52148         (WebCore::initializeATSUStyle):
52149         (WebCore::ATSULayoutParameters::initialize):
52150         * platform/graphics/mac/SimpleFontDataMac.mm:
52151         (WebCore::SimpleFontData::getCFStringAttributes):
52152
52153         More SVG CSS stuff that isn't needed anymore since SVG will use the 
52154         new HTML CSS implementation.
52155         * rendering/style/SVGRenderStyle.h:
52156         (WebCore::SVGRenderStyle::InheritedFlags::operator==):
52157         (WebCore::SVGRenderStyle::setBitDefaults):
52158         * rendering/style/SVGRenderStyleDefs.h:
52159
52160 2009-10-01  Yury Semikhatsky  <yurys@chromium.org>
52161
52162         Reviewed by Timothy Hatcher.
52163
52164         Use isClosure property of scope proxy to decide whether the
52165         scope is a closure.
52166
52167         https://bugs.webkit.org/show_bug.cgi?id=29965
52168
52169         * inspector/front-end/ScopeChainSidebarPane.js:
52170         (WebInspector.ScopeChainSidebarPane.prototype.update):
52171
52172 2009-10-01  Simon Fraser  <simon.fraser@apple.com>
52173
52174         Reviewed by Dave Hyatt.
52175
52176         Odd color transitions on anchors with transition-property: all
52177         https://bugs.webkit.org/show_bug.cgi?id=29911
52178
52179         When transitioning maybe-invalid colors, if the source and destination
52180         color are both invalid, then don't animate.
52181         
52182         This fixes an issue where a child element of an element running a color
52183         transition, with -webkit-transition-property:all, would show a color change.
52184         This happened because the "maybe invalid color" logic copied the color style
52185         into -webkit-text-fill-color for both endpoints, causing -webkit-text-fill-color
52186         to animate while the transition ran, and to then to disappear when the transition
52187         finished.
52188         
52189         Test: transitions/color-transition-all.html
52190
52191         * page/animation/AnimationBase.cpp:
52192         (WebCore::PropertyWrapperMaybeInvalidColor::equals):
52193         (WebCore::PropertyWrapperMaybeInvalidColor::blend):
52194
52195 2009-10-01  Victor Wang  <victorw@chromium.org>
52196
52197         Reviewed by Oliver Hunt.
52198
52199         Allow dragging a node who has child nodes.
52200
52201         https://bugs.webkit.org/show_bug.cgi?id=28632
52202
52203         Test: fast/events/drag-parent-node.html
52204
52205         * page/EventHandler.cpp:
52206         (WebCore::EventHandler::shouldDragAutoNode):
52207
52208 2009-10-01  Philippe Normand  <pnormand@igalia.com>
52209
52210         Reviewed by Gustavo Noronha.
52211
52212         [GTK] media player: better mute support
52213         https://bugs.webkit.org/show_bug.cgi?id=29960
52214
52215         Handle volume and mute state with the two corresponding properties
52216         of playbin2.
52217
52218         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
52219         (WebCore::MediaPlayerPrivate::setMuted):
52220         (WebCore::MediaPlayerPrivate::setVolume):
52221
52222 2009-10-01  Philippe Normand  <pnormand@igalia.com>
52223
52224         Reviewed by Gustavo Noronha.
52225
52226         [GTK] video sink pad template colorspace is wrong
52227         https://bugs.webkit.org/show_bug.cgi?id=29953
52228
52229         Set sink pad template colorspace depending on byte order.
52230
52231         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
52232         (webkit_video_sink_idle_func):
52233
52234 2009-10-01  Vitaly Repeshko  <vitalyr@chromium.org>
52235
52236         Reviewed by Dimitri Glazkov.
52237
52238         [V8] Refactored V8 event listeners:
52239         (This change should fix http://crbug.com/21079 and
52240         https://bugs.webkit.org/show_bug.cgi?id=29093.)
52241          o All listeners use weak handles to JS objects to avoid creating
52242            cycles and leaking memory.
52243          o "Object" variants of listeners removed.
52244          o All event accessor callbacks are generated.
52245          o Custom event accessors removed.
52246          o All wrappers have hidden dependencies on their listeners to
52247            prevent listeners from being collected.
52248          o All variats of getEventListener function grouped in V8DOMWrapper.
52249          o Pointers to C+EventListener wrappers are stored in JS objects
52250            instead of event listener lists.
52251         https://bugs.webkit.org/show_bug.cgi?id=29825
52252
52253         * WebCore.gypi: Removed "Object" listeners.
52254         * bindings/scripts/CodeGeneratorV8.pm: Now handles event accessors.
52255         * bindings/v8/DOMObjectsInclude.h:
52256
52257         V8AbstractEventListener manages weak JS handle:
52258         * bindings/v8/V8AbstractEventListener.cpp:
52259         (WebCore::weakEventListenerCallback):
52260         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
52261         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
52262         (WebCore::V8AbstractEventListener::handleEvent):
52263         (WebCore::V8AbstractEventListener::disposeListenerObject):
52264         (WebCore::V8AbstractEventListener::setListenerObject):
52265         * bindings/v8/V8AbstractEventListener.h:
52266         (WebCore::V8AbstractEventListener::cast):
52267         (WebCore::V8AbstractEventListener::isLazy):
52268         (WebCore::V8AbstractEventListener::getListenerObject):
52269         (WebCore::V8AbstractEventListener::getExistingListenerObject):
52270         (WebCore::V8AbstractEventListener::hasExistingListenerObject):
52271         (WebCore::V8AbstractEventListener::disconnectFrame):
52272         (WebCore::V8AbstractEventListener::disconnected):
52273         (WebCore::V8AbstractEventListener::prepareListenerObject):
52274         (WebCore::V8AbstractEventListener::lineNumber):
52275         (WebCore::V8AbstractEventListener::virtualisAttribute):
52276
52277         Grouped getEventListener functions:
52278         * bindings/v8/V8DOMWrapper.cpp:
52279         (WebCore::V8DOMWrapper::getTemplate):
52280         (WebCore::V8DOMWrapper::getEventListener):
52281         * bindings/v8/V8DOMWrapper.h:
52282
52283         Removed most event listener objects bookkeeping:
52284         * bindings/v8/V8EventListenerList.cpp:
52285         * bindings/v8/V8EventListenerList.h:
52286         (WebCore::V8EventListenerList::findWrapper):
52287         (WebCore::V8EventListenerList::clearWrapper):
52288         (WebCore::V8EventListenerList::doFindWrapper):
52289         (WebCore::V8EventListenerList::getHiddenProperty):
52290         (WebCore::V8EventListenerList::findOrCreateWrapper):
52291
52292         Added hidden properties for storing EventListener wrappers:
52293         * bindings/v8/V8HiddenPropertyName.cpp:
52294         (WebCore::V8HiddenPropertyName::listener):
52295         (WebCore::V8HiddenPropertyName::attributeListener):
52296         * bindings/v8/V8HiddenPropertyName.h:
52297
52298         * bindings/v8/V8LazyEventListener.cpp:
52299         (WebCore::V8LazyEventListener::V8LazyEventListener):
52300         (WebCore::V8LazyEventListener::callListenerFunction):
52301         (WebCore::V8LazyEventListener::prepareListenerObject):
52302         * bindings/v8/V8LazyEventListener.h:
52303         (WebCore::V8LazyEventListener::isLazy):
52304         * bindings/v8/V8ObjectEventListener.cpp: Removed.
52305         * bindings/v8/V8ObjectEventListener.h: Removed.
52306         * bindings/v8/V8Proxy.cpp:
52307         (WebCore::V8Proxy::disconnectFrame):
52308         (WebCore::V8Proxy::disconnectEventListeners):
52309         * bindings/v8/V8Proxy.h:
52310         * bindings/v8/V8WorkerContextEventListener.cpp:
52311         (WebCore::V8WorkerContextEventListener::reportError):
52312         (WebCore::V8WorkerContextEventListener::getReceiverObject):
52313         * bindings/v8/V8WorkerContextEventListener.h:
52314         * bindings/v8/V8WorkerContextObjectEventListener.cpp: Removed.
52315         * bindings/v8/V8WorkerContextObjectEventListener.h: Removed.
52316         * bindings/v8/WorkerContextExecutionProxy.cpp:
52317         (WebCore::WorkerContextExecutionProxy::dispose):
52318         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
52319         (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener):
52320         * bindings/v8/WorkerContextExecutionProxy.h:
52321         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
52322         (WebCore::CALLBACK_FUNC_DECL):
52323         * bindings/v8/custom/V8CustomBinding.h:
52324         * bindings/v8/custom/V8CustomEventListener.cpp:
52325         (WebCore::V8EventListener::V8EventListener):
52326         (WebCore::V8EventListener::getListenerFunction):
52327         (WebCore::V8EventListener::callListenerFunction):
52328         * bindings/v8/custom/V8CustomEventListener.h:
52329         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
52330         (WebCore::CALLBACK_FUNC_DECL):
52331         * bindings/v8/custom/V8DOMWindowCustom.cpp:
52332         (WebCore::CALLBACK_FUNC_DECL):
52333         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
52334         * bindings/v8/custom/V8MessagePortCustom.cpp:
52335         (WebCore::getEventListener):
52336         (WebCore::CALLBACK_FUNC_DECL):
52337         * bindings/v8/custom/V8NodeCustom.cpp:
52338         (WebCore::CALLBACK_FUNC_DECL):
52339         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
52340         (WebCore::CALLBACK_FUNC_DECL):
52341         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
52342         (WebCore::CALLBACK_FUNC_DECL):
52343         * bindings/v8/custom/V8WebSocketCustom.cpp:
52344         * bindings/v8/custom/V8WorkerContextCustom.cpp:
52345         (WebCore::CALLBACK_FUNC_DECL):
52346         * bindings/v8/custom/V8WorkerCustom.cpp:
52347         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
52348         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
52349         (WebCore::CALLBACK_FUNC_DECL):
52350         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
52351
52352 2009-10-01  Alexis Menard  <alexis.menard@nokia.com>
52353
52354         Reviewed by Tor Arne Vestbø.
52355
52356         Rename QWebGraphicsItem to QGraphicsWebView
52357
52358         * WebCore.pro:
52359
52360 2009-10-01  Dumitru Daniliuc  <dumi@chromium.org>
52361
52362         Reviewed by Dimitri Glazkov.
52363
52364         Read-only transactions do not change file sizes and therefore
52365         should not trigger quota updates.
52366
52367         https://bugs.webkit.org/show_bug.cgi?id=29945
52368
52369         * storage/SQLTransaction.cpp:
52370         (WebCore::SQLTransaction::openTransactionAndPreflight):
52371         (WebCore::SQLTransaction::runStatements):
52372
52373 2009-09-30  Timothy Hatcher  <timothy@apple.com>
52374
52375         Fix list box scrolling by correctly overriding the scroll()
52376         function on RenderBox.
52377
52378         <rdar://problem/7255440> REGRESSION (r48683): Mousewheel scrolling
52379         of listboxes is broken (29756)
52380
52381         Reviewed by Dan Bernstein.
52382
52383         * rendering/RenderListBox.cpp:
52384         (WebCore::RenderListBox::scroll):
52385         * rendering/RenderListBox.h:
52386         * rendering/RenderTextControlSingleLine.cpp:
52387         (WebCore::RenderTextControlSingleLine::scroll):
52388         * rendering/RenderTextControlSingleLine.h:
52389
52390 2009-10-01  Yury Semikhatsky  <yurys@chromium.org>
52391
52392         Reviewed by Timothy Hatcher.
52393
52394         Make a copy of listeners array before dispatching an event in
52395         WebInspector.Object.prototype.dispatchEventToListeners. Otherwise if current
52396         listener removes itself from the array next listener will be skipped.
52397
52398         https://bugs.webkit.org/show_bug.cgi?id=29920
52399
52400         * inspector/front-end/Object.js:
52401         (WebInspector.Object.prototype.dispatchEventToListeners): make a copy of listeners array before dispatching an event
52402
52403 2009-10-01  Martin Robinson  <martin.james.robinson@gmail.com>
52404
52405         Reviewed by Xan Lopez.
52406
52407         [GTK] GtkIMContext filtering interferes with DOM key events
52408         https://bugs.webkit.org/show_bug.cgi?id=28733
52409
52410         Ensure that keyboard events filtered by the GtkIMContext still create
52411         the proper DOM events.
52412
52413         No tests added. Instead previously skipped tests have been enabled.
52414
52415         * platform/gtk/KeyEventGtk.cpp:
52416         (WebCore::keyIdentifierForGdkKeyCode):
52417         (WebCore::singleCharacterString):
52418
52419 2009-10-01  Philippe Normand  <pnormand@igalia.com>
52420
52421         Reviewed by Xan Lopez.
52422
52423         [GTK] data: uri support in media player
52424         https://bugs.webkit.org/show_bug.cgi?id=29842
52425
52426         New GStreamer element to handle data: uris. For now only base64
52427         encoded data is supported. Decoded data is handed over to
52428         giostreamsrc.
52429
52430         * GNUmakefile.am:
52431         * platform/graphics/gtk/DataSourceGStreamer.cpp: Added.
52432         (_do_init):
52433         (webkit_data_src_base_init):
52434         (webkit_data_src_class_init):
52435         (webkit_data_src_reset):
52436         (webkit_data_src_init):
52437         (webkit_data_src_finalize):
52438         (webkit_data_src_uri_get_type):
52439         (webkit_data_src_uri_get_protocols):
52440         (webkit_data_src_uri_get_uri):
52441         (webkit_data_src_uri_set_uri):
52442         (webkit_data_src_uri_handler_init):
52443         * platform/graphics/gtk/DataSourceGStreamer.h: Added.
52444         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
52445         (WebCore::do_gst_init):
52446         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
52447         (WebCore::MediaPlayerPrivate::mimeTypeCache):
52448
52449 2009-09-30  Daniel Bates  <dbates@webkit.org>
52450
52451         Reviewed by Adam Barth.
52452
52453         https://bugs.webkit.org/show_bug.cgi?id=29944
52454         
52455         Reduces false positives in the XSSAuditor by explicitly allowing requests
52456         that do not contain illegal URI characters.
52457         
52458         As a side effect of this change, the tests property-inject.html, 
52459         property-escape-noquotes.html, and property-escape-noquotes-tab-slash-chars.html 
52460         fail because these attacks do not contain any illegal URI characters and 
52461         thus are now allowed by the XSSAuditor, where previously they weren't. A future
52462         change may reinstate this functionality.
52463
52464         Tests: http/tests/security/xssAuditor/script-tag-safe2.html
52465                http/tests/security/xssAuditor/script-tag-safe3.html
52466
52467         * page/XSSAuditor.cpp:
52468         (WebCore::isIllegalURICharacter): Added method.
52469         (WebCore::XSSAuditor::canEvaluate):
52470         (WebCore::XSSAuditor::canCreateInlineEventListener):
52471         (WebCore::XSSAuditor::findInRequest): Added parameter 
52472         allowRequestIfNoIllegalURICharacters.
52473         * page/XSSAuditor.h:
52474
52475 2009-09-30  Oliver Hunt  <oliver@apple.com>
52476
52477         Reviewed by Maciej Stachowiak.
52478
52479         reproducible freeze and crash on closing form popup at bosch-home.nl
52480         https://bugs.webkit.org/show_bug.cgi?id=28948
52481
52482         showModalDialog calls getDirect on what is actually a window shell,
52483         so ends up not getting a value (since no value can ever be placed
52484         directly on the shell), which leads to incorrect behaviour.
52485
52486         We use a manual test rather than automatic as it was not
52487         possible to get a modal run loop to work inside DRT.
52488
52489         * bindings/js/JSDOMWindowCustom.cpp:
52490         (WebCore::JSDOMWindow::showModalDialog):
52491         * manual-tests/showModalDialog-returnValue.html: manual testcase.
52492
52493 2009-09-30  Kent Tamura  <tkent@chromium.org>
52494
52495         Reviewed by Darin Adler.
52496
52497         Adds ValidityState.tooLong support for <input> and <textarea>.
52498
52499         Introduces tooLong() in HTMLFormControlElement and it always returns false.
52500         HTMLInputElement and HTMLTextAreaElement overrides it and checks the text
52501         length and maxLength.  tooLong() should work only for `dirty' values.
52502         So, introduces m_isDirty flag for HTMLTextAreaElement, and
52503         !m_data.value().isNull() works as a dirty flag for HTMLInputElement.
52504
52505         Renames parameter names of setMaxLength().
52506
52507         https://bugs.webkit.org/show_bug.cgi?id=27454
52508
52509         Tests: fast/forms/ValidityState-tooLong-input.html
52510                fast/forms/ValidityState-tooLong-textarea.html
52511
52512         * html/HTMLFormControlElement.h:
52513         (WebCore::HTMLFormControlElement::tooLong):
52514         * html/HTMLInputElement.cpp:
52515         (WebCore::HTMLInputElement::tooLong):
52516         (WebCore::HTMLInputElement::setMaxLength):
52517         * html/HTMLInputElement.h:
52518         * html/HTMLTextAreaElement.cpp:
52519         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
52520         (WebCore::HTMLTextAreaElement::reset):
52521         (WebCore::HTMLTextAreaElement::updateValue):
52522         (WebCore::HTMLTextAreaElement::setMaxLength):
52523         (WebCore::HTMLTextAreaElement::tooLong):
52524         * html/HTMLTextAreaElement.h:
52525         * html/ValidityState.h:
52526         (WebCore::ValidityState::tooLong):
52527
52528 2009-09-30  Adam Barth  <abarth@webkit.org>
52529
52530         Reviewed by Maciej Stachowiak.
52531
52532         Factor RedirectScheduler out of FrameLoader
52533         https://bugs.webkit.org/show_bug.cgi?id=29948
52534
52535         This change introduces a new sub-object of Frame, redirectScheduler.
52536         The redirectScheduler is responsible for scheduling redirects.
52537
52538         This change leaves the code for the redirectScheduler in
52539         FrameLoader.cpp.  A future change will move the class into its own
52540         file.
52541
52542         No behavior change (hopefully!).
52543
52544         * loader/FrameLoader.cpp:
52545         (WebCore::RedirectScheduler::RedirectScheduler):
52546         (WebCore::RedirectScheduler::~RedirectScheduler):
52547         (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
52548         (WebCore::RedirectScheduler::clear):
52549         (WebCore::FrameLoader::FrameLoader):
52550         (WebCore::FrameLoader::setDefersLoading):
52551         (WebCore::FrameLoader::stopLoading):
52552         (WebCore::FrameLoader::didOpenURL):
52553         (WebCore::FrameLoader::didExplicitOpen):
52554         (WebCore::FrameLoader::cancelAndClear):
52555         (WebCore::FrameLoader::clear):
52556         (WebCore::FrameLoader::checkCompleted):
52557         (WebCore::FrameLoader::isScheduledLocationChangePending):
52558         (WebCore::FrameLoader::scheduleHTTPRedirection):
52559         (WebCore::RedirectScheduler::scheduleRedirect):
52560         (WebCore::RedirectScheduler::mustLockBackForwardList):
52561         (WebCore::FrameLoader::scheduleLocationChange):
52562         (WebCore::RedirectScheduler::scheduleLocationChange):
52563         (WebCore::FrameLoader::scheduleFormSubmission):
52564         (WebCore::RedirectScheduler::scheduleFormSubmission):
52565         (WebCore::FrameLoader::scheduleRefresh):
52566         (WebCore::RedirectScheduler::scheduleRefresh):
52567         (WebCore::RedirectScheduler::locationChangePending):
52568         (WebCore::FrameLoader::scheduleHistoryNavigation):
52569         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
52570         (WebCore::RedirectScheduler::timerFired):
52571         (WebCore::FrameLoader::provisionalLoadStarted):
52572         (WebCore::RedirectScheduler::schedule):
52573         (WebCore::RedirectScheduler::startTimer):
52574         (WebCore::RedirectScheduler::cancel):
52575         (WebCore::FrameLoader::completed):
52576         (WebCore::FrameLoader::open):
52577         * loader/FrameLoader.h:
52578         (WebCore::FrameLoader::committedFirstRealDocumentLoad):
52579         * page/Frame.cpp:
52580         (WebCore::Frame::Frame):
52581         (WebCore::Frame::redirectScheduler):
52582         * page/Frame.h:
52583
52584 2009-09-30  Maciej Stachowiak  <mjs@apple.com>
52585
52586         Build fix, not reviewed.
52587
52588         More Windows build fixes for https://bugs.webkit.org/show_bug.cgi?id=29943
52589
52590         * platform/network/cf/ResourceHandleCFNet.cpp:
52591         (WebCore::willSendRequest):
52592
52593 2009-09-30  Maciej Stachowiak  <mjs@apple.com>
52594
52595         Build fix, not reviewed.
52596
52597         Fix windows build for fix for https://bugs.webkit.org/show_bug.cgi?id=29943
52598
52599         * platform/network/cf/ResourceHandleCFNet.cpp:
52600         (WebCore::willSendRequest):
52601
52602 2009-09-30  Dimitri Glazkov  <dglazkov@chromium.org>
52603
52604         Reviewed by Darin Fisher.
52605
52606         [V8] HTMLAudioElement, HTMLImageElement, and HTMLOptionElement are constructable, but they shouldn't be.
52607         Only Audio, Image, and Option should be constructable.
52608         https://bugs.webkit.org/show_bug.cgi?id=29940
52609
52610         Test: fast/dom/dom-constructor.html
52611
52612         * WebCore.gypi: Added new files to project.
52613         * bindings/scripts/CodeGeneratorV8.pm: Modified to generate custom constructors.
52614         * bindings/v8/V8DOMWrapper.cpp:
52615         (WebCore::V8DOMWrapper::getTemplate): Removed handling of HTMLImageElement, HTMLOptionElement
52616           and HTMLAudioElement construction.
52617         * bindings/v8/V8HTMLAudioElementConstructor.h: Added.
52618         * bindings/v8/V8HTMLImageElementConstructor.h: Added.
52619         * bindings/v8/V8HTMLOptionElementConstructor.h: Added.
52620         * bindings/v8/V8Index.cpp: Added new headers.
52621         * bindings/v8/V8Index.h: Added Audio, Image and Option decls.
52622         * bindings/v8/custom/V8CustomBinding.h: Ditto.
52623         * bindings/v8/custom/V8DOMWindowCustom.cpp:
52624         (WebCore::ACCESSOR_GETTER): Added custom constructors.
52625         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
52626         (WebCore::V8HTMLImageElementConstructor::GetTemplate): Added custom template creator.
52627         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
52628         (WebCore::V8HTMLOptionElementConstructor::GetTemplate): Ditto.
52629         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
52630         (WebCore::V8HTMLImageElementConstructor::GetTemplate): Ditto.
52631
52632 2009-09-30  Maciej Stachowiak  <mjs@apple.com>
52633
52634         Reviewed by Brady Eidson.
52635
52636         307 redirects should pass along http body and Content-Type header
52637         https://bugs.webkit.org/show_bug.cgi?id=29943
52638
52639         Follow-up fix for:
52640         <rdar://problem/3802660> SAP: 307 (Temporary Redirect) responses should use POST, not GET
52641         
52642         Test: http/tests/loading/resources/redirect-methods-result.php
52643
52644         * platform/network/cf/ResourceHandleCFNet.cpp:
52645         (WebCore::willSendRequest): Pass along http body and Content-Type header.
52646         * platform/network/mac/ResourceHandleMac.mm:
52647         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): ditto
52648
52649 2009-09-30  Geoffrey Garen  <ggaren@apple.com>
52650
52651         Reviewed by Mark Rowe.
52652
52653         Fixed https://bugs.webkit.org/show_bug.cgi?id=29941
52654         REGRESSION (r48882-r48888): Many memory leaks on SnowLeopard leaks bot
52655
52656         Forgot to implement a destructor for JSDOMWindowBaseData, so it was
52657         leaking its RefPtr data member.
52658
52659         * bindings/js/JSDOMWindowBase.cpp:
52660         (WebCore::JSDOMWindowBase::destroyJSDOMWindowBaseData):
52661         * bindings/js/JSDOMWindowBase.h:
52662         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData::JSDOMWindowBaseData):
52663
52664 2009-09-30  Dave Hyatt  <hyatt@apple.com>
52665
52666         Reviewed by Tim Hatcher.
52667
52668         Make sure the removal of user stylesheets results in all of the WebViews being updated to
52669         reflect the changes.
52670
52671         * page/PageGroup.cpp:
52672         (WebCore::PageGroup::removeUserContentWithURLForWorld):
52673         (WebCore::PageGroup::removeUserContentForWorld):
52674
52675 2009-09-30  Dan Bernstein  <mitz@apple.com>
52676
52677         Reviewed by Sam Weinig.
52678
52679         REGRESSION(r47440): drop down menus at americanexpress.com disappear on mouse out
52680         https://bugs.webkit.org/show_bug.cgi?id=29209
52681
52682         Test: fast/inline/relative-positioned-overflow.html
52683
52684         * rendering/InlineFlowBox.cpp:
52685         (WebCore::InlineFlowBox::computeVerticalOverflow): Add self-painting
52686         inlines to overflow to ensure that they are included in hit-testing.
52687
52688 2009-09-30  Simon Fraser  <simon.fraser@apple.com>
52689
52690         Reviewed by Mark Rowe.
52691
52692         transforms/3d tests are not run in Release builds
52693         https://bugs.webkit.org/show_bug.cgi?id=29827
52694
52695         Make sure we export the WebCoreHas3DRendering symbol in Release builds,
52696         because this symbols is used by run-webkit-tests (via 'nm') to detect whether
52697         WebCore was built with ENABLE_3D_RENDERING turned on.
52698
52699         * DerivedSources.make:
52700         * WebCore.3DRendering.exp: Added.
52701         * WebCore.xcodeproj/project.pbxproj:
52702
52703 2009-09-30  Jeremy Orlow  <jorlow@chromium.org>
52704
52705         Build fix for QT.  Didn't know WebCore.pro existed.
52706
52707         * WebCore.pro:
52708
52709 2009-09-30  Dave Hyatt  <hyatt@apple.com>
52710
52711         Reviewed by Adam Roben.
52712
52713         Add a method for removal of user scripts and stylesheets by URL from a specific world.
52714
52715         * page/PageGroup.cpp:
52716         (WebCore::PageGroup::removeUserContentURLForWorld):
52717         * page/PageGroup.h:
52718
52719 2009-09-30  Chris Hawk  <hawk@chromium.org>
52720
52721         Reviewed by Dimitri Glazkov.
52722
52723         Fix for conditionals in the WebCore gyp file, which contained two separate
52724         'conditions' values for the webcore target. The first entry was ignored,
52725         resulting in some missine defines.
52726         https://bugs.webkit.org/show_bug.cgi?id=29907
52727
52728         * WebCore.gyp/WebCore.gyp:
52729
52730 2009-09-21  Jeremy Orlow  <jorlow@chromium.org>
52731
52732         Reviewed by Adam Barth.
52733
52734         DOM Storage needs to be more careful about where "ThreadSafe" objects are destroyed.
52735         https://bugs.webkit.org/show_bug.cgi?id=29265
52736
52737         DOM Storage needs to be more careful about where "ThreadSafe" objects are
52738         destroyed.  With the current code, there actually isn't a race condition, but
52739         it sure would be easy for someone to introduce one.  A bunch of
52740         ThreadSafeShared objects have RefPtrs to objects that are NOT ThreadSafeShared
52741         objects.  If it were possible any of these objects' destructors to be fired off
52742         the main thread, then the you'd have a race condition.  The code should be more
52743         clear and self-documenting about how things related to each other.
52744
52745         Since the lifetime of a LocalStorageTask is bounded by the LocalStorageThread
52746         which is bounded by the StorageSyncManager, StorageAreaImpl, and
52747         StorageAreaSync, there's no reason for LocalStorageTask to store anything other
52748         than pointers.  By breaking this dependency, we can eliminate the risk.
52749
52750         Note that we _could_ have LocalStorageThread's task queue just store
52751         LocalStorageTask*'s rather than RefPtr<LocalStorageTask>s but then we'd need to
52752         manually take care of deleting.  It'd probably also be possible to change
52753         LocalStorageThread around so that it needn't hold onto a reference of itself
52754         and have a more deterministic shutdown, but my initial attempts to do so
52755         failed, and I decided it wasn't worth changing.  The queue is killed before
52756         hand, so the thread is 100% impotent before the main thread continues anyway.
52757
52758         The constructors and destructors of StorageSyncManager, StorageAreaImpl, and
52759         StorageAreaSync now have ASSERTs to verify they're running on the main thread. 
52760         I'm fairly positive that it'd be impossible to hit these asserts and the fact
52761         that these classes are no longer ThreadSafeShared should make it clear how
52762         they're meant to be used, but I think it's worth it to be extra sure.  Of
52763         course, ideally, we'd have such an assert every time a ref is incremented or
52764         decremented.
52765
52766         Behavior should be unchanged and this is just an internal code cleanup, so no
52767         new tests.
52768
52769         * storage/LocalStorageTask.cpp:
52770         (WebCore::LocalStorageTask::LocalStorageTask):
52771         (WebCore::LocalStorageTask::performTask):
52772         * storage/LocalStorageTask.h:
52773         (WebCore::LocalStorageTask::createImport):
52774         (WebCore::LocalStorageTask::createSync):
52775         (WebCore::LocalStorageTask::createTerminate):
52776         * storage/LocalStorageThread.cpp:
52777         (WebCore::LocalStorageThread::scheduleImport):
52778         (WebCore::LocalStorageThread::scheduleSync):
52779         * storage/LocalStorageThread.h:
52780         * storage/StorageArea.h:
52781         * storage/StorageAreaImpl.cpp:
52782         (WebCore::StorageAreaImpl::~StorageAreaImpl):
52783         (WebCore::StorageAreaImpl::StorageAreaImpl):
52784         * storage/StorageAreaSync.cpp:
52785         (WebCore::StorageAreaSync::StorageAreaSync):
52786         (WebCore::StorageAreaSync::~StorageAreaSync):
52787         * storage/StorageSyncManager.cpp:
52788         (WebCore::StorageSyncManager::StorageSyncManager):
52789         (WebCore::StorageSyncManager::~StorageSyncManager):
52790         (WebCore::StorageSyncManager::scheduleImport):
52791         (WebCore::StorageSyncManager::scheduleSync):
52792         * storage/StorageSyncManager.h:
52793
52794 2009-09-28  Jeremy Orlow  <jorlow@chromium.org>
52795
52796         Reviewed by Darin Fisher.
52797
52798         Chromium needs to be able to override the way storage events are delivered
52799         https://bugs.webkit.org/show_bug.cgi?id=29655
52800
52801         Chromium needs to be able to override the way storage events are delivered.
52802         This replaced https://bugs.webkit.org/show_bug.cgi?id=29257 because it'll be
52803         faster (no vtables and extra allocation) and somewhat cleaner (no dependency
52804         injection).  This is necessary because Chromium needs to transport events across
52805         a process barrier and then dispatch them without use of a Frame*.
52806
52807         Behavior should not change with this, so no updates to tests.
52808
52809         * GNUmakefile.am:
52810         * WebCore.gypi:
52811         * WebCore.vcproj/WebCore.vcproj:
52812         * WebCore.xcodeproj/project.pbxproj:
52813         * WebCoreSources.bkl:
52814         * storage/StorageAreaImpl.cpp:
52815         (WebCore::StorageAreaImpl::setItem):
52816         (WebCore::StorageAreaImpl::removeItem):
52817         (WebCore::StorageAreaImpl::clear):
52818         * storage/StorageAreaImpl.h:
52819         * storage/StorageEventDispatcher.cpp: Copied from WebCore/storage/StorageAreaImpl.cpp.
52820         (WebCore::StorageEventDispatcher::dispatch):
52821         * storage/StorageEventDispatcher.h: Added.  (Well, technically in the other half of this patch.)
52822
52823 2009-09-30  Jian Li  <jianli@chromium.org>
52824
52825         Reviewed by Darin Adler.
52826
52827         Need to check NULL frame in EventHandler::updateDragAndDrop.
52828         https://bugs.webkit.org/show_bug.cgi?id=29929
52829
52830         Test: http/tests/misc/drag-over-iframe-invalid-source-crash.html
52831
52832         * page/EventHandler.cpp:
52833         (WebCore::EventHandler::updateDragAndDrop):
52834
52835 2009-09-29  Simon Fraser  <simon.fraser@apple.com>
52836
52837         Reviewed by Dan Bernstein.
52838
52839         ASSERTION FAILED: !repaintContainer || repaintContainer == this
52840         https://bugs.webkit.org/show_bug.cgi?id=29755
52841         
52842         Generalize the fix for this bug to account for cases where there may be multiple
52843         containing blocks between the repaint container, and the container of the element
52844         being repainted.
52845
52846         Test: compositing/repaint/opacity-between-absolute2.html
52847
52848         * rendering/RenderBox.cpp:
52849         (WebCore::RenderBox::mapLocalToContainer):
52850         Call offsetFromAncestorContainer() to get the correct offset.
52851         
52852         (WebCore::RenderBox::computeRectForRepaint): Ditto
52853         * rendering/RenderInline.cpp:
52854         (WebCore::RenderInline::computeRectForRepaint): Ditto.
52855         
52856         * rendering/RenderObject.h:
52857         * rendering/RenderObject.cpp:
52858         (WebCore::RenderObject::offsetFromAncestorContainer):
52859         New method that computes an offset from some object in the ancestor container() chain.
52860
52861 2009-09-30  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
52862
52863         Reviewed by Simon Hausmann.
52864
52865         [Qt] Fix TextCodecQt::decode method after r48752 to return a non-null string if the length of the input is 0.
52866         This fixes https://bugs.webkit.org/show_bug.cgi?id=29736.
52867
52868         * platform/text/qt/TextCodecQt.cpp:
52869         (WebCore::TextCodecQt::decode):
52870
52871 2009-09-29  Dave Hyatt  <hyatt@apple.com>
52872
52873         Reviewed by Jon Honeycutt.
52874
52875         Fix a couple of bugs with patterns.  Move the setting of the document URL to before the style
52876         selector gets constructed so that pattern match testing gets the correct URL.
52877
52878         * loader/FrameLoader.cpp:
52879         (WebCore::FrameLoader::begin):
52880         * page/UserContentURLPattern.cpp:
52881         (WebCore::UserContentURLPattern::parse):
52882
52883 2009-09-29  Alexey Proskuryakov  <ap@apple.com>
52884
52885         Rubber-stamped by Brady Eidson.
52886
52887         Assertion failure in http/tests/xmlhttprequest/failed-auth.html.
52888
52889         I couldn't find out why this only started to happen now, but it was incorrect to check
52890         persistence of a credential returned by CredentialStorage::get() without checking that it
52891         was non-null. When there is no credential for the protection space in storage, get()
52892         returns a new object, and Credentil constructor doesn't initialize m_persistence.
52893
52894         * platform/network/mac/ResourceHandleMac.mm:
52895         (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Moved the
52896         assertion after credential null check.
52897         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Added the same persistence
52898         assertion, matching sync code (and CF one, as well).
52899
52900 2009-09-29  Yong Li  <yong.li@torchmobile.com>
52901
52902         Reviewed by Darin Adler.
52903
52904         Add an ASSERT for UTF8Encoding().isValid()
52905         https://bugs.webkit.org/show_bug.cgi?id=29908
52906
52907         * platform/text/TextEncoding.cpp:
52908         (WebCore::UTF8Encoding):
52909
52910 2009-09-29  Dave Hyatt  <hyatt@apple.com>
52911
52912         Reviewed by Jon Honeycutt.
52913
52914         https://bugs.webkit.org/show_bug.cgi?id=29892
52915         Add support for whitelist patterns to control conditional injection of user scripts and
52916         user stylesheets.
52917
52918         No new tests. Not testable until WebKit portion is added in followup patch.
52919
52920         * GNUmakefile.am:
52921         * WebCore.gypi:
52922         * WebCore.pro:
52923         * WebCore.vcproj/WebCore.vcproj:
52924         * WebCore.xcodeproj/project.pbxproj:
52925         * dom/Document.cpp:
52926         (WebCore::Document::pageGroupUserSheets):
52927         * page/Frame.cpp:
52928         (WebCore::Frame::injectUserScriptsForWorld):
52929         * page/UserContentURLPattern.cpp: Added.
52930         (WebCore::UserContentURLPattern::matchesPatterns):
52931         (WebCore::UserContentURLPattern::parse):
52932         (WebCore::UserContentURLPattern::matches):
52933         (WebCore::UserContentURLPattern::matchesHost):
52934         (WebCore::MatchTester::MatchTester):
52935         (WebCore::MatchTester::testStringFinished):
52936         (WebCore::MatchTester::patternStringFinished):
52937         (WebCore::MatchTester::eatWildcard):
52938         (WebCore::MatchTester::eatSameChars):
52939         (WebCore::MatchTester::test):
52940         (WebCore::UserContentURLPattern::matchesPath):
52941         * page/UserContentURLPattern.h: Added.
52942         (WebCore::UserContentURLPattern::UserContentURLPattern):
52943         (WebCore::UserContentURLPattern::scheme):
52944         (WebCore::UserContentURLPattern::host):
52945         (WebCore::UserContentURLPattern::path):
52946         (WebCore::UserContentURLPattern::matchSubdomains):
52947
52948 2009-09-29  Enrica Casucci  <enrica@apple.com>
52949
52950         Reviewed by Adele Peterson.
52951
52952         Reproducible crash pressing return inside quoted content
52953         at WebCore::BreakBlockquoteCommand::doApply.
52954         <rdar://problem/7085453>
52955         In some case, like the one provided in the test case, m_downStreamEnd
52956         refers to a node that gets deleted when executing the DeleteSelectionCommand.
52957         We shouldn't use m_downStreamEnd to recalculate the new m_endPosition when
52958         pruning is needed, because it may be point to a node that has been deleted, but
52959         rather rely on removeNode in CompositeEditCommand to update m_endPosition correctly.
52960
52961         Test: editing/selection/blockquote-crash.html
52962
52963         * editing/BreakBlockquoteCommand.cpp:
52964         (WebCore::BreakBlockquoteCommand::doApply): Added check for invalid position
52965         to avoid dereferencing a null node pointer.
52966         * editing/DeleteSelectionCommand.cpp:
52967         (WebCore::DeleteSelectionCommand::mergeParagraphs): Don't reset m_endPosition
52968         using the value in m_downStreamEnd when it is necessary to prune the start block.
52969         
52970 2009-09-29  Alexey Proskuryakov  <ap@apple.com>
52971
52972         Reviewed by Brady Eidson.
52973
52974         Basic authentication credentials are not sent automatically to top resources
52975         https://bugs.webkit.org/show_bug.cgi?id=29901
52976
52977         No new tests - I don't want to pollute root directory of http tests to check for this rather
52978         minor issue.
52979
52980         * platform/network/CredentialStorage.cpp:
52981         (WebCore::CredentialStorage::set): Changed to always preserve leading slash.
52982         (WebCore::CredentialStorage::getDefaultAuthenticationCredential): Made breaking out of the
52983         loop more explicit.
52984
52985 2009-09-29  Pavel Feldman  <pfeldman@chromium.org>
52986
52987         Reviewed by Oliver Hunt.
52988
52989         Web Inspector REGRESSION(r47820-r47822): Profiles aren't
52990         added to the inspector unless the inspector is already open
52991         when the profile completes.
52992
52993         https://bugs.webkit.org/show_bug.cgi?id=29897
52994
52995         * inspector/front-end/ProfilesPanel.js:
52996         (WebInspector.ProfilesPanel.prototype._populateProfiles):
52997
52998 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
52999
53000         Rubberstamped by David Hyatt.
53001
53002         Fix to logic of earlier commit 48902.
53003
53004         When merging two if's before committing, I forgot to invert the
53005         bool check.
53006
53007         * platform/network/qt/QNetworkReplyHandler.cpp:
53008         (WebCore::ignoreHttpError):
53009
53010 2009-09-29  Stephen White  <senorblanco@chromium.org>
53011
53012         Unreviewed, build fix.
53013
53014         Fixing Chromium build, following r48884.
53015
53016         [https://bugs.webkit.org/show_bug.cgi?id=29894]
53017
53018         * bindings/v8/V8AbstractEventListener.cpp:
53019         (WebCore::V8AbstractEventListener::handleEvent):
53020         * bindings/v8/V8AbstractEventListener.h:
53021         * bindings/v8/V8WorkerContextEventListener.cpp:
53022         (WebCore::V8WorkerContextEventListener::handleEvent):
53023         * bindings/v8/V8WorkerContextEventListener.h:
53024
53025 2009-09-29  Kent Tamura  <tkent@chromium.org>
53026
53027         Reviewed by Darin Adler.
53028
53029         Follows HTML5's maxLength change in September 2009.
53030         - Change HTMLTextAreaElement.maxLength type to signed.
53031         - HTMLTextAreaElement.maxLength returns -1 if maxlength= attribute is missing.
53032         - HTMLTextAreaElement.maxLength and HTMLInputElement.maxLength
53033           throw INDEX_SIZE_ERR for setting negative values.
53034         https://bugs.webkit.org/show_bug.cgi?id=29796
53035
53036         * html/HTMLInputElement.cpp:
53037         (WebCore::HTMLInputElement::setMaxLength):
53038         * html/HTMLInputElement.h:
53039         * html/HTMLInputElement.idl:
53040         * html/HTMLTextAreaElement.cpp:
53041         (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
53042         (WebCore::HTMLTextAreaElement::maxLength):
53043         (WebCore::HTMLTextAreaElement::setMaxLength):
53044         * html/HTMLTextAreaElement.h:
53045         * html/HTMLTextAreaElement.idl:
53046
53047 2009-09-29  Dimitri Glazkov  <dglazkov@chromium.org>
53048
53049         No review, rolling out r48894, because review discussion was not complete.
53050         http://trac.webkit.org/changeset/48894
53051
53052         * platform/sql/SQLiteTransaction.cpp:
53053         (WebCore::SQLiteTransaction::begin):
53054
53055 2009-09-29  Dirk Schulze  <krit@webkit.org>
53056
53057         Reviewed by Nikolas Zimmermann.
53058
53059         SVG Filter feComposite implementation is missing
53060         [https://bugs.webkit.org/show_bug.cgi?id=28362]
53061
53062         feComposite implementation for SVG.
53063
53064         Test: svg/filters/feComposite.svg
53065
53066         * platform/graphics/filters/FEComposite.cpp:
53067         (WebCore::arithmetic):
53068         (WebCore::FEComposite::apply):
53069
53070 2009-09-29  Dumitru Daniliuc  <dumi@chromium.org>
53071
53072         Reviewed by Dimitri Glazkov.
53073
53074         Starting all read-only transactions with an explicit BEGIN
53075         DEFERRED command instead of BEGIN, since some ports (chromium)
53076         might compile their own SQLite library and set BEGIN to BEGIN
53077         IMMEDIATE by default; which would result in a deadlock in case of
53078         two concurrent read-only transactions on the same DB, and would
53079         unnecessarily delay other potential transactions to the same DB.
53080
53081         https://bugs.webkit.org/show_bug.cgi?id=29729
53082
53083         * platform/sql/SQLiteTransaction.cpp:
53084         (WebCore::SQLiteTransaction::begin):
53085
53086 2009-09-29  Kenneth Russell  <kbr@google.com>
53087
53088         Reviewed by Dimitri Glazkov.
53089
53090         Add support for run-time flag for 3D canvas
53091         https://bugs.webkit.org/show_bug.cgi?id=29826
53092
53093         * html/HTMLCanvasElement.cpp:
53094         (WebCore::HTMLCanvasElement::getContext): Check page settings for
53095         experimental WebGL flag before returning 3D graphics context.
53096         * page/Settings.cpp:
53097         (WebCore::Settings::Settings): Initialize new flag to false.
53098         (WebCore::Settings::setExperimentalWebGLEnabled):
53099         * page/Settings.h: Set new flag.
53100         (WebCore::Settings::experimentalWebGLEnabled): Return new flag.
53101
53102 2009-09-29  Jeremy Orlow  <jorlow@chromium.org>
53103
53104         Reviewed by Darin Fisher.
53105
53106         Chromium needs to be able to override the way storage events are delivered - part 1
53107         https://bugs.webkit.org/show_bug.cgi?id=29889
53108
53109         Chromium needs to be able to override the way storage events are delivered.
53110         This replaced https://bugs.webkit.org/show_bug.cgi?id=29257 because it'll be
53111         faster (no vtables and extra allocation) and somewhat cleaner (no dependency
53112         injection).  This is necessary because Chromium needs to transport events across
53113         a process barrier and then dispatch them without use of a Frame*.
53114
53115         This patch should be a no-op for all ports other than Chromium.
53116
53117         * WebCore.gypi:
53118         * storage/StorageEventDispatcher.h: Added.
53119
53120 2009-09-29  Oliver Hunt  <oliver@apple.com>
53121
53122         Reviewed by NOBODY (missed file).
53123
53124         Adding file missed in previous commit.
53125
53126         * manual-tests/gtk/resources/long_cell.cur: Copied from WebCore/dom/PositionCreationFunctions.h.
53127
53128 2009-09-29  Dimitri Glazkov  <dglazkov@chromium.org>
53129
53130         Reviewed by Darin Fisher.
53131
53132         [V8] Correct an issue with XMLHttpRequest attribute event listeners never being cleared.
53133         https://bugs.webkit.org/show_bug.cgi?id=29888
53134
53135         Test: LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html
53136
53137         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
53138         (WebCore::getEventListener): Added isAttribute parameter.
53139         (WebCore::ACCESSOR_SETTER): Made all event listener setters create attribute listeners.
53140         (WebCore::CALLBACK_FUNC_DECL): Made addEventListener create object listener.
53141
53142 2009-09-22  Martin Robinson  <martin.james.robinson@gmail.com>
53143
53144         Reviewed by Eric Seidel.
53145
53146         Fix corruption for non-square images.
53147
53148         [GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images
53149         https://bugs.webkit.org/show_bug.cgi?id=29654
53150
53151         Added an additional manual-test for this issue to the existing Gtk
53152         cursor image test.
53153
53154         * manual-tests/gtk/cursor-image.html:
53155         * manual-tests/gtk/resources/long_cell.cur: Added.
53156         * platform/graphics/gtk/ImageGtk.cpp:
53157         (WebCore::BitmapImage::getGdkPixbuf):
53158
53159 2009-09-29  Alexey Proskuryakov  <ap@apple.com>
53160
53161         Reviewed by Timothy Hatcher.
53162
53163         Build fix - pass a proper ScriptExecutipnContext to getEventListenerHandlerBody()
53164
53165         * bindings/js/ScriptEventListener.cpp:
53166         (WebCore::getEventListenerHandlerBody):
53167         * bindings/js/ScriptEventListener.h:
53168         * bindings/v8/ScriptEventListener.cpp:
53169         (WebCore::getEventListenerHandlerBody):
53170         * bindings/v8/ScriptEventListener.h:
53171         * inspector/InspectorDOMAgent.cpp:
53172         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
53173
53174 2009-09-29  Nate Chapin  <japhet@chromium.org>
53175
53176         Reviewed by Eric Seidel.
53177
53178         Ensure that we don't scroll lock to an anchor node after a
53179         user-initiated scroll, even if that scroll doesn't propagate
53180         all the way up to FrameView.
53181
53182         Test: fast/events/node-event-anchor-lock.html
53183
53184         * page/EventHandler.cpp: Call setFrameWasScrolledByUser() when a scroll is handled by a node rather than a frame.
53185         (WebCore::EventHandler::scrollOverflow):
53186         (WebCore::EventHandler::handleWheelEvent):
53187         (WebCore::EventHandler::sendScrollEvent): Use setFrameWasScrolledByUser();
53188         (WebCore::EventHandler::setFrameWasScrolledByUser): Split out of sendScrollEvent();
53189         (WebCore::EventHandler::passMousePressEventToScrollbar):
53190         * page/EventHandler.h: Declare setFrameWasScrolledByUser().
53191
53192 2009-09-28  Alexey Proskuryakov  <ap@apple.com>
53193
53194         Reviewed by Darin Adler and Sam Weinig.
53195
53196         Onclick not fired for an element copied with cloneContents() or cloneNode()
53197         https://bugs.webkit.org/show_bug.cgi?id=25130
53198
53199         The change here is that JS event listeners don't keep a reference to a global object from
53200         where they were created, and instead take it as a parameter when parsing source code. Also,
53201         the listener creation won't fail just because it happens for an element in a frameless
53202         document.
53203         Thus, moving nodes between documents no longer results in having incorrect registered
53204         lazy event listeners on them.
53205
53206         Tests: fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html
53207                fast/events/attribute-listener-cloned-from-frameless-doc-context.html
53208                fast/events/attribute-listener-cloned-from-frameless-doc.xhtml
53209                fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html
53210                fast/events/attribute-listener-extracted-from-frameless-doc-context.html
53211
53212         * bindings/js/JSEventListener.cpp:
53213         (WebCore::JSEventListener::JSEventListener): Don't take a reference to JSDOMGlobalObject.
53214         (WebCore::JSEventListener::jsFunction): Take ScriptExecutionContext as a parameter for
53215         getting to JSDOMGlobalObject. It's not used in base class, but is in JSLazyEventListner.
53216         (WebCore::JSEventListener::markJSFunction): Don't mark the global object.
53217         (WebCore::JSEventListener::handleEvent): Get global object from ScriptExecutionContext.
53218         (WebCore::JSEventListener::reportError): Ditto.
53219
53220         * bindings/js/JSEventListener.h: (WebCore::JSEventListener::create): Don't keep a reference
53221         to JSDOMGlobalObject.
53222
53223         * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::parseCode): Listener
53224         creation was split between this function and ScriptEventListener; moved it here, as JS
53225         global object can be different now.
53226
53227         * bindings/js/JSLazyEventListener.h: (WebCore::JSLazyEventListener::create): Keep source URL,
53228         which can not be determined at parsing time.
53229
53230         * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Moved code
53231         for listener creation to JSLazyEventListener. XSSAuditor code remains here, because tests
53232         expect that errors are logged at document parsing time, and because I don't know what other
53233         side effects moving it vould have.
53234
53235         * dom/EventListener.h: handleEvent() and reportError() now take ScriptExecutionContext,
53236         because JSC needs a global context here.
53237
53238         * bindings/js/JSAbstractWorkerCustom.cpp:
53239         (WebCore::JSAbstractWorker::addEventListener):
53240         (WebCore::JSAbstractWorker::removeEventListener):
53241         * bindings/js/JSDOMApplicationCacheCustom.cpp:
53242         (WebCore::JSDOMApplicationCache::addEventListener):
53243         (WebCore::JSDOMApplicationCache::removeEventListener):
53244         * bindings/js/JSDOMGlobalObject.cpp:
53245         (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
53246         * bindings/js/JSDOMWindowCustom.cpp:
53247         (WebCore::JSDOMWindow::addEventListener):
53248         (WebCore::JSDOMWindow::removeEventListener):
53249         * bindings/js/JSEventSourceCustom.cpp:
53250         (WebCore::JSEventSource::addEventListener):
53251         (WebCore::JSEventSource::removeEventListener):
53252         * bindings/js/JSMessagePortCustom.cpp:
53253         (WebCore::JSMessagePort::addEventListener):
53254         (WebCore::JSMessagePort::removeEventListener):
53255         * bindings/js/JSNodeCustom.cpp:
53256         (WebCore::JSNode::addEventListener):
53257         (WebCore::JSNode::removeEventListener):
53258         * bindings/js/JSSVGElementInstanceCustom.cpp:
53259         (WebCore::JSSVGElementInstance::addEventListener):
53260         (WebCore::JSSVGElementInstance::removeEventListener):
53261         * bindings/js/JSWorkerContextCustom.cpp:
53262         (WebCore::JSWorkerContext::addEventListener):
53263         (WebCore::JSWorkerContext::removeEventListener):
53264         * bindings/js/JSXMLHttpRequestCustom.cpp:
53265         (WebCore::JSXMLHttpRequest::addEventListener):
53266         (WebCore::JSXMLHttpRequest::removeEventListener):
53267         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
53268         (WebCore::JSXMLHttpRequestUpload::addEventListener):
53269         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
53270         * bindings/objc/ObjCEventListener.h:
53271         * bindings/objc/ObjCEventListener.mm:
53272         (WebCore::ObjCEventListener::handleEvent):
53273         * bindings/scripts/CodeGeneratorJS.pm:
53274         * dom/EventTarget.cpp:
53275         (WebCore::EventTarget::fireEventListeners):
53276         * inspector/InspectorDOMAgent.cpp:
53277         (WebCore::InspectorDOMAgent::handleEvent):
53278         * inspector/InspectorDOMAgent.h:
53279         * inspector/InspectorDOMStorageResource.cpp:
53280         (WebCore::InspectorDOMStorageResource::handleEvent):
53281         * inspector/InspectorDOMStorageResource.h:
53282         * loader/ImageDocument.cpp:
53283         (WebCore::ImageEventListener::handleEvent):
53284         * svg/animation/SVGSMILElement.cpp:
53285         (WebCore::ConditionEventListener::handleEvent):
53286         * workers/WorkerContext.cpp:
53287         (WebCore::WorkerContext::reportException):
53288         Don't pass global object to JSEventListener::create(), which no longer needs it.
53289         Note that some of these functions still have an early return for null global object, which
53290         can probably be removed in a later patch.
53291         Pass ScriptExecutionContext to EventListener methods that now need it.
53292
53293         * bindings/scripts/CodeGeneratorCOM.pm: Don't force EventTarget implementation on Node -
53294         it doesn't work yet (it didn't quite work before this patch, too, because it assumed that
53295         any object implementing EventTarget COM interface originated from WebCore).
53296
53297         * dom/EventListener.idl: Just like in ObjC, EventListener should be a pure interface in
53298         COM bindings.
53299
53300 2009-09-28  Geoffrey Garen  <ggaren@apple.com>
53301
53302         Reviewed by Sam Weinig.
53303
53304         Removed virtual destructor from JSGlobalObjectData to eliminate pointer
53305         fix-ups when accessing JSGlobalObject::d.
53306         
53307         Replaced with an explicit destructor function pointer.
53308
53309         * bindings/js/JSDOMGlobalObject.cpp:
53310         (WebCore::JSDOMGlobalObject::destroyJSDOMGlobalObjectData):
53311         * bindings/js/JSDOMGlobalObject.h:
53312         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
53313
53314 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
53315
53316         Reviewed by Simon Hausmann.
53317
53318         Don't rely on QNetworkReply::NetworkError codes, but
53319         on HTTP error codes instead.
53320
53321         * platform/network/qt/QNetworkReplyHandler.cpp:
53322         (WebCore::ignoreHttpError):
53323         (WebCore::QNetworkReplyHandler::finish):
53324
53325 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
53326
53327         Reviewed by Simon Hausmann.
53328
53329         Use const references when using Qt's foreach.
53330
53331         * platform/network/qt/QNetworkReplyHandler.cpp:
53332         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
53333
53334 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
53335
53336         Reviewed by Simon Hausmann.
53337
53338         Fix handling of QNetworkReply errors.
53339
53340         In the QNetworkReplyHandler::finish() a response was sent even when
53341         the reply contained an error. This resulted in a sendResponseIfNeeded()
53342         calling didReceiveResponse on the client, leading to the destruction
53343         of the m_resourceHandle, discontinuing further processing in finish(),
53344         and thus not calling didFail on the client.
53345
53346         Instead it continued as everything went fine, and
53347         FrameLoaderClientQt::dispatchDecidePolicyForMIMEType() changed the
53348         policy to PolicyDownload due to not being able to show the non existing
53349         MIMEType. As the download also obviously fails, it ended up with a
53350         policy change error.
53351
53352         * platform/network/qt/QNetworkReplyHandler.cpp:
53353         (WebCore::QNetworkReplyHandler::finish):
53354
53355 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
53356
53357         Reviewed by Simon Hausmann.
53358
53359         The code for showing error pages when the response was
53360         a 401/403/404, was not actually doing so. This patch
53361         fixes that.
53362
53363         * platform/network/qt/QNetworkReplyHandler.cpp:
53364         (WebCore::QNetworkReplyHandler::finish):
53365
53366 2009-09-28  Alexey Proskuryakov  <ap@apple.com>
53367
53368         Reviewed by Brady Eidson.
53369
53370         <rdar://problem/7259965> REGRESSION: http/tests/xmlhttprequest/cross-origin-authorization.html
53371         is failing/crashing intermittently
53372         https://bugs.webkit.org/show_bug.cgi?id=29322
53373
53374         This was caused by CStringBuffer::encodeBase64() returning a buffer that wasn't zero terminated.
53375         The code had other issues as well, so I removed it altogether:
53376         - it claimed to avoid some buffer copies, but it didn't;
53377         - and I don't think that base64 encoding should be part of CString interface.
53378
53379         * platform/network/mac/ResourceHandleMac.mm:
53380         (WebCore::encodeBasicAuthorization): Encode username and password using Base64.h directly.
53381         (WebCore::ResourceHandle::start): Use encodeBasicAuthorization().
53382         (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Ditto.
53383         (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Extended logging
53384         to synchronous case.
53385         (-[WebCoreSynchronousLoader connectionShouldUseCredentialStorage:]): Ditto.
53386         (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Ditto.
53387         (-[WebCoreSynchronousLoader connection:didReceiveResponse:]): Ditto.
53388         (-[WebCoreSynchronousLoader connection:didReceiveData:]): Ditto.
53389         (-[WebCoreSynchronousLoader connectionDidFinishLoading:]): Ditto.
53390         (-[WebCoreSynchronousLoader connection:didFailWithError:]): Ditto.
53391
53392         * platform/network/cf/ResourceHandleCFNet.cpp: Matched Mac changes.
53393
53394         * platform/text/CString.cpp:
53395         * platform/text/CString.h:
53396         (WebCore::CStringBuffer::create):
53397         (WebCore::CStringBuffer::CStringBuffer):
53398         Removed code that was added for Base64 in r48363.
53399
53400 2009-09-29  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
53401
53402         Reviewed by Simon Hausmann.
53403
53404         Fix typo in Localizations.cpp
53405
53406         https://bugs.webkit.org/show_bug.cgi?id=29872
53407
53408         * platform/qt/Localizations.cpp:
53409         (WebCore::localizedMediaControlElementHelpText):
53410
53411 2009-09-29  Simon Hausmann  <simon.hausmann@nokia.com>
53412
53413         Reviewed by Tor Arne Vestbø.
53414
53415         Make the XSLT conditional in DOMWindow.idl's xsltProcessor
53416         attribute conditional in the generated files, similar to
53417         r44116.
53418
53419         * page/DOMWindow.idl:
53420
53421 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
53422
53423         Reviewed by Simon Hausmann and Tor Arne Vestbø.
53424
53425         Use the ResourceError as it is supposed to and handle
53426         not HTTP errors from QNetworkReply.
53427
53428         Thanks to Adam Roben for his input.
53429
53430         * platform/network/qt/QNetworkReplyHandler.cpp:
53431         (WebCore::QNetworkReplyHandler::finish):
53432
53433 2009-09-29  Pavel Feldman  <pfeldman@chromium.org>
53434
53435         Reviewed by Timothy Hatcher.
53436
53437         Web Inspector: Encapsulate JS listeners specifics into ScriptEventListener.
53438
53439         https://bugs.webkit.org/show_bug.cgi?id=29816
53440
53441         * bindings/js/ScriptEventListener.cpp:
53442         (WebCore::getEventListenerHandlerBody):
53443         * bindings/js/ScriptEventListener.h:
53444         * bindings/v8/ScriptEventListener.cpp:
53445         (WebCore::getEventListenerHandlerBody):
53446         * bindings/v8/ScriptEventListener.h:
53447         * inspector/InspectorDOMAgent.cpp:
53448         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
53449
53450 2009-09-29  Xan Lopez  <xlopez@igalia.com>
53451
53452         Unreviewed attempt to fix the build.
53453
53454         * page/Settings.cpp:
53455         (WebCore::Settings::Settings):
53456
53457 2009-09-28  Fumitoshi Ukai  <ukai@chromium.org>
53458
53459         Reviewed by Eric Seidel.
53460
53461         Add experimentalWebSocketsEnabled in Settings.
53462         https://bugs.webkit.org/show_bug.cgi?id=28941
53463
53464         * WebCore.base.exp:
53465         * bindings/js/JSDOMWindowCustom.cpp:
53466         (WebCore::JSDOMWindow::webSocket):
53467         * bindings/v8/V8DOMWrapper.cpp:
53468         (WebCore::V8DOMWrapper::getConstructor):
53469         * bindings/v8/custom/V8WebSocketCustom.cpp:
53470         * page/Settings.cpp:
53471         (WebCore::Settings::Settings):
53472         (WebCore::Settings::setExperimentalWebSocketsEnabled):
53473         * page/Settings.h:
53474         (WebCore::Settings::experimentalWebSocketsEnabled):
53475         
53476 2009-09-11  Fumitoshi Ukai  <ukai@chromium.org>
53477
53478         Reviewed by Adam Barth.
53479
53480         Add platform code to support WebSocket for chromium.
53481         https://bugs.webkit.org/show_bug.cgi?id=29171
53482
53483         To build within chromium tree, it requires a patch in bug 29174.
53484         Real implementation will be landed in chromium tree.
53485
53486         * WebCore.gypi:
53487         * platform/network/chromium/SocketStreamError.h: Added.
53488         (WebCore::SocketStreamError::SocketStreamError):
53489         * platform/network/chromium/SocketStreamHandle.h: Added.
53490         (WebCore::SocketStreamHandle::create):
53491
53492 2009-09-28  Dan Bernstein  <mitz@apple.com>
53493
53494         Reviewed by Sam Weinig.
53495
53496         <rdar://problem/7157288> Crash in RenderStyle::computedLineHeight()
53497         when Times New Roman is not installed
53498
53499         * platform/graphics/win/FontCacheWin.cpp:
53500         (WebCore::FontCache::getLastResortFallbackFont): If Times New Roman is
53501         not available, use the Windows default GUI font.
53502
53503 2009-09-28  Jian Li  <jianli@chromium.org>
53504
53505         Reviewed by David Levin.
53506
53507         Do not add platform-specific methods to cross-platform header
53508         FileSystem.h per Darin's feedback for 29109.
53509         https://bugs.webkit.org/show_bug.cgi?id=29830
53510
53511         * platform/FileSystem.h:
53512         * platform/chromium/DragDataChromium.cpp:
53513         (WebCore::DragData::asURL):
53514         * platform/chromium/FileSystemChromium.cpp:
53515
53516 2009-09-28  Dumitru Daniliuc  <dumi@chromium.org>
53517
53518         Reviewed by Dimitri Glazkov.
53519
53520         Register Chromium's VFSs with a proper sqlite3_io_methods
53521         finder. This should only affect the POSIX implementation. The
53522         Windows change is included for consistency and in case sqlite
53523         starts using something similar in its Windows VFS in the future.
53524
53525         https://bugs.webkit.org/show_bug.cgi?id=29743
53526
53527         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
53528         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
53529         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
53530         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
53531
53532 2009-09-28  Nate Chapin  <japhet@chromium.org>
53533
53534         Reviewed by Adam Barth.
53535
53536         Change the V8 bindings' handling of window.toString(),
53537         so we return [object DOMWindow] (like JSC), not [object global].
53538
53539         https://bugs.webkit.org/show_bug.cgi?id=29742
53540
53541         This will fix a couple of Chromium port test failures and enable us to
53542         use the default expectations for a bunch more.
53543
53544         * bindings/v8/custom/V8DOMWindowCustom.cpp: Use the DOMWindow wrapper instead
53545         of the global object wrapper when it's available in the DOMWindow toString callback.
53546
53547 2009-09-28  Nate Chapin  <japhet@chromium.org>
53548
53549         Rubber stamped by David Levin.
53550
53551         Chromium build fix, add back in #include of V8Proxy.h in V8WebKitPointConstructor.cpp.
53552
53553         * bindings/v8/custom/V8WebKitPointConstructor.cpp: Re-include V8Proxy.h.
53554
53555 2009-09-28  Geoffrey Garen  <ggaren@apple.com>
53556
53557         Reviewed by Darin Adler.
53558
53559         NotNullPassRefPtr: smart pointer optimized for passing references that are not null
53560         https://bugs.webkit.org/show_bug.cgi?id=29822
53561         
53562         Added NotNullPassRefPtr, and deployed it in all places that initialize
53563         JavaScript objects.
53564
53565         * bindings/js/DOMObjectWithSVGContext.h:
53566         (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
53567         * bindings/js/JSDOMBinding.cpp:
53568         (WebCore::cacheDOMStructure):
53569         * bindings/js/JSDOMBinding.h:
53570         (WebCore::DOMObject::DOMObject):
53571         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
53572         (WebCore::DOMConstructorObject::DOMConstructorObject):
53573         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
53574         * bindings/js/JSDOMGlobalObject.cpp:
53575         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
53576         * bindings/js/JSDOMGlobalObject.h:
53577         * bindings/js/JSDOMWindowBase.cpp:
53578         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
53579         * bindings/js/JSDOMWindowBase.h:
53580         * bindings/js/JSHTMLAllCollection.h:
53581         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
53582         * bindings/js/JSInspectedObjectWrapper.cpp:
53583         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
53584         * bindings/js/JSInspectedObjectWrapper.h:
53585         * bindings/js/JSInspectorCallbackWrapper.cpp:
53586         (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
53587         * bindings/js/JSInspectorCallbackWrapper.h:
53588         * bindings/js/JSQuarantinedObjectWrapper.cpp:
53589         (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
53590         * bindings/js/JSQuarantinedObjectWrapper.h:
53591         * bindings/js/JSWorkerContextBase.cpp:
53592         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
53593         * bindings/js/JSWorkerContextBase.h:
53594         * bindings/scripts/CodeGeneratorJS.pm:
53595         * bridge/runtime_object.cpp:
53596         (JSC::RuntimeObjectImp::RuntimeObjectImp):
53597         * bridge/runtime_object.h:
53598
53599 2009-09-28  Nate Chapin  <japhet@chromium.org>
53600
53601         Reviewed by Dimitri Glazkov.
53602
53603         Allow V8 to handle x/y parameters in a WebKitPoint constructor.
53604         https://bugs.webkit.org/show_bug.cgi?id=29823
53605
53606         Fixes V8's handling of LayoutTests/fast/dom/Window/webkitConvertPoint.html
53607
53608         * bindings/v8/custom/V8WebKitPointConstructor.cpp: Allow for x/y parameters in constructor.
53609
53610 2009-09-28  Mark Rowe  <mrowe@apple.com>
53611
53612         Fix the build by doing something approximating reasonableness in the Xcode project.
53613
53614         * WebCore.xcodeproj/project.pbxproj:
53615
53616 2009-09-28  Simon Hausmann  <hausmann@webkit.org>
53617
53618         Prospective Tiger build fix.
53619
53620         * WebCore.xcodeproj/project.pbxproj: Try to use unique IDs for the new files.
53621
53622 2009-09-28  Pavel Feldman  <pfeldman@chromium.org>
53623
53624         Reviewed by Timothy Hatcher.
53625
53626         Web Inspector: Add explicit frontend event for commit load.
53627
53628         https://bugs.webkit.org/show_bug.cgi?id=29814
53629
53630         * inspector/InspectorController.cpp:
53631         (WebCore::InspectorController::didCommitLoad):
53632         * inspector/InspectorFrontend.cpp:
53633         (WebCore::InspectorFrontend::didCommitLoad):
53634         * inspector/InspectorFrontend.h:
53635         * inspector/front-end/DOMAgent.js:
53636         (WebInspector.DOMAgent.prototype._setDocument):
53637         * inspector/front-end/inspector.js:
53638         (WebInspector.addResource):
53639         (WebInspector.didCommitLoad):
53640
53641 2009-09-28  Yaar Schnitman  <yaar@chromium.org>
53642
53643         Reviewed by Dimitri Glazkov.
53644
53645         Chromium port - recognize we are being built independently
53646         of chromium and look for dependencies under webkit/chromium rather
53647         than chromium/src.
53648
53649         https://bugs.webkit.org/show_bug.cgi?id=29722
53650
53651         * WebCore.gyp/WebCore.gyp: See above. Also removed a few files from
53652           the sources list, since they are not supposed to be built here.
53653
53654 2009-09-28  Jakub Wieczorek  <faw217@gmail.com>
53655
53656         Reviewed by Simon Hausmann.
53657
53658         [Qt] Implement XSLT support with QtXmlPatterns.
53659         https://bugs.webkit.org/show_bug.cgi?id=28303
53660
53661         * GNUmakefile.am:
53662         * WebCore.gypi:
53663         * WebCore.pro:
53664         * WebCore.vcproj/WebCore.vcproj:
53665         * WebCoreSources.bkl:
53666         * dom/Document.cpp:
53667         (WebCore::Document::Document):
53668         (WebCore::Document::~Document):
53669         (WebCore::Document::setTransformSource):
53670         * dom/Document.h:
53671         (WebCore::Document::transformSource):
53672         * dom/TransformSource.h: Added.
53673         (WebCore::TransformSource::platformSource):
53674         * dom/TransformSourceLibxslt.cpp: Added.
53675         (WebCore::TransformSource::TransformSource): Wraps a libxml2 document.
53676         (WebCore::TransformSource::~TransformSource):
53677         * dom/TransformSourceQt.cpp: Added.
53678         (WebCore::TransformSource::TransformSource): Wraps a plain string.
53679         (WebCore::TransformSource::~TransformSource):
53680         * dom/XMLTokenizerLibxml2.cpp:
53681         (WebCore::XMLTokenizer::doEnd):
53682         * dom/XMLTokenizerQt.cpp:
53683         (WebCore::XMLTokenizer::doEnd):
53684         (WebCore::XMLTokenizer::parseProcessingInstruction):
53685         * xml/XSLStyleSheet.h:
53686         (WebCore::XSLStyleSheet::sheetString):
53687         * xml/XSLStyleSheetLibxslt.cpp:
53688         (WebCore::XSLStyleSheet::document):
53689         * xml/XSLStyleSheetQt.cpp: Added.
53690         * xml/XSLTProcessor.h:
53691         * xml/XSLTProcessorLibxslt.cpp:
53692         (WebCore::xmlDocPtrFromNode):
53693         * xml/XSLTProcessorQt.cpp: Added.
53694         (WebCore::XSLTMessageHandler::XSLTMessageHandler): A subclass of QAbstractMessageHandler.
53695         (WebCore::XSLTMessageHandler::handleMessage): Forwards all processor messages to the Console.
53696         (WebCore::XSLTProcessor::transformToString): Uses QXmlQuery.
53697
53698 2009-09-28  Andrew Scherkus  <scherkus@chromium.org>
53699
53700         Reviewed by Eric Carlson.
53701
53702         Delegate implementation of rendererIsNeeded() for media control elements to RenderTheme.
53703
53704         https://bugs.webkit.org/show_bug.cgi?id=28689
53705
53706         Covered by LayoutTests/media/video-no-audio.html
53707
53708         * rendering/MediaControlElements.cpp: Removed subclass implementations of rendererIsNeeded().
53709         (WebCore::MediaControlElement::rendererIsNeeded): Include calling shouldRenderMediaControlPart().
53710         (WebCore::MediaControlInputElement::rendererIsNeeded): Include calling shouldRenderMediaControlPart().
53711         * rendering/MediaControlElements.h:
53712         * rendering/RenderTheme.cpp:
53713         (WebCore::RenderTheme::shouldRenderMediaControlPart): New method.  Contains logic moved from subclass implementations of rendererIsNeeded().
53714         * rendering/RenderTheme.h:
53715         * rendering/RenderThemeChromiumSkia.cpp:
53716         (WebCore::RenderThemeChromiumSkia::shouldRenderMediaControlPart): Override to always render mute button.
53717         * rendering/RenderThemeChromiumSkia.h:
53718
53719 2009-09-28  Jian Li  <jianli@chromium.org>
53720
53721         Reviewed by David Levin.
53722
53723         [chromium] DragData::asURL should return file URL.
53724         https://bugs.webkit.org/show_bug.cgi?id=29109
53725
53726         Tested by LayoutTests/fast/events/drag-to-navigate.html.
53727
53728         * platform/FileSystem.h:
53729         * platform/chromium/ChromiumBridge.h:
53730         * platform/chromium/DragDataChromium.cpp:
53731         (WebCore::DragData::asURL):
53732         * platform/chromium/FileSystemChromium.cpp:
53733         (WebCore::getAbsolutePath):
53734         (WebCore::isDirectory):
53735         (WebCore::filePathToURL):
53736
53737 2009-09-28  Dimitri Glazkov  <dglazkov@chromium.org>
53738
53739         Reviewed by David Levin.
53740
53741         [V8] Add a special case to handle index arguments, because we need to be
53742         able to see if they're < 0.
53743         https://bugs.webkit.org/show_bug.cgi?id=29810
53744
53745         Test: LayoutTests/dom/html/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.html
53746
53747         * bindings/scripts/CodeGeneratorV8.pm: Added special case (matching CodeGeneratorJS.pm)
53748           for index arguments.
53749
53750 2009-09-28  Dan Bernstein  <mitz@apple.com>
53751
53752         Reviewed by Darin Adler.
53753
53754         Extend the MediaWiki/KHTMLFixes.css workaround to cover older MediaWiki versions
53755         https://bugs.webkit.org/show_bug.cgi?id=29792
53756
53757         * html/HTMLLinkElement.cpp:
53758         (WebCore::HTMLLinkElement::setCSSStyleSheet): If site specific hacks are
53759         enabled, check if the linked style sheet is one of two versions of the
53760         MediaWiki KHTMLFixes.css. If so, remove the offending rule.
53761
53762 2009-09-28  Dimitri Glazkov  <dglazkov@chromium.org>
53763
53764         Reviewed by Adam Barth.
53765
53766         [V8] Fix an error in type logic in CodeGeneratorV8.pm, where
53767         unsigned ints are accidentally used as signed.
53768         https://bugs.webkit.org/show_bug.cgi?id=29810
53769
53770         Test: LayoutTests/fast/forms/textarea-maxlength.html
53771
53772         * bindings/scripts/CodeGeneratorV8.pm: Made sure "unsigned long" in IDL is
53773           properly generates on "unsigned" return value.
53774
53775 2009-09-28  Jakub Wieczorek  <faw217@gmail.com>
53776
53777         Reviewed by Simon Hausmann.
53778
53779         Rename XSLStyleSheet.cpp to XSLStyleSheetLibxslt.cpp.
53780         https://bugs.webkit.org/show_bug.cgi?id=28303
53781
53782         In preparation for adding XSLT support with QtXmlPatterns to the Qt
53783         port, rename XSLStyleSheet.cpp to XSLStyleSheetLibxslt.cpp as we will
53784         have our own implementation which most likely will not share any code
53785         with the current one.
53786
53787         Additionally, fix some coding style issues.
53788
53789         * GNUmakefile.am:
53790         * WebCore.gypi:
53791         * WebCore.vcproj/WebCore.vcproj:
53792         * WebCore.xcodeproj/project.pbxproj:
53793         * WebCoreSources.bkl:
53794         * xml/XSLStyleSheet.cpp: Renamed to XSLStyleSheetLibxslt.cpp.
53795         * xml/XSLStyleSheetLibxslt.cpp: Added.
53796
53797 2009-09-28  Simon Hausmann  <simon.hausmann@nokia.com>
53798
53799         Prospective build fix for r48812.
53800
53801         Forgot to remove the inline reset() implementation when reverting the indentation
53802         changes in the file.
53803
53804         * xml/XSLTProcessor.h:
53805
53806 2009-09-28  Pavel Feldman  <pfeldman@chromium.org>
53807
53808         Reviewed by nobody (trivial follow up fix), Joseph Pecoraro LGTM-ed.
53809
53810         Web Inspector: Follow up to r48809.
53811         InspectorController.wrapObject should only be called on the inspectable page side.
53812
53813         https://bugs.webkit.org/show_bug.cgi?id=17429
53814
53815         * inspector/front-end/EventListenersSidebarPane.js:
53816         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
53817         (WebInspector.EventListenersSidebarPane.prototype.update):
53818         (WebInspector.EventListenersSection):
53819         (WebInspector.EventListenersSection.prototype.update):
53820         (WebInspector.EventListenerBar):
53821         (WebInspector.EventListenerBar.prototype.update):
53822
53823 2009-09-28  Jakub Wieczorek  <faw217@gmail.com>
53824
53825         Reviewed by Simon Hausmann.
53826
53827         Move the libxslt specific part of XSLTProcessor to a separate file.
53828         https://bugs.webkit.org/show_bug.cgi?id=28303
53829
53830         In preparation for adding XSLT support with QtXmlPatterns to the Qt
53831         port, move the libxslt part of the XSLTProcessor implementation into
53832         another file and leave the part that can be reused and shared.
53833
53834         Additionally, fix some coding style issues.
53835
53836         * GNUmakefile.am:
53837         * WebCore.gypi:
53838         * WebCore.vcproj/WebCore.vcproj:
53839         * WebCore.xcodeproj/project.pbxproj:
53840         * WebCoreSources.bkl:
53841         * xml/XSLTProcessor.cpp:
53842         (WebCore::XSLTProcessor::createDocumentFromSource): Remove trailing whitespaces.
53843         (WebCore::createFragmentFromSource): Remove trailing whitespaces.
53844         (WebCore::XSLTProcessor::transformToFragment): Remove trailing whitespaces.
53845         (WebCore::XSLTProcessor::reset): Moved out of the class definition.
53846         * xml/XSLTProcessorLibxslt.cpp: Added.
53847         (WebCore::XSLTProcessor::genericErrorFunc): Moved.
53848         (WebCore::XSLTProcessor::parseErrorFunc): Moved.
53849         (WebCore::docLoaderFunc): Moved.
53850         (WebCore::setXSLTLoadCallBack): Moved.
53851         (WebCore::writeToVector): Moved.
53852         (WebCore::saveResultToString): Moved.
53853         (WebCore::xsltParamArrayFromParameterMap): Moved.
53854         (WebCore::freeXsltParamArray): Moved.
53855         (WebCore::xsltStylesheetPointer): Moved.
53856         (WebCore::xmlDocPtrFromNode): Moved.
53857         (WebCore::resultMIMEType): Moved.
53858         (WebCore::XSLTProcessor::transformToString): Moved.
53859
53860 2009-09-28  Charles Wei  <charles.wei@torchmobile.com.cn>
53861
53862         Reviewed by Nikolas Zimmermann.
53863
53864         Fix the crash of SVG that crashes when use a non-exist symbol
53865         https://bugs.webkit.org/show_bug.cgi?id=27693
53866
53867         Test: svg/custom/use-non-existing-symbol-crash.svg
53868
53869         * svg/SVGUseElement.cpp:
53870         (WebCore::shadowTreeContainsChangedNodes):
53871
53872 2009-09-28  Joseph Pecoraro  <joepeck@webkit.org>
53873
53874         Reviewed by Timothy Hatcher.
53875
53876         Inspector Should Show Event Listeners/Handlers Registered on each Node
53877         https://bugs.webkit.org/show_bug.cgi?id=17429
53878         
53879           Extracted a method from dispatchEvent to get the event ancestor chain
53880         
53881         * dom/Node.cpp:
53882         (WebCore::Node::eventAncestors): the extracted method
53883         (WebCore::Node::dispatchGenericEvent): use eventAncestors
53884         * dom/Node.h:
53885
53886           Asynchronous Flow For the Inspector, Backend -> DOM Agent -> Frontend
53887           The DOMAgent's getEventListenersForNode handles the logic of finding
53888           all the relevant listeners in the event flow.
53889
53890         * inspector/InspectorBackend.cpp:
53891         (WebCore::InspectorBackend::getEventListenersForNode):
53892         * inspector/InspectorBackend.h:
53893         * inspector/InspectorBackend.idl:
53894         * inspector/InspectorDOMAgent.cpp:
53895         (WebCore::InspectorDOMAgent::getEventListenersForNode):
53896         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
53897         (WebCore::InspectorDOMAgent::buildObjectForNode): added localName
53898         * inspector/InspectorDOMAgent.h:
53899         (WebCore::EventListenerInfo::EventListenerInfo):
53900         * inspector/InspectorFrontend.cpp:
53901         (WebCore::InspectorFrontend::didGetEventListenersForNode):
53902         * inspector/InspectorFrontend.h:
53903         (WebCore::InspectorFrontend::scriptState):
53904         * inspector/front-end/DOMAgent.js: added localName to WebInspector.DOMNode from payload
53905         (WebInspector.EventListeners.getEventListenersForNodeAsync.mycallback):
53906         (WebInspector.EventListeners.getEventListenersForNodeAsync):
53907
53908           New Sidebar Pane in the Element's Panel
53909           Includes Gear Menu for filtering the Event Listeners on the
53910           "Selected Node Only" or "All Nodes"
53911
53912         * inspector/front-end/ElementsPanel.js: Handles refreshing the Pane when necessary
53913         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
53914         (WebInspector.ElementsPanel):
53915         (WebInspector.ElementsPanel.prototype.updateEventListeners):
53916         * inspector/front-end/EventListenersSidebarPane.js: Added. 
53917         (WebInspector.EventListenersSidebarPane): The 1st level in the Pane
53918         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
53919         (WebInspector.EventListenersSidebarPane.prototype.update):
53920         (WebInspector.EventListenersSection): The 2nd level in the Pane
53921         (WebInspector.EventListenersSection.prototype.update): filters on Preference
53922         (WebInspector.EventListenersSection.prototype.addListener):
53923         (WebInspector.EventListenerBar): The 3rd level in the Pane
53924         (WebInspector.EventListenerBar.prototype._getNodeDisplayName):
53925         (WebInspector.EventListenerBar.prototype._getFunctionDisplayName):
53926         (WebInspector.EventListenersSidebarPane.prototype._changeSetting): For the Gear Menu
53927         
53928           Consolidated "appropriateSelectorForNode"
53929
53930         * inspector/front-end/StylesSidebarPane.js:
53931         * inspector/front-end/utilities.js:
53932
53933           Miscellaneous Updates
53934
53935         * English.lproj/localizedStrings.js: "Event Listeners", "No Event Listeners", "Selected Node Only", "All Nodes"
53936         * WebCore.gypi: included the new inspector files
53937         * WebCore.vcproj/WebCore.vcproj: included source files that were missing
53938         * inspector/front-end/Images/grayConnectorPoint.png: Added. Thanks to Timothy Hatcher.
53939         * inspector/front-end/Images/whiteConnectorPoint.png: Added. Thanks to Timothy Hatcher.
53940         * inspector/front-end/inspector.js: Preferences for the Gear Menu Event Listeners filter
53941         * inspector/front-end/inspector.css: reused as much as possible
53942         * inspector/front-end/inspector.html: include the new script
53943         * inspector/front-end/WebKit.qrc: included the new inspector files
53944
53945 2009-09-27  Sam Weinig  <sam@webkit.org>
53946
53947         Reviewed by Dan Bernstein.
53948
53949         Fix for https://bugs.webkit.org/show_bug.cgi?id=29760
53950         Implement CSSOM Range.getClientRects/getBoundingClientRect 
53951
53952         Tests: fast/dom/Range/getBoundingClientRect-getClientRects-relative-to-viewport.html
53953                fast/dom/Range/getBoundingClientRect.html
53954                fast/dom/Range/getClientRects.html
53955
53956         * dom/Range.cpp:
53957         (WebCore::Range::getClientRects):
53958         (WebCore::Range::getBoundingClientRect):
53959         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoom):
53960         (WebCore::Range::getBorderAndTextQuads):
53961         * dom/Range.h:
53962         * dom/Range.idl:
53963         Implement Range.getClientRects/getBoundingClientRect.
53964
53965         * dom/Element.cpp:
53966         * rendering/RenderObject.h: 
53967         (WebCore::adjustForAbsoluteZoom):
53968         (WebCore::adjustIntRectForAbsoluteZoom):
53969         (WebCore::adjustFloatPointForAbsoluteZoom):
53970         (WebCore::adjustFloatQuadForAbsoluteZoom):
53971         Move point/quad adjustment methods from Element.cpp to RenderObject.h
53972         so that Range.cpp can use them as well.
53973
53974 2009-09-27  Simon Hausmann  <hausmann@webkit.org>
53975
53976         Unreviewed fix for WebInspector with Qt build.
53977
53978         Simply re-generate the Qt resource file by running
53979         WebKitTools/Scripts/generate-qt-inspector-resource
53980
53981         * inspector/front-end/WebKit.qrc:
53982
53983 2009-09-27  Pavel Feldman  <pfeldman@chromium.org>
53984
53985         Reviewed by nobody (trivial ChangeLog fix).
53986
53987         Restore WebCore/ChangeLog truncated in r48778.
53988
53989 2009-09-27  Pavel Feldman  <pfeldman@chromium.org>
53990
53991         Reviewed by Timothy Hatcher.
53992
53993         Web Inspector: DOM store is being unbound twice, leading to assertion failure.
53994
53995         https://bugs.webkit.org/show_bug.cgi?id=29770
53996
53997         * inspector/InspectorController.cpp:
53998         (WebCore::InspectorController::didOpenDatabase):
53999         (WebCore::InspectorController::didUseDOMStorage):
54000         * inspector/InspectorDOMStorageResource.cpp:
54001         (WebCore::InspectorDOMStorageResource::unbind):
54002
54003 2009-09-26  Pavel Feldman  <pfeldman@chromium.org>
54004
54005         Reviewed by Timothy Hatcher.
54006
54007         Web Inspector: Do not track DOM changes while inspector window is closed.
54008
54009         https://bugs.webkit.org/show_bug.cgi?id=29769
54010
54011         * inspector/InspectorController.cpp:
54012         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
54013         (WebCore::InspectorController::populateScriptObjects):
54014         (WebCore::InspectorController::resetScriptObjects):
54015         (WebCore::InspectorController::didCommitLoad):
54016         * inspector/InspectorController.h:
54017         * inspector/InspectorDOMAgent.cpp:
54018         (WebCore::InspectorDOMAgent::setDocument):
54019         * inspector/InspectorDOMAgent.h:
54020         * loader/FrameLoader.cpp:
54021         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
54022         * page/android/InspectorControllerAndroid.cpp:
54023         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
54024
54025 2009-09-26  Pavel Feldman  <pfeldman@chromium.org>
54026
54027         Reviewed by Timothy Hatcher.
54028
54029         Web Inspector: [REGRESSION] Double Clicking Resources Fails to Open in New Window
54030
54031         https://bugs.webkit.org/show_bug.cgi?id=29762
54032
54033         * inspector/front-end/InjectedScript.js:
54034         (InjectedScript.setStyleText):
54035         (InjectedScript.openInInspectedWindow):
54036         * inspector/front-end/InjectedScriptAccess.js:
54037         * inspector/front-end/ResourcesPanel.js:
54038         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
54039
54040 2009-09-26  David Kilzer  <ddkilzer@apple.com>
54041
54042         Part 2 of 2: <http://webkit.org/b/29753> DerivedSources.make broken for non-Mac targets
54043
54044         Reviewed by Darin Adler.
54045
54046         Fix ENABLE_ORIENTATION_EVENTS for non-Mac platforms.
54047
54048         * DerivedSources.make: Moved Platform.h check for
54049         ENABLE_ORIENTATION_EVENTS into Mac-only section and added
54050         default of ENABLE_ORIENTATION_EVENTS = 0 to non-Mac section.
54051         Added ifndef test to make it possible to override both
54052         ENABLE_DASHBOARD_SUPPORT and ENABLE_ORIENTATION_EVENTS external
54053         to the makefile.  Moved addition of ENABLE_ORIENTATION_EVENTS to
54054         ADDITIONAL_IDL_DEFINES to common section.
54055         * GNUmakefile.am: Added support for ENABLE_ORIENTATION_EVENTS if
54056         it is ever used.
54057         * WebCore.pro: Ditto.
54058
54059 2009-09-26  Kent Tamura  <tkent@chromium.org>
54060
54061         Reviewed by David Kilzer.
54062
54063         Move placeholder-related code to HTMLTextFormControlElement from
54064         HTMLInputElement, WMLInputElement, InputElement, and
54065         HTMLTextAreaElement.
54066         https://bugs.webkit.org/show_bug.cgi?id=28703
54067
54068         * dom/InputElement.cpp:
54069         (WebCore::InputElement::dispatchFocusEvent):
54070         (WebCore::InputElement::dispatchBlurEvent):
54071         (WebCore::InputElement::setValueFromRenderer):
54072         * dom/InputElement.h:
54073         * html/HTMLFormControlElement.cpp:
54074         (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement):
54075         (WebCore::HTMLTextFormControlElement::~HTMLTextFormControlElement):
54076         (WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
54077         (WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
54078         (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
54079         (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
54080         * html/HTMLFormControlElement.h:
54081         (WebCore::HTMLTextFormControlElement::handleFocusEvent):
54082         (WebCore::HTMLTextFormControlElement::handleBlurEvent):
54083         * html/HTMLInputElement.cpp:
54084         (WebCore::HTMLInputElement::HTMLInputElement):
54085         (WebCore::HTMLInputElement::handleFocusEvent):
54086         (WebCore::HTMLInputElement::handleBlurEvent):
54087         (WebCore::HTMLInputElement::parseMappedAttribute):
54088         (WebCore::HTMLInputElement::createRenderer):
54089         (WebCore::HTMLInputElement::setValue):
54090         (WebCore::HTMLInputElement::setValueFromRenderer):
54091         * html/HTMLInputElement.h:
54092         (WebCore::HTMLInputElement::supportsPlaceholder):
54093         (WebCore::HTMLInputElement::isEmptyValue):
54094         * html/HTMLIsIndexElement.cpp:
54095         (WebCore::HTMLIsIndexElement::parseMappedAttribute):
54096         * html/HTMLTextAreaElement.cpp:
54097         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
54098         (WebCore::HTMLTextAreaElement::createRenderer):
54099         * html/HTMLTextAreaElement.h:
54100         (WebCore::HTMLTextAreaElement::supportsPlaceholder):
54101         (WebCore::HTMLTextAreaElement::isEmptyValue):
54102         * rendering/RenderTextControl.cpp:
54103         (WebCore::RenderTextControl::RenderTextControl):
54104         * rendering/RenderTextControl.h:
54105         * rendering/RenderTextControlMultiLine.cpp:
54106         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
54107         * rendering/RenderTextControlMultiLine.h:
54108         * rendering/RenderTextControlSingleLine.cpp:
54109         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
54110         (WebCore::RenderTextControlSingleLine::updateFromElement):
54111         * rendering/RenderTextControlSingleLine.h:
54112         * wml/WMLInputElement.cpp:
54113         (WebCore::WMLInputElement::setValue):
54114         (WebCore::WMLInputElement::createRenderer):
54115         * wml/WMLInputElement.h:
54116
54117 2009-09-26  Shu Chang  <Chang.Shu@nokia.com>
54118
54119         Reviewed by Alexey Proskuryakov.
54120
54121         Optimize the code so only the text from start to end is scanned.
54122         https://bugs.webkit.org/show_bug.cgi?id=29092
54123
54124         On a platform with webkit+Qt+Symbian, the parsing time for a 600K text
54125         file improved from 400ms to 40ms (10x faster).
54126
54127         * dom/Text.cpp:
54128         (WebCore::Text::createWithLengthLimit):
54129
54130 2009-09-26  Xiaomei Ji  <xji@chromium.org>
54131
54132         Reviewed by Eric Seidel.
54133
54134         This Patch fixes [chromium] the drop-down is always left-aligned even
54135         for RTL element.
54136         https://bugs.webkit.org/show_bug.cgi?id=29612
54137
54138         For auto-complete, the items in drop-down should be right-aligned if
54139         the directionality of <input> field is RTL.
54140         For <select><option>, the items in drop-down should be right-aligned
54141         if the directionality of <select> is RTL.
54142
54143         No automatic test is possible. Manual tests are added.
54144
54145         * manual-tests/autofill_alignment.html: Added.
54146         * manual-tests/select_alignment.html: Added.
54147         * platform/chromium/PopupMenuChromium.cpp:
54148         (WebCore::PopupListBox::paintRow): Adjust the starting x-axis of text to
54149         be paint if it should be right-aligned.
54150
54151 2009-09-25  Dan Bernstein  <mitz@apple.com>
54152
54153         Reviewed by Sam Weinig.
54154
54155         REGRESSION (r48775) FontList.plist written by TOT WebKit causes Safari 4
54156         to crash on launch
54157         https://bugs.webkit.org/show_bug.cgi?id=29759
54158
54159         * platform/graphics/win/FontDatabase.cpp:
54160         (WebCore::writeFontDatabaseToPlist): Reverted to saving the CG font DB
54161         property list at the root of FontList.plist, but with an additional
54162         key for the last value of the Fonts registry key.
54163         (WebCore::populateFontDatabase): Pass the FontList.plist in its entirety
54164         to populatFontDatabaseFromPlist.
54165
54166 2009-09-25  Kevin Ollivier  <kevino@theolliviers.com>
54167
54168         Build fix. Adding missing header files.
54169
54170         * bindings/js/JSNamedNodeMapCustom.cpp:
54171
54172 2009-09-25  David Kilzer  <ddkilzer@apple.com>
54173
54174         Part 1 of 2: <http://webkit.org/b/29753> DerivedSources.make broken for non-Mac targets
54175
54176         Reviewed by Darin Adler.
54177
54178         * DerivedSources.make: Move tests for ENABLE_CONTEXT_MENUS,
54179         ENABLE_DRAG_SUPPORT and ENABLE_INSPECTOR into Mac-only section.
54180
54181 2009-09-25  Adam Barth  <abarth@webkit.org>
54182
54183         Reviewed by Darin Adler.
54184
54185         Load blocks during unload should not affect targeted loads
54186         https://bugs.webkit.org/show_bug.cgi?id=29747
54187
54188         Move the check of the unload state after checking for targeted links.
54189
54190         Test: fast/loader/unload-hyperlink-targeted.html
54191
54192         * loader/FrameLoader.cpp:
54193         (WebCore::FrameLoader::loadURL):
54194
54195 2009-09-25  Kenneth Russell  <kbr@google.com>
54196
54197         Reviewed by Dimitri Glazkov.
54198
54199         [Chromium] Add initial V8 bindings for WebGL
54200         https://bugs.webkit.org/show_bug.cgi?id=29664
54201
54202         * WebCore.gypi:
54203         * bindings/scripts/CodeGeneratorV8.pm:
54204         * bindings/v8/DOMObjectsInclude.h:
54205         * bindings/v8/DerivedSourcesAllInOne.cpp:
54206         * bindings/v8/V8DOMWrapper.cpp:
54207         (WebCore::V8DOMWrapper::getTemplate):
54208         * bindings/v8/V8Index.cpp:
54209         * bindings/v8/V8Index.h:
54210         * bindings/v8/custom/V8CanvasArrayBufferCustom.cpp: Added.
54211         (WebCore::CALLBACK_FUNC_DECL):
54212         * bindings/v8/custom/V8CanvasArrayCustom.h: Added.
54213         (WebCore::constructCanvasArray):
54214         * bindings/v8/custom/V8CanvasByteArrayCustom.cpp: Added.
54215         (WebCore::CALLBACK_FUNC_DECL):
54216         (WebCore::INDEXED_PROPERTY_GETTER):
54217         (WebCore::INDEXED_PROPERTY_SETTER):
54218         * bindings/v8/custom/V8CanvasFloatArrayCustom.cpp: Added.
54219         (WebCore::CALLBACK_FUNC_DECL):
54220         (WebCore::INDEXED_PROPERTY_GETTER):
54221         (WebCore::INDEXED_PROPERTY_SETTER):
54222         * bindings/v8/custom/V8CanvasIntArrayCustom.cpp: Added.
54223         (WebCore::CALLBACK_FUNC_DECL):
54224         (WebCore::INDEXED_PROPERTY_GETTER):
54225         (WebCore::INDEXED_PROPERTY_SETTER):
54226         * bindings/v8/custom/V8CanvasRenderingContext3DCustom.cpp: Added.
54227         (WebCore::jsArrayToFloatArray):
54228         (WebCore::jsArrayToIntArray):
54229         (WebCore::CALLBACK_FUNC_DECL):
54230         (WebCore::):
54231         (WebCore::vertexAttribAndUniformHelperf):
54232         (WebCore::uniformHelperi):
54233         (WebCore::uniformMatrixHelper):
54234         * bindings/v8/custom/V8CanvasShortArrayCustom.cpp: Added.
54235         (WebCore::CALLBACK_FUNC_DECL):
54236         (WebCore::INDEXED_PROPERTY_GETTER):
54237         (WebCore::INDEXED_PROPERTY_SETTER):
54238         * bindings/v8/custom/V8CanvasUnsignedByteArrayCustom.cpp: Added.
54239         (WebCore::CALLBACK_FUNC_DECL):
54240         (WebCore::INDEXED_PROPERTY_GETTER):
54241         (WebCore::INDEXED_PROPERTY_SETTER):
54242         * bindings/v8/custom/V8CanvasUnsignedIntArrayCustom.cpp: Added.
54243         (WebCore::CALLBACK_FUNC_DECL):
54244         (WebCore::INDEXED_PROPERTY_GETTER):
54245         (WebCore::INDEXED_PROPERTY_SETTER):
54246         * bindings/v8/custom/V8CanvasUnsignedShortArrayCustom.cpp: Added.
54247         (WebCore::CALLBACK_FUNC_DECL):
54248         (WebCore::INDEXED_PROPERTY_GETTER):
54249         (WebCore::INDEXED_PROPERTY_SETTER):
54250         * bindings/v8/custom/V8CustomBinding.h:
54251         * bindings/v8/custom/V8DocumentCustom.cpp:
54252         (WebCore::CALLBACK_FUNC_DECL):
54253         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
54254         (WebCore::CALLBACK_FUNC_DECL):
54255         * platform/graphics/GraphicsContext3D.h:
54256
54257 2009-09-25  Jeremy Orlow  <jorlow@chromium.org>
54258
54259         This is breaking Chromium try bots, so I'm counting this as a build fix.
54260
54261         Add more svn:ignore exceptions.  On different platforms, these files are
54262         generated with different case for WebCore.
54263
54264         * WebCore.gyp: Changed property svn:ignore.
54265
54266 2009-09-25  Alexey Proskuryakov  <ap@apple.com>
54267
54268         Reverting r48767, as it broke Windows build in a non-trivial way.
54269
54270         * bindings/js/JSAbstractWorkerCustom.cpp:
54271         (WebCore::JSAbstractWorker::addEventListener):
54272         (WebCore::JSAbstractWorker::removeEventListener):
54273         * bindings/js/JSDOMApplicationCacheCustom.cpp:
54274         (WebCore::JSDOMApplicationCache::addEventListener):
54275         (WebCore::JSDOMApplicationCache::removeEventListener):
54276         * bindings/js/JSDOMGlobalObject.cpp:
54277         (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
54278         * bindings/js/JSDOMWindowCustom.cpp:
54279         (WebCore::JSDOMWindow::addEventListener):
54280         (WebCore::JSDOMWindow::removeEventListener):
54281         * bindings/js/JSEventListener.cpp:
54282         (WebCore::JSEventListener::JSEventListener):
54283         (WebCore::JSEventListener::jsFunction):
54284         (WebCore::JSEventListener::markJSFunction):
54285         (WebCore::JSEventListener::handleEvent):
54286         (WebCore::JSEventListener::reportError):
54287         * bindings/js/JSEventListener.h:
54288         (WebCore::JSEventListener::create):
54289         * bindings/js/JSEventSourceCustom.cpp:
54290         (WebCore::JSEventSource::addEventListener):
54291         (WebCore::JSEventSource::removeEventListener):
54292         * bindings/js/JSLazyEventListener.cpp:
54293         (WebCore::JSLazyEventListener::JSLazyEventListener):
54294         (WebCore::JSLazyEventListener::jsFunction):
54295         (WebCore::JSLazyEventListener::parseCode):
54296         * bindings/js/JSLazyEventListener.h:
54297         (WebCore::JSLazyEventListener::create):
54298         * bindings/js/JSMessagePortCustom.cpp:
54299         (WebCore::JSMessagePort::addEventListener):
54300         (WebCore::JSMessagePort::removeEventListener):
54301         * bindings/js/JSNodeCustom.cpp:
54302         (WebCore::JSNode::addEventListener):
54303         (WebCore::JSNode::removeEventListener):
54304         * bindings/js/JSSVGElementInstanceCustom.cpp:
54305         (WebCore::JSSVGElementInstance::addEventListener):
54306         (WebCore::JSSVGElementInstance::removeEventListener):
54307         * bindings/js/JSWorkerContextCustom.cpp:
54308         (WebCore::JSWorkerContext::addEventListener):
54309         (WebCore::JSWorkerContext::removeEventListener):
54310         * bindings/js/JSXMLHttpRequestCustom.cpp:
54311         (WebCore::JSXMLHttpRequest::addEventListener):
54312         (WebCore::JSXMLHttpRequest::removeEventListener):
54313         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
54314         (WebCore::JSXMLHttpRequestUpload::addEventListener):
54315         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
54316         * bindings/js/ScriptEventListener.cpp:
54317         (WebCore::createAttributeEventListener):
54318         * bindings/objc/ObjCEventListener.h:
54319         * bindings/objc/ObjCEventListener.mm:
54320         (WebCore::ObjCEventListener::handleEvent):
54321         * bindings/scripts/CodeGeneratorJS.pm:
54322         * dom/EventListener.h:
54323         (WebCore::EventListener::reportError):
54324         (WebCore::EventListener::jsFunction):
54325         * dom/EventTarget.cpp:
54326         (WebCore::EventTarget::fireEventListeners):
54327         * inspector/InspectorDOMAgent.cpp:
54328         (WebCore::InspectorDOMAgent::handleEvent):
54329         * inspector/InspectorDOMAgent.h:
54330         * inspector/InspectorDOMStorageResource.cpp:
54331         (WebCore::InspectorDOMStorageResource::handleEvent):
54332         * inspector/InspectorDOMStorageResource.h:
54333         * loader/ImageDocument.cpp:
54334         (WebCore::ImageEventListener::handleEvent):
54335         * svg/animation/SVGSMILElement.cpp:
54336         (WebCore::ConditionEventListener::handleEvent):
54337         * workers/WorkerContext.cpp:
54338         (WebCore::WorkerContext::reportException):
54339
54340 2009-09-24  Tony Chang  <tony@chromium.org>
54341
54342         Reviewed by David Levin.
54343
54344         Add a gyp variable to allow building a debug webcore without debug
54345         symbols.  This allows for faster compile, link, and gdb times.
54346
54347         https://bugs.webkit.org/show_bug.cgi?id=29721
54348
54349         No new tests, build config change.
54350
54351         * WebCore.gyp/WebCore.gyp:
54352
54353 2009-09-25  Darin Fisher  <darin@chromium.org>
54354
54355         Reviewed by Dimitri Glazkov.
54356
54357         Declare RegisteredEventListener as a class instead of a struct.
54358         This fixes a warning in the Chromium build.
54359
54360         * dom/RegisteredEventListener.h:
54361
54362 2009-09-25  Dan Bernstein  <mitz@apple.com>
54363
54364         Reviewed by Jon Honeycutt.
54365
54366         WebCore part of
54367         <rdar://problem/7211635> 2 byte characters are displayed as garbaged
54368         <rdar://problem/7212626> garbled/gibberish text (off-by-one)
54369
54370         When the Windows Fonts directory contains more than one font file for a
54371         given font name, which of the fonts gets assigned to the name in the
54372         Core Graphics font database was determined arbitrarily and did not
54373         always match the font GDI used for the same font name. The mismatch
54374         caused character-to-glyph mapping to use one font and glyph rendering to
54375         use another.
54376
54377         The fix is to update the Core Graphics font database from the registry
54378         entries (that reflect the name-to-font mapping that GDI uses) after
54379         populating it with the result of scanning the Fonts directory. As a
54380         consequence, the directory needs to be scanned at startup every time the
54381         registry key changes, so the last value of the registry key is kept
54382         in the property list on disk so that it could be compared to the current
54383         value on startup.
54384
54385         * platform/graphics/win/FontDatabase.cpp:
54386         (WebCore::populateFontDatabaseFromPlist): Now takes a property list as
54387         a parameter and avoids round-tripping through XML by calling
54388         wkAddFontsFromPlist() instead of wkAddFontsFromPlistRepresentation().
54389         (WebCore::fontFilenamesFromRegistryKey):
54390         (WebCore::cgFontDBKey):
54391         (WebCore::writeFontDatabaseToPlist): Now takes the CG font DB property
54392         list and a property list with the font filenames from the registry and
54393         writes a dictionary with those property lists as values.
54394         (WebCore::fontFilenamesFromRegistry): Added. Returns an array with the
54395         values in the HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
54396         registry key.
54397         (WebCore::populateFontDatabase): Changed to read the contents of the
54398         Fonts registry key and compare it with the last-saved value from the
54399         property list, and to call wkAddFontsFromRegistry() after populating the
54400         CG font DB from the file system. Uses wkCreateFontsPlist() instead of
54401         wkCreateFontsPlistRepresentation() to avoid round-tripping through XML.
54402
54403 2009-09-25  Geoffrey Garen  <ggaren@apple.com>
54404
54405         Reviewed by Darin Adler.
54406
54407         Inlined some object creation code, including lexicalGlobalObject access
54408         https://bugs.webkit.org/show_bug.cgi?id=29750
54409
54410         * bindings/js/JSInspectorBackendCustom.cpp:
54411         (WebCore::JSInspectorBackend::currentCallFrame):
54412         * inspector/JavaScriptDebugServer.cpp:
54413         (WebCore::JavaScriptDebugServer::hasBreakpoint): Updated for JavaScriptCore
54414         API changes.
54415
54416 2009-09-25  Dave Hyatt  <hyatt@apple.com>
54417
54418         Reviewed by Anders Carlsson.
54419
54420         https://bugs.webkit.org/show_bug.cgi?id=24399
54421         Make @import work in user stylesheets.  The first bug was that the URL wasn't being set on the
54422         user sheets themselves, so relative @import URLs couldn't resolve properly.  The second bug
54423         was that the loads would be denied.  This is fixed by using the requestUserCSSStyleSheet method
54424         instead of the normal request method.  In order to know when to do this, CSSStyleSheets now have
54425         a propagated boolean, m_isUserStyleSheet, that lets them know if they are user stylesheets or not.
54426
54427         * css/CSSImportRule.cpp:
54428         (WebCore::CSSImportRule::insertedIntoParent):
54429         * css/CSSStyleSheet.cpp:
54430         (WebCore::CSSStyleSheet::CSSStyleSheet):
54431         * css/CSSStyleSheet.h:
54432         (WebCore::CSSStyleSheet::setIsUserStyleSheet):
54433         (WebCore::CSSStyleSheet::isUserStyleSheet):
54434         * dom/Document.cpp:
54435         (WebCore::Document::pageUserSheet):
54436         (WebCore::Document::pageGroupUserSheets):
54437
54438 2009-09-25  Simon Fraser  <simon.fraser@apple.com>
54439
54440         Reviewed by Darin Adler.
54441
54442         ASSERTION FAILED: !repaintContainer || repaintContainer == this
54443         https://bugs.webkit.org/show_bug.cgi?id=29755
54444         
54445         It's possible for RenderObject::container() to return an object that is higher
54446         in the hierarchy than the repaintContainer that is being used to repaint an
54447         object. For example, this can happen when running an accelerated opacity
54448         transition on an element with a position:absolute parent, and a position:absolute child.
54449         
54450         In this case we need to detect when RenderObject::container() will skip over
54451         repaintContainer, and in that case adjust the coords to shift into repaintContainer's space.
54452
54453         Test: compositing/repaint/opacity-between-absolute.html
54454
54455         * rendering/RenderBox.cpp:
54456         (WebCore::RenderBox::mapLocalToContainer):
54457         (WebCore::RenderBox::computeRectForRepaint):
54458         * rendering/RenderInline.cpp:
54459         (WebCore::RenderInline::computeRectForRepaint):
54460         * rendering/RenderObject.cpp:
54461         (WebCore::RenderObject::container):
54462         * rendering/RenderObject.h:
54463
54464 2009-09-25  Simon Fraser  <simon.fraser@apple.com>
54465
54466         Reviewed by Darin Adler.
54467
54468         Crash with hardware accelerated rotation of a PDF image in a data URL
54469         <rdar://problem/7250378>
54470         
54471         PDF images don't return a color space from CGImageGetColorSpace(),
54472         so we need to null-check the return value before use.
54473
54474         Test: compositing/color-matching/pdf-image-match.html
54475
54476         * platform/graphics/mac/GraphicsLayerCA.mm:
54477         (WebCore::GraphicsLayerCA::setContentsToImage):
54478
54479 2009-09-25  Darin Adler  <darin@apple.com>
54480
54481         Reviewed by Geoffrey Garen.
54482
54483         Null-deref when first access to an Attr node is after its Element is destroyed
54484         https://bugs.webkit.org/show_bug.cgi?id=29748
54485
54486         Test: fast/dom/Attr/access-after-element-destruction.html
54487
54488         * bindings/js/JSAttrCustom.cpp:
54489         (WebCore::JSAttr::markChildren): Added. Keeps the ownerElement alive as
54490         long as the Attr is alive.
54491
54492         * bindings/js/JSNamedNodeMapCustom.cpp:
54493         (WebCore::JSNamedNodeMap::markChildren): Added. Keeps the Element alive as
54494         long as the NamedNodeMap is alive.
54495
54496         * dom/Attr.idl: Added CustomMarkFunction attribute.
54497
54498         * dom/NamedAttrMap.cpp:
54499         (WebCore::NamedNodeMap::getAttributeItem): Tweaked formatting.
54500         (WebCore::NamedNodeMap::detachFromElement): Call clearAttributes so we don't
54501         have attributes hanging around that might need an Attr node created; that way
54502         we won't crash with a null-dereference trying to deal with one of them. This
54503         can't happen when working with JavaScript since the Element will be kept
54504         alive due to the change above.
54505         (WebCore::NamedNodeMap::addAttribute): Fix function name in comment.
54506         (WebCore::NamedNodeMap::removeAttribute): Removed unneeded "1" and added
54507         missing braces.
54508
54509         * dom/NamedAttrMap.h: Made the element function public so it can be used by
54510         the JavaScript binding to keep the Element alive.
54511
54512         * dom/NamedNodeMap.idl: Added CustomMarkFunction attribute.
54513
54514 2009-09-24  Alexey Proskuryakov  <ap@apple.com>
54515
54516         Reviewed by Darin Adler and Sam Weinig.
54517
54518         Onclick not fired for an element copied with cloneContents() or cloneNode()
54519         https://bugs.webkit.org/show_bug.cgi?id=25130
54520
54521         The change here is that JS event listeners don't keep a reference to a global object from
54522         where they were created, and instead take it as a parameter when parsing source code. Also,
54523         the listener creation won't fail just because it happens for an element in a frameless
54524         document.
54525         Thus, moving nodes between documents no longer results in having incorrect registered
54526         lazy event listeners on them.
54527
54528         Tests: fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html
54529                fast/events/attribute-listener-cloned-from-frameless-doc-context.html
54530                fast/events/attribute-listener-cloned-from-frameless-doc.xhtml
54531                fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html
54532                fast/events/attribute-listener-extracted-from-frameless-doc-context.html
54533
54534         * bindings/js/JSEventListener.cpp:
54535         (WebCore::JSEventListener::JSEventListener): Don't take a reference to JSDOMGlobalObject.
54536         (WebCore::JSEventListener::jsFunction): Take ScriptExecutionContext as a parameter for
54537         getting to JSDOMGlobalObject. It's not used in base class, but is in JSLazyEventListner.
54538         (WebCore::JSEventListener::markJSFunction): Don't mark the global object.
54539         (WebCore::JSEventListener::handleEvent): Get global object from ScriptExecutionContext.
54540         (WebCore::JSEventListener::reportError): Ditto.
54541
54542         * bindings/js/JSEventListener.h: (WebCore::JSEventListener::create): Don't keep a reference
54543         to JSDOMGlobalObject.
54544
54545         * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::parseCode): Listener
54546         creation was split between this function and ScriptEventListener; moved it here, as JS
54547         global object can be different now.
54548
54549         * bindings/js/JSLazyEventListener.h: (WebCore::JSLazyEventListener::create): Keep source URL,
54550         which can not be determined at parsing time.
54551
54552         * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Moved code
54553         for listener creation to JSLazyEventListener. XSSAuditor code remains here, because tests
54554         expect that errors are logged at document parsing time, and because I don't know what other
54555         side effects moving it vould have.
54556
54557         * dom/EventListener.h: handleEvent() and reportError() now take ScriptExecutionContext,
54558         because JSC needs a global context here.
54559
54560         * bindings/js/JSAbstractWorkerCustom.cpp:
54561         (WebCore::JSAbstractWorker::addEventListener):
54562         (WebCore::JSAbstractWorker::removeEventListener):
54563         * bindings/js/JSDOMApplicationCacheCustom.cpp:
54564         (WebCore::JSDOMApplicationCache::addEventListener):
54565         (WebCore::JSDOMApplicationCache::removeEventListener):
54566         * bindings/js/JSDOMGlobalObject.cpp:
54567         (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
54568         * bindings/js/JSDOMWindowCustom.cpp:
54569         (WebCore::JSDOMWindow::addEventListener):
54570         (WebCore::JSDOMWindow::removeEventListener):
54571         * bindings/js/JSEventSourceCustom.cpp:
54572         (WebCore::JSEventSource::addEventListener):
54573         (WebCore::JSEventSource::removeEventListener):
54574         * bindings/js/JSMessagePortCustom.cpp:
54575         (WebCore::JSMessagePort::addEventListener):
54576         (WebCore::JSMessagePort::removeEventListener):
54577         * bindings/js/JSNodeCustom.cpp:
54578         (WebCore::JSNode::addEventListener):
54579         (WebCore::JSNode::removeEventListener):
54580         * bindings/js/JSSVGElementInstanceCustom.cpp:
54581         (WebCore::JSSVGElementInstance::addEventListener):
54582         (WebCore::JSSVGElementInstance::removeEventListener):
54583         * bindings/js/JSWorkerContextCustom.cpp:
54584         (WebCore::JSWorkerContext::addEventListener):
54585         (WebCore::JSWorkerContext::removeEventListener):
54586         * bindings/js/JSXMLHttpRequestCustom.cpp:
54587         (WebCore::JSXMLHttpRequest::addEventListener):
54588         (WebCore::JSXMLHttpRequest::removeEventListener):
54589         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
54590         (WebCore::JSXMLHttpRequestUpload::addEventListener):
54591         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
54592         * bindings/objc/ObjCEventListener.h:
54593         * bindings/objc/ObjCEventListener.mm:
54594         (WebCore::ObjCEventListener::handleEvent):
54595         * bindings/scripts/CodeGeneratorJS.pm:
54596         * dom/EventTarget.cpp:
54597         (WebCore::EventTarget::fireEventListeners):
54598         * inspector/InspectorDOMAgent.cpp:
54599         (WebCore::InspectorDOMAgent::handleEvent):
54600         * inspector/InspectorDOMAgent.h:
54601         * inspector/InspectorDOMStorageResource.cpp:
54602         (WebCore::InspectorDOMStorageResource::handleEvent):
54603         * inspector/InspectorDOMStorageResource.h:
54604         * loader/ImageDocument.cpp:
54605         (WebCore::ImageEventListener::handleEvent):
54606         * svg/animation/SVGSMILElement.cpp:
54607         (WebCore::ConditionEventListener::handleEvent):
54608         * workers/WorkerContext.cpp:
54609         (WebCore::WorkerContext::reportException):
54610         Don't pass global object to JSEventListener::create(), which no longer needs it.
54611         Note that some of these functions still have an early return for null global object, which
54612         can probably be removed in a later patch.
54613         Pass ScriptExecutionContext to EventListener methods that now need it.
54614
54615 2009-09-25  Enrica Casucci  <enrica@apple.com>
54616
54617         Reviewed by Darin Adler, Dan Bernstein, Adele Peterson, and others.
54618
54619         Fix for https://bugs.webkit.org/show_bug.cgi?id=29740
54620         <rdar://problem/7168738> Gmail: After changing a foreground text color, pressing return doesn't apply background to new line
54621
54622         Change the way style is preserved when inserting a new paragraph.
54623         The original code handled insertion at the beginning and at the end of a paragraph as special
54624         cases. The newly created paragraph contained a set of nodes generated starting from the
54625         computed style of the insertion node. This approach has two problems:
54626         1. if the insertion node has a non opaque background color and one of the parent element did have
54627         a solid background color the new paragraph did not have the element with the solid color in the tree.
54628         2. in some circumstances it generated more markup than the original paragraph had (a span with bold, italic,
54629         background color and some font attribute was being reproduced as span bold italic font as separate tags.
54630         The new approach is to recreate in the new paragraph the same hierarchy of nodes found in the
54631         paragraph where the insertion point is.
54632
54633         Test: editing/inserting/insert-bg-font.html
54634
54635         * editing/InsertParagraphSeparatorCommand.cpp:
54636         (WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock): retrieves the list of all the ancestors
54637         between the insert node and the outer block.
54638         (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock): uses the list of ancestors to recreate
54639         in the new paragraph the same element hierarchy present in the starting paragraph.
54640         (WebCore::InsertParagraphSeparatorCommand::doApply): changed the code to handle the general case of insertion
54641         in the middle of the paragraph to use the new methods. Changed the handling of the insertion at the beginning and
54642         at the end of the paragraph to use the new methods instead of applying the calculated style.
54643         * editing/InsertParagraphSeparatorCommand.h: added methods getAncestorsInsideBlock and cloneHierarchyUnderNewBlock.
54644
54645 2009-09-25  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
54646
54647         Reviewed by Timothy Hatcher.
54648
54649         Content-type parameters not taken into account when building form-data
54650         https://bugs.webkit.org/show_bug.cgi?id=28970
54651
54652         existing manual test case extended with new tests
54653
54654         * English.lproj/localizedStrings.js:
54655         * inspector/front-end/ResourceView.js:
54656         (WebInspector.ResourceView.prototype._refreshFormData):
54657         (WebInspector.ResourceView.prototype._refreshParms):
54658         * manual-tests/inspector/display-form-data.html:
54659
54660 2009-09-25  Yuan Song  <song.yuan@ericsson.com>
54661
54662         Reviewed by Darin Adler.
54663
54664         https://bugs.webkit.org/show_bug.cgi?id=14566
54665
54666         Raise SECURITY_ERR exception if an attempt is made to change document.domain to an invalid value.
54667
54668         Test: fast/js/invalid-domain-change-throws-exception.html
54669
54670         * dom/Document.cpp:
54671         (WebCore::Document::setDomain):
54672         * dom/Document.h:
54673         * dom/Document.idl:
54674
54675 2009-09-25  Adam Barth  <abarth@webkit.org>
54676
54677         Reviewed by Dimitri Glazkov.
54678
54679         [V8] Teach ScheduledAction::execute about isolated worlds
54680         https://bugs.webkit.org/show_bug.cgi?id=27703
54681
54682         When setTimeout is called with a string argument in an isolated
54683         world, we now compile the string in the isolated world.
54684
54685         Last time we tried this change, we got a lot of crashes.  This
54686         time we're using a fresh local handle as our context to avoid
54687         trouble if the peristent handle gets disposed before we leave
54688         the context.
54689
54690         Test: fast/dom/timer-clear-interval-in-handler-and-generate-error.html
54691
54692         * bindings/v8/ScheduledAction.cpp:
54693         (WebCore::ScheduledAction::execute):
54694
54695 2009-09-25  Paul Godavari  <paul@chromium.org>
54696
54697         Reviewed by Darin Fisher.
54698
54699         Fix a regression in Mac Chromium popup menus, where the user's
54700         selection was ignored and the popup became unresponsive.
54701         https://bugs.webkit.org/show_bug.cgi?id=29726
54702
54703         The fix is to notify the popup's client that the popup was hidden,
54704         even if the popup has no parent.
54705
54706         * platform/chromium/PopupMenuChromium.cpp:
54707         (WebCore::PopupListBox::hidePopup):
54708
54709 2009-09-25  Alexander Pavlov  <apavlov@chromium.org>
54710
54711         Reviewed by Dan Bernstein.
54712
54713         Enable Pasteboard::writePlainText for Chromium and fix code style nits.
54714         https://bugs.webkit.org/show_bug.cgi?id=29734
54715
54716         * platform/chromium/PasteboardChromium.cpp:
54717         (WebCore::Pasteboard::writePlainText):
54718         * platform/gtk/PasteboardGtk.cpp:
54719         (WebCore::Pasteboard::writePlainText):
54720         (WebCore::Pasteboard::writeURL):
54721         * platform/mac/PasteboardMac.mm:
54722         (WebCore::Pasteboard::writeSelection):
54723         (WebCore::Pasteboard::writePlainText):
54724         (WebCore::Pasteboard::writeURL):
54725         * platform/qt/PasteboardQt.cpp:
54726         (WebCore::Pasteboard::writePlainText):
54727
54728 2009-09-25  Yongjun Zhang  <yongjun.zhang@nokia.com>
54729
54730         Reviewed by Ariya Hidayat.
54731
54732         https://bugs.webkit.org/show_bug.cgi?id=28876
54733         [Qt] reduce peak memory consumption of text decoding.
54734
54735         Chop large input buffer into small buffers to reduce peak memory
54736         during decoding.
54737
54738         * platform/text/qt/TextCodecQt.cpp:
54739         (WebCore::TextCodecQt::decode):
54740
54741 2009-09-24  Jon Honeycutt  <jhoneycutt@apple.com>
54742
54743         Add a mechanism for automatically halting plug-ins.
54744
54745         Reviewed by Oliver Hunt and Alice Liu.
54746
54747         * GNUmakefile.am:
54748
54749         * WebCore.base.exp:
54750         Update export of Page constructor.
54751
54752         * WebCore.gypi:
54753
54754         * WebCore.pro:
54755
54756         * WebCore.vcproj/WebCore.vcproj:
54757         Add PluginHalter.{h,cpp}, PluginHalterClient.h, and
54758         HaltablePlugin.h.
54759
54760         * WebCore.xcodeproj/project.pbxproj:
54761         Add files to Mac project.
54762
54763         * loader/EmptyClients.h:
54764         Added an empty PluginHalterClient.
54765         (WebCore::EmptyPluginHalterClient::shouldHaltPlugin):
54766         Return false.
54767
54768         * page/PluginHalter.cpp: Added.
54769         (WebCore::PluginHalter::PluginHalter):
54770         (WebCore::PluginHalter::didStartPlugin):
54771         Add the object to the plug-in set. If this is the only item in the set,
54772         set m_oldestStartTime to this object's time, and start the timer.
54773         (WebCore::PluginHalter::didStopPlugin):
54774         Remove the plug-in from the set.
54775         (WebCore::PluginHalter::timerFired):
54776         Find the cut-off time as the current time minus the allowed run time;
54777         plug-ins older than this may be halted. Iterate over the plug-ins. Find
54778         the object with the oldest start time that is too young to be halted;
54779         we'll use its start time to set the timer's next fire time. For all
54780         plug-ins that are candidates to be halted, call the
54781         PluginHalterClient's shouldHaltPlugin(). If this function returns true,
54782         call the plug-in's halt() function. Remove these objects from the set
54783         of tracked plug-ins. Call startTimerIfNecessary() to restart the timer.
54784         (WebCore::PluginHalter::startTimerIfNecessary):
54785         If the timer is set to fire, or the set of tracked plug-ins is empty,
54786         return early. Set the timer to fire after the oldest plug-in has run
54787         for the allowed run time.
54788
54789         * page/PluginHalter.h: Added.
54790         (WebCore::PluginHalter::setPluginAllowedRunTime):
54791
54792         * page/PluginHalterClient.h: Added.
54793         (WebCore::PluginHalterClient::~PluginHalterClient):
54794
54795         * page/Page.cpp:
54796         (WebCore::Page::Page):
54797         Initialize m_pluginHalterClient. Call pluginHalterEnabledStateChanged()
54798         to create the PluginHalter if necessary.
54799         (WebCore::Page::pluginHalterEnabledStateChanged):
54800         If plug-in halting is enabled, create the PluginHalter. If it is
54801         disabled, clear it.
54802         (WebCore::Page::pluginAllowedRunTimeChanged):
54803         If there is a plug-in halter, call its setPluginAllowedRunTime().
54804         (WebCore::Page::didStartPlugin):
54805         If there is a plug-in halter, call its didStartPlugin().
54806         (WebCore::Page::didStopPlugin):
54807         If there is a plug-in halter, call its didStopPlugin().
54808
54809         * page/Page.h:
54810         Add a parameter to the Page constructor for the PluginHalterClient.
54811         Added declarations for didStartPlugin() and didStopPlugin(), which are
54812         called when HaltablePlugins are added to or removed from the page. Adds
54813         pluginAllowedRunTimeChanged() and pluginHalterEnabledStateChanged() to
54814         notify the Page when these settings are changed. Added members to hold
54815         the PluginHalter and the PluginHalterClient.
54816
54817         * page/Settings.cpp:
54818         (WebCore::Settings::Settings):
54819         (WebCore::Settings::setPluginHalterEnabled):
54820         If the enabled state has changed, call the Page's
54821         pluginHalterEnabledStateChanged().
54822         (WebCore::Settings::setPluginAllowedRunTime):
54823         Call the Page's pluginAllowedRunTimeChanged().
54824
54825         * page/Settings.h:
54826         (WebCore::Settings::pluginHalterEnabled):
54827         (WebCore::Settings::pluginAllowedRunTime):
54828
54829         * page/HaltablePlugin.h: Added. Defines an interface for plug-ins that
54830         can be automatically halted.
54831         (WebCore::HaltablePlugin::~HaltablePlugin):
54832
54833         * svg/graphics/SVGImage.cpp:
54834         (WebCore::SVGImage::dataChanged):
54835         Pass a dummy PluginHalterClient.
54836
54837 2009-09-24  Simon Fraser  <simon.fraser@apple.com>
54838
54839         Reviewed by Dan Bernstein.
54840
54841         REGRESSION: webkit-transform scale no longer works properly in nightly build
54842         https://bugs.webkit.org/show_bug.cgi?id=29730
54843         
54844         When the initial or final state of a scale animation does not specify a transform,
54845         use a default scale of 1, rather than zero.
54846
54847         Test: compositing/transitions/scale-transition-no-start.html
54848
54849         * platform/graphics/mac/GraphicsLayerCA.mm:
54850         (WebCore::getTransformFunctionValue):
54851
54852 2009-09-24  John Gregg  <johnnyg@google.com>
54853
54854         Reviewed by Eric Seidel.
54855
54856         isEnabled switch for notifications (experimental) in Page Settings
54857         https://bugs.webkit.org/show_bug.cgi?id=28930
54858
54859         Adds a run-time flag in Settings object that controls whether
54860         to expose desktop notifications.
54861
54862         No new test, but test code also modified to set this preference.
54863
54864         * page/DOMWindow.cpp:
54865         (WebCore::DOMWindow::webkitNotifications): check preference before returning notifications object
54866         * page/Settings.cpp:
54867         (WebCore::Settings::Settings):
54868         (WebCore::Settings::setExperimentalNotificationsEnabled):
54869         * page/Settings.h:
54870         (WebCore::Settings::experimentalNotificationsEnabled):
54871
54872 2009-09-24  Dan Bernstein  <mitz@apple.com>
54873
54874         Reviewed by Sam Weinig.
54875
54876         Fix <rdar://problem/7162000> Crash while trying to
54877         calculate the horizontal position of image
54878
54879         Test: fast/inline-block/relative-positioned-rtl-crash.html
54880
54881         * rendering/RenderBox.cpp:
54882         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Corrected an
54883         isInline() test to isRenderInline(). This is similar to r41259.
54884
54885 2009-09-24  Jessie Berlin  <jberlin@webkit.org>
54886
54887         Reviewed by Timothy Hatcher.
54888
54889         Fix expanding profile call stacks being broken after sorting.
54890         https://bugs.webkit.org/show_bug.cgi?id=26423
54891
54892         * inspector/front-end/ProfileDataGridTree.js:
54893         (WebInspector.ProfileDataGridNode.prototype.sort):
54894         Set shouldRefreshChildren to true on collapsed nodes with children so that expanding it
54895         causes the children to be placed in the right positions.
54896
54897 2009-09-24  Geoffrey Garen  <ggaren@apple.com>
54898
54899         Reviewed by Stephanie Lewis.
54900
54901         Fixed sudden termination console spew due to too many calls to
54902         enableSuddenTermination.
54903         
54904         <rdar://problem/7063125> 10A410: Safari logging enableSuddenTermination errors
54905
54906         * page/DOMWindow.cpp:
54907         (WebCore::removeUnloadEventListener):
54908         (WebCore::removeAllUnloadEventListeners):
54909         (WebCore::removeBeforeUnloadEventListener):
54910         (WebCore::removeAllBeforeUnloadEventListeners): Only
54911         enableSuddenTermination if the set of listeners is empty *and* this
54912         window was in the set. Otherwise, a no-op will cause us to enableSuddenTermination.
54913
54914 2009-09-24  Carol Szabo  <carol.szabo@nokia.com>
54915
54916         Reviewed by Alexey Proskuryakov.
54917
54918         WebKit returns "" instead of null when getting
54919         inexistent, forbidden or invalidly named headers.
54920         https://bugs.webkit.org/show_bug.cgi?id=29140
54921
54922         * xml/XMLHttpRequest.cpp:
54923         (WebCore::XMLHttpRequest::getResponseHeader):
54924         Changed to return null as it should according to the spec.
54925
54926 2009-09-24  Jeremy Orlow  <jorlow@chromium.org>
54927
54928         Reviewed by Dimitri Glazkov.
54929
54930         Add GYP generated files to svn:ignore
54931         https://bugs.webkit.org/show_bug.cgi?id=29724
54932
54933         Adding the following files to the svn:ignore list (all in the
54934         WebCore/WebCore.gyp directory)
54935
54936         WebCore.xcodeproj
54937         WebCore.sln
54938         WebCore.vcproj
54939         WebCore_Debug.rules
54940         WebCore_Release.rules
54941         WebCore_Release - no tcmalloc.rules
54942         WebCore_Purify.rules
54943         WebCore.mk
54944         WebCore_Debug_rules.mk
54945         WebCore_Release_rules.mk
54946         WebCore_Release - no tcmalloc_rules.mk
54947         WebCore_Purify_rules.mk
54948         WebCore.scons
54949         WebCore_main.scons
54950
54951         * WebCore.gyp: Changed property svn:ignore.
54952
54953 2009-09-24  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
54954
54955         Unreviewed. Mac build fix.
54956
54957         * page/EventHandler.cpp:
54958         (WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):
54959         remove unused parameter from function signature;
54960
54961 2009-09-24  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
54962
54963         Reviewed by Oliver Hunt.
54964
54965         Implement correct horizontal scrollbar behavior for GTKalso on
54966         styled scrollbars.
54967
54968         https://bugs.webkit.org/show_bug.cgi?id=29348
54969         [Gtk] Scrollwheel on horizontal scrollbars should slide horizontally
54970
54971         Test: platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html
54972
54973         * page/EventHandler.cpp:
54974         (WebCore::EventHandler::handleWheelEvent): on GTK+, when using the
54975         wheel with the pointer on the horizontal scrollbar, scroll
54976         horizontally;
54977         * platform/PlatformWheelEvent.h:
54978         * platform/gtk/WheelEventGtk.cpp:
54979         (WebCore::PlatformWheelEvent::swapOrientation): allow adding a
54980         vertical scroll to the horizontal one;
54981
54982 2009-09-24  Jeremy Orlow  <jorlow@chromium.org>
54983
54984         Reviewed by Eric Seidel.
54985
54986         StorageNamespace::storageArea() should take in a PassRefPtr<StorageOrigin>
54987         https://bugs.webkit.org/show_bug.cgi?id=29290
54988
54989         Modified StorageNamespace::storageArea() to take in a PassRefPtr<StorageOrigin>
54990         per http://webkit.org/coding/RefPtr.html
54991
54992         No behavior change, so no tests.
54993
54994         * storage/StorageNamespace.h:
54995         * storage/StorageNamespaceImpl.cpp:
54996         (WebCore::StorageNamespaceImpl::storageArea):
54997         * storage/StorageNamespaceImpl.h:
54998
54999 2009-09-24  Geoffrey Garen  <ggaren@apple.com>
55000
55001         Reviewed by Sam Weinig.
55002
55003         Added back enable/disableSuddenTermination() functionality I accidentally
55004         removed in my last patch.
55005
55006         * page/DOMWindow.cpp:
55007         (WebCore::addUnloadEventListener):
55008         (WebCore::removeUnloadEventListener):
55009         (WebCore::removeAllUnloadEventListeners):
55010         (WebCore::addBeforeUnloadEventListener):
55011         (WebCore::removeBeforeUnloadEventListener):
55012         (WebCore::removeAllBeforeUnloadEventListeners):
55013         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
55014         (WebCore::DOMWindow::~DOMWindow):
55015         (WebCore::DOMWindow::addEventListener):
55016         (WebCore::DOMWindow::removeEventListener):
55017         (WebCore::DOMWindow::removeAllEventListeners):
55018
55019 2009-09-24  Sam Weinig  <sam@webkit.org>
55020
55021         Reviewed by Steve Falkenburg and Mark Rowe.
55022
55023         Don't pass -F to GCC on non-mac platforms since it is an darwin only.
55024
55025         * DerivedSources.make:
55026
55027 2009-09-24  Sam Weinig  <sam@webkit.org>
55028
55029         Fix windows build.
55030
55031         * dom/Element.idl:
55032
55033 2009-09-23  Stephen White  <senorblanco@chromium.org>
55034
55035         Reviewed by Eric Seidel.
55036
55037         Revert the relevant parts of r47925, and implement an alternate
55038         fix (localize the coordinate check to GraphicsContext::clipPath()).
55039         This fixes http://crbug.com/21174.
55040
55041         Covered by LayoutTests/svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html.
55042
55043         * platform/graphics/skia/GraphicsContextSkia.cpp:
55044         (WebCore::GraphicsContext::clipPath):
55045         * platform/graphics/skia/PlatformContextSkia.cpp:
55046         (PlatformContextSkia::currentPathInLocalCoordinates):
55047
55048 2009-09-24  Brady Eidson  <beidson@apple.com>
55049
55050         Reviewed by Sam Weinig.
55051
55052         Merge changes from Mozilla's FTP directory parser.
55053         <rdar://problem/7227620> and https://bugs.webkit.org/show_bug.cgi?id=29294
55054
55055         FTP layout tests not possible at this time.
55056         https://bugs.webkit.org/show_bug.cgi?id=29719 tracks making them possible.
55057
55058         * loader/FTPDirectoryParser.cpp:
55059         (WebCore::ParsingFailed):
55060         (WebCore::parseOneFTPLine):
55061
55062 2009-09-24  Philippe Normand  <pnormand@igalia.com>
55063
55064         Reviewed by Gustavo Noronha.
55065
55066         [GTK] re-enable some media tests
55067         https://bugs.webkit.org/show_bug.cgi?id=29716
55068
55069         make canPlayType() return "probably" if mime-type is known
55070         and codecs string is not empty. If codecs is empty return
55071         "maybe".
55072
55073         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
55074         (WebCore::MediaPlayerPrivate::supportsType):
55075
55076 2009-09-24  Sam Weinig  <sam@webkit.org>
55077
55078         Reviewed by Dan Bernstein.
55079
55080         Fix for https://bugs.webkit.org/show_bug.cgi?id=29703
55081         Add a function to element to check whether it matches a CSS selector
55082
55083         Implement Element.webkitMatchesSelector.
55084
55085         * css/CSSSelectorList.cpp:
55086         (WebCore::forEachTagSelector):
55087         (WebCore::forEachSelector):
55088         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
55089         (WebCore::CSSSelectorList::selectorsNeedNamespaceResolution):
55090         * css/CSSSelectorList.h:
55091         Moved code to iterate the CSSSelectorList and determine if any
55092         selectors need namespace resolution from a static function in
55093         Node.cpp to CSSSelectorList so that it can be used by webkitMatchesSelector
55094         as well as querySelector/querySelectorAll.
55095
55096         * dom/Element.cpp:
55097         (WebCore::Element::webkitMatchesSelector):
55098         * dom/Element.h: 
55099         * dom/Element.idl:
55100         Implement the new function. Handles exceptional cases identically to
55101         querySelector/querySelectorAll.
55102
55103         * dom/Node.cpp:
55104         (WebCore::Node::querySelector):
55105         (WebCore::Node::querySelectorAll):
55106         Moved selectorsNeedNamespaceResolution to CSSSelectorList from here.
55107
55108 2009-09-24  Vitaly Repeshko  <vitalyr@chromium.org>
55109
55110         Reviewed by Dimitri Glazkov.
55111
55112         [V8] Fixed bindings build after http://trac.webkit.org/changeset/48701
55113         https://bugs.webkit.org/show_bug.cgi?id=29713
55114
55115         Got rid of isWindowEvent in function signatures:
55116         * bindings/v8/V8AbstractEventListener.cpp:
55117         (WebCore::V8AbstractEventListener::invokeEventHandler):
55118         (WebCore::V8AbstractEventListener::handleEvent):
55119         (WebCore::V8AbstractEventListener::getReceiverObject):
55120         * bindings/v8/V8AbstractEventListener.h:
55121         * bindings/v8/V8LazyEventListener.cpp:
55122         (WebCore::V8LazyEventListener::callListenerFunction):
55123         * bindings/v8/V8LazyEventListener.h:
55124         * bindings/v8/V8WorkerContextEventListener.cpp:
55125         (WebCore::V8WorkerContextEventListener::handleEvent):
55126         (WebCore::V8WorkerContextEventListener::callListenerFunction):
55127         (WebCore::V8WorkerContextEventListener::getReceiverObject):
55128         * bindings/v8/V8WorkerContextEventListener.h:
55129         * bindings/v8/custom/V8CustomEventListener.cpp:
55130         (WebCore::V8EventListener::callListenerFunction):
55131         * bindings/v8/custom/V8CustomEventListener.h:
55132
55133         Switched to EventTarget methods of adding/removing listeners:
55134         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
55135         (WebCore::toEventID):
55136         (WebCore::ACCESSOR_SETTER):
55137
55138         * dom/EventTarget.h: Some functions were incorrectly marked
55139         as JSC-specific.
55140
55141 2009-09-24  Pavel Feldman  <pfeldman@chromium.org>
55142
55143         Reviewed by Timothy Hatcher.
55144
55145         Web Inspector: Color-code watch expression errors with red.
55146
55147         https://bugs.webkit.org/show_bug.cgi?id=29707
55148
55149         * inspector/front-end/WatchExpressionsSidebarPane.js:
55150         (WebInspector.WatchExpressionsSection.prototype.update):
55151         (WebInspector.WatchExpressionTreeElement.prototype.update):
55152         * inspector/front-end/inspector.css:
55153
55154 2009-09-24  Pavel Feldman  <pfeldman@chromium.org>
55155
55156         Reviewed by Timothy Hatcher.
55157
55158         Web Inspector: Fix formatting for messages derived from resource warnings,
55159         couple of drive-by formatting fixes.
55160
55161         https://bugs.webkit.org/show_bug.cgi?id=29705
55162
55163         * inspector/InspectorFrontend.cpp:
55164         (WebCore::InspectorFrontend::addMessageToConsole):
55165         * inspector/front-end/ConsoleView.js:
55166         * inspector/front-end/InjectedScript.js:
55167         (InjectedScript._evaluateAndWrap):
55168         * inspector/front-end/WatchExpressionsSidebarPane.js:
55169         (WebInspector.WatchExpressionsSection.prototype.update):
55170
55171 2009-09-22  Pavel Feldman  <pfeldman@chromium.org>
55172
55173         Reviewed by Timothy Hatcher.
55174
55175         WebInspector: Implement InspectorController::copyNode(id).
55176
55177         https://bugs.webkit.org/show_bug.cgi?id=28357
55178
55179         * inspector/InspectorBackend.cpp:
55180         (WebCore::InspectorBackend::copyNode):
55181         * inspector/InspectorBackend.h:
55182         * inspector/InspectorBackend.idl:
55183         * inspector/front-end/ElementsPanel.js:
55184         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
55185
55186 2009-09-24  Oliver Hunt  <oliver@apple.com>
55187
55188         Reviewed by NOBODY(rollout)
55189
55190         Roll out r48712 as it is incorrect.
55191
55192         Overriding getPropertyNames is incorrect.
55193
55194         * bridge/runtime_array.cpp:
55195         * bridge/runtime_array.h:
55196
55197 2009-09-24  Xan Lopez  <xlopez@igalia.com>
55198
55199         Revert r48697, since it broke key handling notification to GTK+.
55200
55201         * platform/gtk/KeyEventGtk.cpp:
55202         (WebCore::keyIdentifierForGdkKeyCode):
55203         (WebCore::singleCharacterString):
55204
55205 2009-09-24  Philippe Normand  <pnormand@igalia.com>
55206
55207         Reviewed by Xan Lopez.
55208
55209         [GTK] GStreamer MediaPlayer is unable to correctly querry duration
55210         https://bugs.webkit.org/show_bug.cgi?id=24639
55211
55212         check duration returned by gst_element_query_duration() only
55213         when using GStreamer < 0.10.23.
55214
55215         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
55216         (WebCore::MediaPlayerPrivate::duration):
55217
55218 2009-09-24  Benjamin Poulain  <benjamin.poulain@nokia.com>
55219
55220         Reviewed by Eric Seidel.
55221
55222         The indices of RuntimeArray should be enumerated like for a regular array.
55223         https://bugs.webkit.org/show_bug.cgi?id=29005
55224
55225         * bridge/runtime_array.cpp:
55226         (JSC::RuntimeArray::getPropertyNames):
55227         * bridge/runtime_array.h:
55228
55229 2009-09-23  Alexander Pavlov  <apavlov@chromium.org>
55230
55231         Reviewed by Eric Seidel.
55232
55233         Introduce Pasteboard::writePlaintext(const String&) so that copying
55234         of the inspected elements HTML will be possible in WebInspector.
55235         https://bugs.webkit.org/show_bug.cgi?id=29634
55236
55237         * platform/Pasteboard.h:
55238         * platform/android/TemporaryLinkStubs.cpp:
55239         (Pasteboard::writePlainText):
55240         * platform/chromium/ChromiumBridge.h:
55241         * platform/chromium/PasteboardChromium.cpp:
55242         (WebCore::Pasteboard::writePlainText):
55243         * platform/gtk/PasteboardGtk.cpp:
55244         (WebCore::Pasteboard::writePlainText):
55245         * platform/haiku/PasteboardHaiku.cpp:
55246         (WebCore::Pasteboard::writePlainText):
55247         * platform/mac/PasteboardMac.mm:
55248         (WebCore::Pasteboard::writePlainText):
55249         * platform/qt/PasteboardQt.cpp:
55250         (WebCore::Pasteboard::writePlainText):
55251         * platform/win/PasteboardWin.cpp:
55252         (WebCore::Pasteboard::writeSelection):
55253         (WebCore::Pasteboard::writePlainText):
55254         * platform/wince/PasteboardWince.cpp:
55255         (WebCore::Pasteboard::writePlainText):
55256         * platform/wx/PasteboardWx.cpp:
55257         (WebCore::Pasteboard::writeSelection):
55258         (WebCore::Pasteboard::writePlainText):
55259         (WebCore::Pasteboard::writeURL):
55260
55261 2009-09-24  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
55262
55263         Reviewed by Simon Hausmann.
55264
55265         Fix QApp::translate() calls to provide the correct class name without
55266         a trailing comma.
55267
55268         * platform/qt/Localizations.cpp:
55269         (WebCore::localizedMediaTimeDescription):
55270
55271 2009-09-24  Geoffrey Garen  <ggaren@apple.com>
55272
55273         More build fix: Removed JSSharedWorkerContextCustom.cpp from project
55274         files, since it no longer exists in the repository.
55275
55276         * GNUmakefile.am:
55277         * WebCore.gypi:
55278         * WebCore.pro:
55279         * WebCore.vcproj/WebCore.vcproj:
55280
55281 2009-09-24  Geoffrey Garen  <ggaren@apple.com>
55282
55283         Windows build fix: Declare set/unsetPendingActivity public, so
55284         SharedWorkerScriptLoader can call them.
55285
55286         * dom/ActiveDOMObject.h:
55287
55288 2009-09-24  Geoffrey Garen  <ggaren@apple.com>
55289
55290         Fixed a bit of the Windows build.
55291
55292         * workers/SharedWorker.idl: Declare a custom mark function. (I accidentally
55293         removed this in my last patch.)
55294         * WebCore.xcodeproj/project.pbxproj: Added JSSharedWorkerCustom.cpp back
55295         to the build. (I accidentally removed this in my last patch.)
55296
55297 2009-09-23  Geoffrey Garen  <ggaren@apple.com>
55298
55299         32-bit build fix: restore previous cast that I thought was unnecessary.
55300
55301         * xml/XMLHttpRequest.cpp:
55302         (WebCore::XMLHttpRequest::didSendData):
55303         (WebCore::XMLHttpRequest::didReceiveData):
55304
55305 2009-09-23  Geoffrey Garen  <ggaren@apple.com>
55306
55307         Reviewed by Sam Weinig.
55308
55309         Bring a little sanity to this crazy EventTarget world of ours
55310         https://bugs.webkit.org/show_bug.cgi?id=29701
55311
55312         Lots of EventTarget refactoring to achieve a single shared implementation
55313         that fixes some of the performance and correctness bugs of the many individual
55314         implementations, and makes reasoning about EventTargets and EventListeners
55315         much easier.
55316         
55317         The basic design is this:
55318             - EventTarget manages a set of EventListeners.
55319             - onXXX EventListener attributes forward to standard EventTarget APIs.
55320             - Since the onXXX code is repetitive, it is usually done with macros
55321               of the form DEFINE_ATTRIBUTE_EVENT_LISTENER(attributeName).
55322             - EventTarget provides a shared implementation of dispatchEvent,
55323               which subclasses with special event dispatch rules, like Node, override.
55324             - To support Node, which lazily instantiates its EventTarget data,
55325               EventTarget has no data members, and instead makes a virtual call
55326               to get its data from wherever its subclass chose to store it.
55327               
55328         Code that used to call dispatchEvent, passing an ExceptionCode paratmeter,
55329         even though no exception could be thrown, has been changed not to do so,
55330         to improve clarity and performance.
55331         
55332         Code that used to call a special dispatchXXXEvent function, which just
55333         turned around and called dispatchEvent, has been changed to call
55334         dispatchEvent, to improve clarity and performance.
55335
55336         * WebCore.base.exp:
55337         * WebCore.xcodeproj/project.pbxproj: Another day in the life of a WebKit
55338         engineer.
55339
55340         * bindings/js/JSDOMBinding.cpp:
55341         (WebCore::isObservableThroughDOM): Updated for Node API change. Added
55342         "is not in the document but is firing event listeners" as a condition
55343         that makes a Node observable in the DOM, so that event listeners firing
55344         on removed nodes are not destroyed midstream. (This was a long-standing
55345         bug that was somewhat hidden by the old implementation's habit of
55346         copying the RegisteredEventListener vector before firing events, which
55347         would keep almost all the relevant objects from being destroyed.)
55348
55349         * bindings/js/JSEventListener.cpp:
55350         (WebCore::JSEventListener::handleEvent): Removed the isWindowEvent flag
55351         because it was one of the most elaborately planned no-ops in the history
55352         of software crime, and one of the reasons clients thought they needed more
55353         than one dispatchEvent function even though they didn't.
55354         * bindings/js/JSEventListener.h:
55355
55356         * bindings/js/JSDOMWindowCustom.cpp:
55357         (WebCore::JSDOMWindow::markChildren):
55358         (WebCore::JSMessagePort::markChildren):
55359         * bindings/js/JSNodeCustom.cpp:
55360         (WebCore::JSNode::markChildren):
55361         * bindings/js/JSAbstractWorkerCustom.cpp:
55362         * bindings/js/JSDOMApplicationCacheCustom.cpp:
55363         * bindings/js/JSDedicatedWorkerContextCustom.cpp:
55364         * bindings/js/JSEventSourceCustom.cpp:
55365         * bindings/js/JSMessagePortCustom.cpp:
55366         * bindings/js/JSSharedWorkerContextCustom.cpp: Removed.
55367         * bindings/js/JSWebSocketCustom.cpp:
55368         * bindings/js/JSWorkerContextCustom.cpp:
55369         (WebCore::JSWorkerContext::markChildren):
55370         * bindings/js/JSWorkerCustom.cpp:
55371         * bindings/js/JSXMLHttpRequestCustom.cpp:
55372         (WebCore::JSXMLHttpRequest::markChildren):
55373         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
55374         (WebCore::JSXMLHttpRequestUpload::markChildren): EventListener marking is
55375         now autogenerated. Classes that still have custom mark functions for other
55376         reasons now call a shared EventTarget API to mark their EventListeners.
55377
55378         * bindings/objc/ObjCEventListener.h:
55379         * bindings/objc/ObjCEventListener.mm:
55380         (WebCore::ObjCEventListener::handleEvent): Bye bye isWindowEvent.
55381
55382         * bindings/scripts/CodeGeneratorJS.pm: Autogeneration support for
55383         marking and invalidating event listeners.
55384
55385         * dom/CharacterData.cpp:
55386         (WebCore::CharacterData::dispatchModifiedEvent):
55387         * dom/ContainerNode.cpp:
55388         (WebCore::ContainerNode::insertBefore):
55389         (WebCore::ContainerNode::replaceChild):
55390         (WebCore::willRemoveChild):
55391         (WebCore::ContainerNode::appendChild):
55392         (WebCore::dispatchChildInsertionEvents):
55393         (WebCore::dispatchChildRemovalEvents):
55394         * dom/Document.cpp:
55395         (WebCore::Document::removeAllEventListeners):
55396         (WebCore::Document::implicitClose):
55397         (WebCore::Document::setFocusedNode):
55398         (WebCore::Document::dispatchWindowEvent):
55399         (WebCore::Document::dispatchWindowLoadEvent):
55400         (WebCore::Document::finishedParsing):
55401         * dom/Document.h: Use dispatchEvent directly.
55402
55403         * dom/Element.h: Moved a few event listener attributes down from Node,
55404         since they don't apply to all Nodes, only Elements.
55405
55406         * dom/EventListener.h: Removed isWindowEvent parameter.
55407
55408         * dom/EventNames.h: Added the "display" event name, so it works correctly
55409         with attribute macros, and for performance.
55410
55411         * dom/EventTarget.cpp:
55412         (WebCore::forbidEventDispatch):
55413         (WebCore::allowEventDispatch):
55414         (WebCore::eventDispatchForbidden): Made this code (embarrasingly) thread
55415         safe, since it's now called on multiple threads. (Currently, we only forbid
55416         event dispatch on the main thread. If we ever want to forbid event dispatch
55417         on secondary threads, we can improve it then.)
55418
55419         (WebCore::EventTarget::addEventListener):
55420         (WebCore::EventTarget::removeEventListener):
55421         (WebCore::EventTarget::setAttributeEventListener):
55422         (WebCore::EventTarget::getAttributeEventListener):
55423         (WebCore::EventTarget::clearAttributeEventListener):
55424         (WebCore::EventTarget::dispatchEvent):
55425         (WebCore::EventTarget::fireEventListeners):
55426         (WebCore::EventTarget::getEventListeners):
55427         (WebCore::EventTarget::removeAllEventListeners):
55428         * dom/EventTarget.h:
55429         (WebCore::FiringEventEndIterator::FiringEventEndIterator):
55430         (WebCore::EventTarget::ref):
55431         (WebCore::EventTarget::deref):
55432         (WebCore::EventTarget::markEventListeners):
55433         (WebCore::EventTarget::invalidateEventListeners):
55434         (WebCore::EventTarget::isFiringEventListeners):
55435         (WebCore::EventTarget::hasEventListeners): The ONE TRUE IMPLEMENTATION of
55436         EventTarget APIs, crafted from an amalgam of all the different versions
55437         we used to have. The most significant change here is that we no longer
55438         make a copy of an EventListener vector before firing the events in the
55439         vector -- instead, we use a reference to the original vector, along with
55440         a notification mechanism for the unlikely case when an EventListener is
55441         removed from the vector. This substantially reduces malloc, copying, and
55442         refcount overhead, and complexity.
55443
55444         * dom/InputElement.cpp:
55445         (WebCore::InputElement::setValueFromRenderer):
55446         * dom/MessageEvent.h:
55447         (WebCore::MessageEvent::create): Use dispatchEvent directly.
55448
55449         * dom/MessagePort.cpp:
55450         (WebCore::MessagePort::dispatchMessages):
55451         (WebCore::MessagePort::eventTargetData):
55452         (WebCore::MessagePort::ensureEventTargetData):
55453         * dom/MessagePort.h:
55454         (WebCore::MessagePort::setOnmessage):
55455         (WebCore::MessagePort::onmessage):
55456         * dom/MessagePort.idl: Removed custom EventTarget implementation.
55457
55458         * dom/MutationEvent.h:
55459         (WebCore::MutationEvent::create): Added some default values so callers
55460         can construct MutationEvents more easily, without calling a custom dispatch
55461         function.
55462
55463         * dom/Node.cpp:
55464         (WebCore::Node::addEventListener):
55465         (WebCore::Node::removeEventListener):
55466         (WebCore::Node::eventTargetData):
55467         (WebCore::Node::ensureEventTargetData):
55468         (WebCore::Node::handleLocalEvents):
55469         (WebCore::Node::dispatchEvent):
55470         (WebCore::Node::dispatchGenericEvent):
55471         (WebCore::Node::dispatchSubtreeModifiedEvent):
55472         (WebCore::Node::dispatchUIEvent):
55473         (WebCore::Node::dispatchKeyEvent):
55474         (WebCore::Node::dispatchMouseEvent):
55475         (WebCore::Node::dispatchWheelEvent):
55476         (WebCore::Node::dispatchFocusEvent):
55477         (WebCore::Node::dispatchBlurEvent):
55478         * dom/Node.h:
55479         (WebCore::Node::preDispatchEventHandler):
55480         (WebCore::Node::postDispatchEventHandler):
55481         * dom/Node.idl:
55482         * dom/NodeRareData.h:
55483         (WebCore::NodeRareData::eventTargetData):
55484         (WebCore::NodeRareData::ensureEventTargetData): Use the shared EventTarget
55485         interface, and call dispatchEvent directly instead of custom dispatchXXXEvent
55486         functions that just forwarded to dispatchEvent.
55487
55488         * dom/RegisteredEventListener.cpp:
55489         * dom/RegisteredEventListener.h:
55490         (WebCore::RegisteredEventListener::RegisteredEventListener):
55491         (WebCore::operator==): This is just a simple struct now, since we no longer
55492         do a complicated copy / refCount / isRemoved dance just to honor the rule
55493         that an EventListener can be removed during event dispatch.
55494
55495         * history/CachedFrame.cpp:
55496         (WebCore::CachedFrameBase::restore): Removed another custom dispatchEvent.
55497
55498         * html/HTMLBodyElement.cpp:
55499         * html/HTMLBodyElement.h: Use the shared EventTarget API.
55500
55501         * html/HTMLFormControlElement.cpp:
55502         (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):
55503         (WebCore::HTMLFormControlElement::checkValidity):
55504         * html/HTMLFormElement.cpp:
55505         (WebCore::HTMLFormElement::handleLocalEvents):
55506         (WebCore::HTMLFormElement::prepareSubmit):
55507         (WebCore::HTMLFormElement::reset):
55508         * html/HTMLFormElement.h: Use the standard dispatchEvent API.
55509
55510         * html/HTMLFrameSetElement.cpp:
55511         * html/HTMLFrameSetElement.h: Use the shared EventTarget API.
55512
55513         * html/HTMLImageLoader.cpp:
55514         (WebCore::HTMLImageLoader::dispatchLoadEvent):
55515         * html/HTMLInputElement.cpp:
55516         (WebCore::HTMLInputElement::onSearch):
55517         * html/HTMLMediaElement.cpp:
55518         (WebCore::HTMLMediaElement::loadInternal):
55519         * html/HTMLScriptElement.cpp:
55520         (WebCore::HTMLScriptElement::dispatchLoadEvent):
55521         (WebCore::HTMLScriptElement::dispatchErrorEvent):
55522         * html/HTMLSourceElement.cpp:
55523         (WebCore::HTMLSourceElement::errorEventTimerFired):
55524         * html/HTMLTokenizer.cpp:
55525         (WebCore::HTMLTokenizer::notifyFinished): Use the standard dispatchEvent API.
55526
55527         * inspector/InspectorDOMAgent.cpp:
55528         (WebCore::InspectorDOMAgent::handleEvent):
55529         * inspector/InspectorDOMAgent.h:
55530         * inspector/InspectorDOMStorageResource.cpp:
55531         (WebCore::InspectorDOMStorageResource::handleEvent):
55532         * inspector/InspectorDOMStorageResource.h:
55533         * loader/FrameLoader.cpp:
55534         (WebCore::FrameLoader::stopLoading):
55535         (WebCore::FrameLoader::canCachePageContainingThisFrame):
55536         (WebCore::FrameLoader::logCanCacheFrameDecision):
55537         (WebCore::HashChangeEventTask::performTask):
55538         (WebCore::FrameLoader::pageHidden): No more isWindowEvent.
55539
55540         * loader/ImageDocument.cpp:
55541         (WebCore::ImageEventListener::handleEvent):
55542         * loader/appcache/ApplicationCacheGroup.cpp:
55543         (WebCore::CallCacheListenerTask::performTask):
55544         * loader/appcache/ApplicationCacheHost.cpp:
55545         (WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
55546         * loader/appcache/ApplicationCacheHost.h:
55547         * loader/appcache/DOMApplicationCache.cpp:
55548         (WebCore::DOMApplicationCache::eventTargetData):
55549         (WebCore::DOMApplicationCache::ensureEventTargetData):
55550         * loader/appcache/DOMApplicationCache.h:
55551         * loader/appcache/DOMApplicationCache.idl: Switched to the standard
55552         EventTarget API. As a part of this, I switched this class from using a
55553         custom internal event name enumeration to using the standard EventNames.
55554
55555         * notifications/Notification.cpp:
55556         (WebCore::Notification::eventTargetData):
55557         (WebCore::Notification::ensureEventTargetData):
55558         * notifications/Notification.h:
55559         (WebCore::Notification::scriptExecutionContext):
55560         * notifications/Notification.idl: Switched to the standard EventTarget API.
55561
55562         * page/DOMWindow.cpp:
55563         (WebCore::PostMessageTimer::event):
55564         (WebCore::windowsWithUnloadEventListeners):
55565         (WebCore::windowsWithBeforeUnloadEventListeners):
55566         (WebCore::allowsBeforeUnloadListeners):
55567         (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
55568         (WebCore::DOMWindow::pendingUnloadEventListeners):
55569         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Changed the "pending"
55570         unload / beforeunload listener tracker just to track which windows had
55571         such listeners, instead of actually keeping a copy of the listeners. Now,
55572         this code can use the standard EventTarget API.
55573
55574         (WebCore::DOMWindow::~DOMWindow):
55575         (WebCore::DOMWindow::postMessageTimerFired):
55576         (WebCore::DOMWindow::addEventListener):
55577         (WebCore::DOMWindow::removeEventListener):
55578         (WebCore::DOMWindow::dispatchLoadEvent):
55579         (WebCore::DOMWindow::dispatchEvent):
55580         (WebCore::DOMWindow::removeAllEventListeners):
55581         (WebCore::DOMWindow::captureEvents):
55582         (WebCore::DOMWindow::releaseEvents):
55583         (WebCore::DOMWindow::eventTargetData):
55584         (WebCore::DOMWindow::ensureEventTargetData):
55585         * page/DOMWindow.h:
55586         * page/DOMWindow.idl: Use the standard EventTarget APIs.
55587
55588         * page/EventHandler.cpp:
55589         (WebCore::EventHandler::canMouseDownStartSelect):
55590         (WebCore::EventHandler::canMouseDragExtendSelect):
55591         (WebCore::EventHandler::sendResizeEvent):
55592         (WebCore::EventHandler::sendScrollEvent): Use dispatchEvent directly.
55593
55594         * page/EventSource.cpp:
55595         (WebCore::EventSource::endRequest):
55596         (WebCore::EventSource::didReceiveResponse):
55597         (WebCore::EventSource::parseEventStreamLine):
55598         (WebCore::EventSource::stop):
55599         (WebCore::EventSource::createMessageEvent):
55600         (WebCore::EventSource::eventTargetData):
55601         (WebCore::EventSource::ensureEventTargetData):
55602         * page/EventSource.h:
55603         * page/EventSource.idl: Use the standard EventTarget APIs.
55604
55605         * page/FocusController.cpp:
55606         (WebCore::dispatchEventsOnWindowAndFocusedNode):
55607         (WebCore::FocusController::setFocusedFrame):
55608         * page/Frame.cpp:
55609         (WebCore::Frame::shouldClose):
55610         * page/Frame.h:
55611         * page/Page.cpp:
55612         (WebCore::networkStateChanged):
55613         * page/animation/AnimationController.cpp:
55614         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
55615         * rendering/RenderListBox.cpp:
55616         (WebCore::RenderListBox::valueChanged):
55617         * rendering/RenderTextControl.cpp:
55618         (WebCore::RenderTextControl::selectionChanged):
55619         * rendering/RenderTextControlMultiLine.cpp:
55620         (WebCore::RenderTextControlMultiLine::subtreeHasChanged): Use dispatchEvent.
55621
55622         * svg/SVGElement.cpp:
55623         (WebCore::hasLoadListener): Rewritten for new EventTarget API.
55624
55625         * svg/SVGElementInstance.cpp:
55626         (WebCore::dummyEventTargetData):
55627         (WebCore::SVGElementInstance::addEventListener):
55628         (WebCore::SVGElementInstance::removeEventListener):
55629         (WebCore::SVGElementInstance::removeAllEventListeners):
55630         (WebCore::SVGElementInstance::dispatchEvent):
55631         (WebCore::SVGElementInstance::eventTargetData):
55632         (WebCore::SVGElementInstance::ensureEventTargetData): Use the EventTarget API.
55633
55634         * svg/SVGElementInstance.h:
55635         * svg/SVGImageLoader.cpp:
55636         (WebCore::SVGImageLoader::dispatchLoadEvent):
55637         * svg/SVGScriptElement.cpp:
55638         (WebCore::SVGScriptElement::dispatchErrorEvent): Use dispatchEvent directly.
55639
55640         * svg/SVGUseElement.cpp:
55641         (WebCore::SVGUseElement::transferEventListenersToShadowTree): Updated for
55642         new EventTarget API.
55643
55644         * svg/animation/SVGSMILElement.cpp:
55645         (WebCore::ConditionEventListener::handleEvent): No more isWindowEvent.
55646
55647         * websockets/WebSocket.cpp:
55648         (WebCore::ProcessWebSocketEventTask::create):
55649         (WebCore::ProcessWebSocketEventTask::performTask):
55650         (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
55651         (WebCore::WebSocket::didConnect):
55652         (WebCore::WebSocket::didReceiveMessage):
55653         (WebCore::WebSocket::didClose):
55654         (WebCore::WebSocket::eventTargetData):
55655         (WebCore::WebSocket::ensureEventTargetData):
55656         * websockets/WebSocket.h:
55657         * websockets/WebSocket.idl:
55658         * workers/AbstractWorker.cpp:
55659         (WebCore::AbstractWorker::eventTargetData):
55660         (WebCore::AbstractWorker::ensureEventTargetData):
55661         * workers/AbstractWorker.h:
55662         * workers/AbstractWorker.idl:
55663         * workers/DedicatedWorkerContext.cpp:
55664         * workers/DedicatedWorkerContext.h:
55665         * workers/DedicatedWorkerContext.idl:
55666         * workers/DefaultSharedWorkerRepository.cpp:
55667         (WebCore::SharedWorkerConnectTask::performTask):
55668         (WebCore::SharedWorkerScriptLoader::load):
55669         (WebCore::SharedWorkerScriptLoader::notifyFinished):
55670         * workers/SharedWorker.idl:
55671         * workers/SharedWorkerContext.cpp:
55672         (WebCore::createConnectEvent):
55673         * workers/SharedWorkerContext.h:
55674         * workers/SharedWorkerContext.idl:
55675         * workers/Worker.cpp:
55676         (WebCore::Worker::notifyFinished):
55677         * workers/Worker.h:
55678         * workers/Worker.idl:
55679         * workers/WorkerContext.cpp:
55680         (WebCore::WorkerContext::eventTargetData):
55681         (WebCore::WorkerContext::ensureEventTargetData):
55682         * workers/WorkerContext.h:
55683         * workers/WorkerContext.idl:
55684         * workers/WorkerMessagingProxy.cpp:
55685         (WebCore::MessageWorkerContextTask::performTask):
55686         (WebCore::MessageWorkerTask::performTask):
55687         (WebCore::WorkerExceptionTask::performTask):
55688         * xml/XMLHttpRequest.cpp:
55689         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
55690         (WebCore::XMLHttpRequest::createRequest):
55691         (WebCore::XMLHttpRequest::abort):
55692         (WebCore::XMLHttpRequest::networkError):
55693         (WebCore::XMLHttpRequest::abortError):
55694         (WebCore::XMLHttpRequest::didSendData):
55695         (WebCore::XMLHttpRequest::didReceiveData):
55696         (WebCore::XMLHttpRequest::eventTargetData):
55697         (WebCore::XMLHttpRequest::ensureEventTargetData):
55698         * xml/XMLHttpRequest.h:
55699         * xml/XMLHttpRequest.idl:
55700         * xml/XMLHttpRequestProgressEvent.h:
55701         (WebCore::XMLHttpRequestProgressEvent::create):
55702         * xml/XMLHttpRequestUpload.cpp:
55703         (WebCore::XMLHttpRequestUpload::eventTargetData):
55704         (WebCore::XMLHttpRequestUpload::ensureEventTargetData):
55705         * xml/XMLHttpRequestUpload.h:
55706         * xml/XMLHttpRequestUpload.idl: Use new EventTarget API.
55707
55708 2009-09-23  Kent Tamura  <tkent@chromium.org>
55709
55710         Reviewed by Darin Adler.
55711
55712         - Support for maxLength of <textarea>
55713         - Move numGraphemeClusters() and numCharactersInGraphemeClusters() from InputElement to String.
55714         https://bugs.webkit.org/show_bug.cgi?id=29292
55715
55716         Test: fast/forms/textarea-maxlength.html
55717
55718         * dom/InputElement.cpp:
55719         (WebCore::InputElement::sanitizeUserInputValue):
55720         (WebCore::InputElement::handleBeforeTextInsertedEvent):
55721         * html/HTMLTextAreaElement.cpp:
55722         (WebCore::HTMLTextAreaElement::defaultEventHandler):
55723         (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
55724         (WebCore::HTMLTextAreaElement::sanitizeUserInputValue):
55725         (WebCore::HTMLTextAreaElement::maxLength):
55726         (WebCore::HTMLTextAreaElement::setMaxLength):
55727         * html/HTMLTextAreaElement.h:
55728         * html/HTMLTextAreaElement.idl:
55729         * platform/text/PlatformString.h:
55730         * platform/text/String.cpp:
55731         (WebCore::String::numGraphemeClusters):
55732         (WebCore::String::numCharactersInGraphemeClusters):
55733
55734 2009-09-23  Martin Robinson  <martin.james.robinson@gmail.com>
55735
55736         Reviewed by Xan Lopez.
55737
55738         [GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images
55739         https://bugs.webkit.org/show_bug.cgi?id=29654
55740
55741         Give GDK_Backspace key events the proper text properties.
55742
55743         Instead of adding new tests, this change removes existing tests
55744         from Gtk's skipped list.
55745
55746         * platform/gtk/KeyEventGtk.cpp:
55747         (WebCore::keyIdentifierForGdkKeyCode):
55748         (WebCore::singleCharacterString):
55749
55750 2009-09-23  Sam Weinig  <sam@webkit.org>
55751
55752         Reviewed by Adam Barth.
55753
55754         Fix for https://bugs.webkit.org/show_bug.cgi?id=26989
55755         Should allow navigation of top-level openers
55756         <rdar://problem/7034025>
55757
55758         Allow navigation of cross-origin window.opener if it is top-level frame.
55759
55760         Test: http/tests/security/frameNavigation/cross-origin-opener.html
55761
55762         * loader/FrameLoader.cpp:
55763         (WebCore::FrameLoader::shouldAllowNavigation):
55764
55765 2009-09-23  Marshall Culpepper  <mculpepper@appcelerator.com>
55766
55767         Reviewed by Eric Seidel.
55768
55769         Added $(WebKitLibrariesDir)/include/cairo so cairo.h is found by
55770         default when the necessary dependencies are extracted into the
55771         WebKitLibrariesDir.
55772         https://bugs.webkit.org/show_bug.cgi?id=29661
55773
55774         * WebCore.vcproj/WebCoreCairo.vsprops:
55775
55776 2009-09-23  Darin Adler  <darin@apple.com>
55777
55778         Reviewed by Sam Weinig.
55779
55780         Crash when website does a history.back() followed by an alert()
55781         https://bugs.webkit.org/show_bug.cgi?id=29686
55782         rdar://problem/6984996
55783
55784         When loading is deferred, we need to defer timer-based loads
55785         too, not just networking-driven loads. Otherwise we can get
55786         syncronouse navigation while running a script, which leads to
55787         crashes and other badness.
55788
55789         This patch includes a manual test; an automated test may be
55790         possible some time in the future.
55791
55792         * dom/Document.cpp:
55793         (WebCore::Document::processHttpEquiv): Use scheduleLocationChange
55794         instead of scheduleHTTPRedirection to implement the navigation
55795         needed for x-frame-options.
55796
55797         * loader/FrameLoader.cpp:
55798         (WebCore::FrameLoader::FrameLoader): Updated for data members with
55799         new names and new data members.
55800         (WebCore::FrameLoader::setDefersLoading): When turning deferral
55801         off, call startRedirectionTimer and startCheckCompleteTimer, since
55802         either of them might have been fired and ignored while defersLoading
55803         was true.
55804         (WebCore::FrameLoader::clear): Updated for replacement of the
55805         m_checkCompletedTimer and m_checkLoadCompleteTimer timers.
55806         (WebCore::FrameLoader::allAncestorsAreComplete): Added.
55807         (WebCore::FrameLoader::checkCompleted): Added code to set
55808         m_shouldCallCheckCompleted to false. Changed code that calls
55809         startRedirectionTimer to call it unconditionally, since that
55810         function now knows when to do work and doesn't expect callers
55811         to handle that any more.
55812         (WebCore::FrameLoader::checkTimerFired): Added. Replaces the old
55813         timer fired callbacks. Calls checkCompleted and checkLoadComplete
55814         as appropriate, but not when defersLoading is true.
55815         (WebCore::FrameLoader::startCheckCompleteTimer): Added. Replaces
55816         the two different calls to start timers before. Only starts the
55817         timers if they are needed.
55818         (WebCore::FrameLoader::scheduleCheckCompleted): Changed to call
55819         startCheckCompleteTimer after setting boolean.
55820         (WebCore::FrameLoader::scheduleCheckLoadComplete): Ditto.
55821         (WebCore::FrameLoader::scheduleHistoryNavigation): Removed
55822         canGoBackOrForward check. The logic works more naturally when
55823         we don't do anything until the timer fires.
55824         (WebCore::FrameLoader::redirectionTimerFired): Do nothing if
55825         defersLoading is true. Also moved canGoBackOrForward check here.
55826         (WebCore::FrameLoader::scheduleRedirection): Changed code that
55827         calls startRedirectionTimer to do so unconditionally. That
55828         function now handles the rules about when to start the timer
55829         rather than expecting the caller to do so.
55830         (WebCore::FrameLoader::startRedirectionTimer): Added code to
55831         handle the case where there is no redirection scheduled,
55832         where the timer is already active, or where this is a classic
55833         redirection and there is an ancestor that has not yet completed
55834         loading.
55835         (WebCore::FrameLoader::completed): Call startRedirectionTimer
55836         here directly instead of calling a cover named parentCompleted.
55837         Hooray! One less function in the giant FrameLoader class!
55838         (WebCore::FrameLoader::checkLoadComplete): Added code to set
55839         m_shouldCallCheckLoadComplete to false.
55840
55841         * loader/FrameLoader.h: Replaced the two functions
55842         checkCompletedTimerFired and checkLoadCompleteTimerFired with
55843         one function, checkTimerFired. Removed the parentCompleted
55844         function. Added the startCheckCompleteTimer and
55845         allAncestorsAreComplete functions. Replaced the
55846         m_checkCompletedTimer and m_checkLoadCompleteTimer data
55847         members with m_checkTimer, m_shouldCallCheckCompleted, and
55848         m_shouldCallCheckLoadComplete.
55849
55850         * manual-tests/go-back-after-alert.html: Added.
55851         * manual-tests/resources/alert-and-go-back.html: Added.
55852
55853 2009-09-23  David Kilzer  <ddkilzer@apple.com>
55854
55855         <http://webkit.org/b/29660> Move "Generate 64-bit Export File" build phase script into DerivedSources.make
55856
55857         Reviewed by Mark Rowe.
55858
55859         The "Generate 64-bit Export File" build phase script generated
55860         the WebCore.LP64.exp export file used to link 64-bit WebCore.
55861         Instead of having a separate build phase script, move its
55862         generation into DerivedSources.make where WebCore.exp is
55863         generated.
55864
55865         * DerivedSources.make: Added a rule to make WebCore.LP64.exp.
55866         Added code to append WebCore.PluginHostProcess.exp to
55867         $(WEBCORE_EXPORT_DEPENDENCIES) when WTF_USE_PLUGIN_HOST_PROCESS
55868         is set to 1.
55869         * WebCore.PluginHostProcess.exp: Renamed from WebCore/WebCore.LP64.exp.
55870         * WebCore.xcodeproj/project.pbxproj: Removed the "Generate
55871         64-bit Export File" build phase script. Renamed WebCore.LP64.exp
55872         to WebCore.PluginHostProcess.exp.
55873
55874 2009-09-23  Peter Kasting  <pkasting@google.com>
55875
55876         Reviewed by Dimitri Glazkov.
55877
55878         https://bugs.webkit.org/show_bug.cgi?id=29694
55879         [Chromium] Eliminate dependency on gfx::Rect from ImageSkia.
55880
55881         * platform/graphics/skia/ImageSkia.cpp:
55882         (WebCore::drawResampledBitmap):
55883
55884 2009-09-22  Timothy Hatcher  <timothy@apple.com>
55885
55886         Prevent scrolling multiple elements during latched wheel events.
55887
55888         Reviewed by Anders Carlsson.
55889
55890         * page/EventHandler.cpp:
55891         (WebCore::scrollAndAcceptEvent):
55892         (WebCore::EventHandler::clear):
55893         (WebCore::EventHandler::handleWheelEvent):
55894         * page/EventHandler.h:
55895         * rendering/RenderBox.cpp:
55896         (WebCore::RenderBox::scroll):
55897         * rendering/RenderBox.h:
55898
55899 2009-09-23  Daniel Bates  <dbates@webkit.org>
55900
55901         Reviewed by Adam Barth.
55902
55903         https://bugs.webkit.org/show_bug.cgi?id=29523
55904         
55905         Fixes an issue where a JavaScript URL that was URL-encoded twice can bypass the
55906         XSSAuditor.
55907         
55908         The method FrameLoader::executeIfJavaScriptURL decodes the URL escape 
55909         sequences in a JavaScript URL before it is eventually passed to the XSSAuditor.
55910         Because the XSSAuditor also decodes the URL escape sequences as part of its
55911         canonicalization, the double decoding of a JavaScript URL would
55912         not match the canonicalization of the input parameters.
55913
55914         Tests: http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html
55915                http/tests/security/xssAuditor/javascript-link-url-encoded.html
55916
55917         * bindings/js/ScriptController.cpp:
55918         (WebCore::ScriptController::evaluate): Moved call to 
55919         XSSAuditor::canEvaluateJavaScriptURL into FrameLoader::executeIfJavaScriptURL.
55920         * bindings/v8/ScriptController.cpp:
55921         (WebCore::ScriptController::evaluate): Ditto.
55922         * loader/FrameLoader.cpp:
55923         (WebCore::FrameLoader::executeIfJavaScriptURL): Modified to call 
55924         XSSAuditor::canEvaluateJavaScriptURL on the JavaScript URL before it is
55925         decoded.
55926
55927 2009-09-22  Dave Hyatt  <hyatt@apple.com>
55928
55929         Reviewed by John Sullivan.
55930
55931         https://bugs.webkit.org/show_bug.cgi?id=29657
55932         Columns don't break properly in positioned elements with a fixed height.  Make sure that
55933         a block is still considered to have columns even when the column count is 1 if the column
55934         width is non-auto.
55935     
55936         Added fast/multicol/positioned-with-constrained-height.html
55937
55938         * rendering/RenderBlock.cpp:
55939         (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
55940
55941 2009-09-23  Holger Hans Peter Freyther  <zecke@selfish.org>
55942
55943         Rubber-stamped by Simon Hausmann.
55944
55945         Add a null check for the Document*. In the mirror benchmarking
55946         application a crash from a call from JavaScript was observed.
55947
55948         I was not able to come up with a test case for this issue.
55949
55950         * platform/qt/CookieJarQt.cpp:
55951         (WebCore::cookieJar):
55952
55953 2009-09-23  Simon Hausmann  <simon.hausmann@nokia.com>
55954
55955         Reviewed by Tor Arne Vestbø.
55956
55957         Fix the Qt/Windows build, after the introduction of
55958         the page client.
55959
55960         * plugins/win/PluginViewWin.cpp:
55961         (windowHandleForPageClient):
55962         (WebCore::PluginView::getValue):
55963         (WebCore::PluginView::forceRedraw):
55964         (WebCore::PluginView::platformStart):
55965
55966 2009-09-23  Gustavo Noronha Silva  <gns@gnome.org>
55967
55968         Reviewed by Xan Lopez.
55969
55970         [GTK] media tests failing after their rework
55971         https://bugs.webkit.org/show_bug.cgi?id=29532
55972
55973         Correctly advertise the mime types used by the common formats used
55974         in the tests.
55975
55976         Tests that regressed, and will pass again:
55977
55978            media/video-canvas-source.html
55979            media/video-controls.html
55980            media/video-currentTime-set2.html
55981            media/video-dom-autoplay.html
55982            media/video-dom-src.html
55983            media/video-error-abort.html
55984            media/video-load-networkState.html
55985            media/video-load-readyState.html
55986            media/video-muted.html
55987            media/video-no-autoplay.html
55988            media/video-pause-empty-events.html
55989            media/video-play-empty-events.html
55990            media/video-seekable.html
55991            media/video-seeking.html
55992            media/video-size.html
55993            media/video-source-type-params.html
55994            media/video-source-type.html
55995            media/video-source.html
55996            media/video-src-change.html
55997            media/video-src-invalid-remove.html
55998            media/video-src-remove.html
55999            media/video-src-set.html
56000            media/video-src-source.html
56001            media/video-src.html
56002            media/video-timeupdate-during-playback.html
56003            media/video-volume.html
56004
56005         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
56006         (WebCore::mimeTypeCache):
56007
56008 2009-09-22  Charles Wei  <charles.wei@torchmobile.com.cn>
56009
56010         Reviewed by Eric Seidel.
56011
56012         Fix the crash problem with absolte positioned children in foreignobject
56013         htts://bugs.webkit.org/show_bug.cgi?id=26342
56014
56015         Test: svg/custom/foreignobject-crash-with-absolute-positioned-children.svg
56016
56017         * rendering/RenderForeignObject.h:
56018         (WebCore::RenderForeignObject::isSVGForeignObject):
56019         * rendering/RenderObject.cpp:
56020         (WebCore::RenderObject::containingBlock):
56021         * rendering/RenderObject.h:
56022         (WebCore::RenderObject::isSVGForeignObject):
56023
56024 2009-09-22  Drew Wilson  <atwilson@google.com>
56025
56026         Reviewed by David Levin.
56027
56028         SharedWorkers "name" attribute is now optional.
56029         https://bugs.webkit.org/show_bug.cgi?id=28897
56030
56031         Test: fast/workers/shared-worker-name.html
56032
56033         * bindings/js/JSSharedWorkerConstructor.cpp:
56034         (WebCore::constructSharedWorker):
56035         Default 'name' attribute to empty string if it is not provided.
56036         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
56037         (WebCore::CALLBACK_FUNC_DECL):
56038         Default 'name' attribute to empty string if it is not provided.
56039         * workers/DefaultSharedWorkerRepository.cpp:
56040         (WebCore::SharedWorkerProxy::matches):
56041         Now matches URLs if names are empty strings.
56042         (WebCore::DefaultSharedWorkerRepository::getProxy):
56043         Pass URL in to SharedWorkerProxy::matches().
56044
56045 2009-09-22  Dimitri Glazkov  <dglazkov@chromium.org>
56046
56047         Unreviewed, another build fix.
56048
56049         [Chromium] Add another missing include.
56050         https://bugs.webkit.org/show_bug.cgi?id=29536
56051
56052         * inspector/InspectorController.cpp: Added DOMWindow.h include.
56053
56054 2009-09-22  Dimitri Glazkov  <dglazkov@chromium.org>
56055
56056         Unreviewed, build fix.
56057
56058         [Chromium] Add missing include.
56059         https://bugs.webkit.org/show_bug.cgi?id=29536
56060
56061         * inspector/InspectorDOMStorageResource.cpp: Added DOMWindow.h include.
56062
56063 2009-09-22  Darin Adler  <darin@apple.com>
56064
56065         Reviewed by Sam Weinig.
56066
56067         Tighten up the ScheduledRedirection machinery to prepare for a bug fix
56068         https://bugs.webkit.org/show_bug.cgi?id=29663
56069
56070         * loader/FrameLoader.cpp:
56071         (WebCore::ScheduledRedirection::ScheduledRedirection): Added a boolean,
56072         initialized to false, to keep track if the redirection has been
56073         communicated to the client.
56074         (WebCore::FrameLoader::stopLoading): Tweaked a comment.
56075         (WebCore::FrameLoader::cancelRedirection): Removed code to clear
56076         m_scheduledRedirection.clear since stopRedirectionTimer does that now.
56077         (WebCore::FrameLoader::allChildrenAreComplete): Added.
56078         (WebCore::FrameLoader::checkCompleted): Use allChildrenAreComplete
56079         function for clarity.
56080         (WebCore::FrameLoader::checkCallImplicitClose): Ditto.
56081         (WebCore::FrameLoader::scheduleRedirection): Changed to take a PassOwnPtr.
56082         (WebCore::FrameLoader::startRedirectionTimer): Added code to set the
56083         toldClient flag and not call clientRedirected a second time if it is set.
56084         (WebCore::FrameLoader::stopRedirectionTimer): Changed so this can be safely
56085         called multiple times and it will call clientRedirectCancelledOrFinished
56086         only once.
56087
56088         * loader/FrameLoader.h: Changed scheduleRedirection to be a PassOwnPtr.
56089         Added allChildrenAreComplete function.
56090
56091 2009-09-22  Yury Semikhatsky  <yurys@chromium.org>
56092
56093         Reviewed by Timothy Hatcher.
56094
56095         WebInspector: Migrate Databases tab to InjectedScript /
56096         serialized interaction.
56097
56098         DOMStorage interaction is now serialized into JSON messages
56099         and doesn't require quarantined objects.
56100         
56101         https://bugs.webkit.org/show_bug.cgi?id=28873
56102
56103         * dom/EventListener.h:
56104         (WebCore::EventListener::):
56105         * inspector/InspectorBackend.cpp:
56106         (WebCore::InspectorBackend::selectDOMStorage):
56107         (WebCore::InspectorBackend::getDOMStorageEntries):
56108         (WebCore::InspectorBackend::setDOMStorageItem):
56109         (WebCore::InspectorBackend::removeDOMStorageItem):
56110         * inspector/InspectorBackend.h:
56111         * inspector/InspectorBackend.idl:
56112         * inspector/InspectorController.cpp:
56113         (WebCore::InspectorController::didCommitLoad):
56114         (WebCore::InspectorController::selectDOMStorage):
56115         (WebCore::InspectorController::getDOMStorageEntries):
56116         (WebCore::InspectorController::setDOMStorageItem):
56117         (WebCore::InspectorController::removeDOMStorageItem):
56118         (WebCore::InspectorController::getDOMStorageResourceForId):
56119         * inspector/InspectorController.h:
56120         * inspector/InspectorDOMStorageResource.cpp:
56121         (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
56122         (WebCore::InspectorDOMStorageResource::bind):
56123         (WebCore::InspectorDOMStorageResource::unbind):
56124         (WebCore::InspectorDOMStorageResource::startReportingChangesToFrontend):
56125         (WebCore::InspectorDOMStorageResource::handleEvent):
56126         (WebCore::InspectorDOMStorageResource::operator==):
56127         * inspector/InspectorDOMStorageResource.h:
56128         (WebCore::InspectorDOMStorageResource::cast):
56129         (WebCore::InspectorDOMStorageResource::id):
56130         (WebCore::InspectorDOMStorageResource::domStorage):
56131         * inspector/InspectorFrontend.cpp:
56132         (WebCore::InspectorFrontend::selectDOMStorage):
56133         (WebCore::InspectorFrontend::didGetDOMStorageEntries):
56134         (WebCore::InspectorFrontend::didSetDOMStorageItem):
56135         (WebCore::InspectorFrontend::didRemoveDOMStorageItem):
56136         (WebCore::InspectorFrontend::updateDOMStorage):
56137         * inspector/InspectorFrontend.h:
56138         * inspector/front-end/DOMStorage.js:
56139         (WebInspector.DOMStorage):
56140         (WebInspector.DOMStorage.prototype.get id):
56141         (WebInspector.DOMStorage.prototype.get domStorage):
56142         (WebInspector.DOMStorage.prototype.get isLocalStorage):
56143         (WebInspector.DOMStorage.prototype.getEntriesAsync):
56144         (WebInspector.DOMStorage.prototype.setItemAsync):
56145         (WebInspector.DOMStorage.prototype.removeItemAsync):
56146         * inspector/front-end/DOMStorageDataGrid.js:
56147         (WebInspector.DOMStorageDataGrid):
56148         (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode):
56149         (WebInspector.DOMStorageDataGrid.prototype._startEditing):
56150         (WebInspector.DOMStorageDataGrid.prototype._editingCommitted):
56151         (WebInspector.DOMStorageDataGrid.prototype._editingCancelled):
56152         (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
56153         * inspector/front-end/DOMStorageItemsView.js:
56154         (WebInspector.DOMStorageItemsView.prototype.update):
56155         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
56156         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
56157         * inspector/front-end/StoragePanel.js:
56158         (WebInspector.StoragePanel.prototype.show):
56159         (WebInspector.StoragePanel.prototype.reset):
56160         (WebInspector.StoragePanel.prototype.selectDOMStorage):
56161         (WebInspector.StoragePanel.prototype.updateDOMStorage):
56162         (WebInspector.StoragePanel.prototype._domStorageForId):
56163         * inspector/front-end/inspector.js:
56164         (WebInspector.addDOMStorage):
56165         (WebInspector.updateDOMStorage):
56166
56167 2009-09-22  Sam Weinig  <sam@webkit.org>
56168
56169         Reviewed by Alexey Proskuryakov.
56170
56171         Fix for XMLHttpRequest.abort() should destroy the response text.
56172         https://bugs.webkit.org/show_bug.cgi?id=29658
56173         <rdar://problem/5301430>
56174
56175         Clearing the response text after calling XMLHttpRequest.abort() is necessary
56176         per spec and matches Firefox. It is also a potential memory win.
56177
56178         Test: http/tests/xmlhttprequest/abort-should-destroy-responseText.html
56179
56180         * xml/XMLHttpRequest.cpp:
56181         (WebCore::XMLHttpRequest::abort): Clear the response text making sure to
56182         keep the actual ResourceReponse around so that the response status and response
56183         status text are kept around.
56184
56185 2009-09-22  Dimitri Glazkov  <dglazkov@chromium.org>
56186
56187         No review, rolling out r48639.
56188         http://trac.webkit.org/changeset/48639
56189
56190         * bindings/v8/V8GCController.cpp:
56191         (WebCore::ObjectGrouperVisitor::visitDOMWrapper):
56192
56193 2009-09-22  Dumitru Daniliuc  <dumi@chromium.org>
56194
56195         Reviewed by Dimitri Glazkov.
56196
56197         Changing the transaction coordinator to (re-)allow multiple read
56198         transactions on the same database to run concurrently (without
56199         risking a deadlock this time).
56200
56201         https://bugs.webkit.org/show_bug.cgi?id=29115
56202
56203         Tests: storage/read-and-write-transactions-dont-run-together.html
56204                storage/read-transactions-running-concurrently.html
56205
56206         * storage/SQLTransaction.h:
56207         (WebCore::SQLTransaction::isReadOnly): Returns the type of the
56208         transaction.
56209         * storage/SQLTransactionCoordinator.cpp:
56210         (WebCore::SQLTransactionCoordinator::acquireLock): Changed to
56211         allow multiple read transactions on the same DB to run
56212         concurrently.
56213         (WebCore::SQLTransactionCoordinator::releaseLock): Changed to
56214         allow multiple read transactions on the same DB to run
56215         concurrently.
56216         (WebCore::SQLTransactionCoordinator::shutdown): Renamed the map.
56217         * storage/SQLTransactionCoordinator.h:
56218
56219 2009-09-22  Peter Kasting  <pkasting@google.com>
56220
56221         Reviewed by David Levin.
56222
56223         https://bugs.webkit.org/show_bug.cgi?id=29652
56224         Support true system colors for CSS system colors in Chromium/Win.
56225
56226         * rendering/RenderThemeChromiumWin.cpp:
56227         (WebCore::cssValueIdToSysColorIndex):
56228         (WebCore::RenderThemeChromiumWin::systemColor):
56229         * rendering/RenderThemeChromiumWin.h:
56230
56231 2009-09-22  Beth Dakin  <bdakin@apple.com>
56232
56233         Reviewed by Dave Hyatt.
56234
56235         Fix for <rdar://problem/6925121> SAP: Wrong width calculation in 
56236         table with fixed layout
56237         -and corresponding-
56238         https://bugs.webkit.org/show_bug.cgi?id=29501
56239
56240         New Tests:
56241         * fast/table/fixed-table-with-percent-inside-percent-table.html: Added.
56242         * fast/table/fixed-table-with-percent-width-inside-auto-table.html: Added.
56243         * fast/table/fixed-table-with-percent-width-inside-div.html: Added.
56244         * fast/table/fixed-table-with-percent-width-inside-extra-large-div.html: Added.
56245         * fast/table/fixed-table-with-percent-width-inside-fixed-width-table.html: Added.
56246         * fast/table/fixed-table-with-small-percent-width.html: Added.
56247
56248         This new quirk is very similar to an existing one that was 
56249         implemented in revision 4316.
56250         * rendering/FixedTableLayout.cpp:
56251         (WebCore::FixedTableLayout::calcPrefWidths):
56252
56253 2009-09-22  Brian Weinstein  <bweinstein@apple.com>
56254
56255         Reviewed by Timothy Hatcher.
56256
56257         List HTTP status code with response headers in resources tab of Web Inspector.
56258         http://webkit.org/b/19945
56259
56260         This patch adds a new top level list in the resources tab, HTTP Information, that 
56261         for now, contains the Request Method (GET, POST, etc.) and the Status Code (200, 404, etc.).
56262         Additionally, it adds a colored dot next to the requested URL to show the status 
56263         (green for success, orange for redirect, red for error).
56264
56265         * English.lproj/localizedStrings.js:
56266         * inspector/front-end/ImageView.js:
56267         (WebInspector.ImageView):
56268         * inspector/front-end/Images/errorRedDot.png: Added.
56269         * inspector/front-end/Images/successGreenDot.png: Added.
56270         * inspector/front-end/Images/warningOrangeDot.png: Added.
56271         * inspector/front-end/Resource.js:
56272         (WebInspector.Resource.StatusTextForCode):
56273         * inspector/front-end/ResourceView.js:
56274         (WebInspector.ResourceView):
56275         (WebInspector.ResourceView.prototype._refreshURL):
56276         (WebInspector.ResourceView.prototype._refreshHTTPInformation):
56277         * inspector/front-end/inspector.css:
56278
56279 2009-09-22  Brady Eidson  <beidson@apple.com>
56280
56281         Reviewed by Darin Adler.
56282
56283         Back list isn't properly updated for fragment changes after a redirect.
56284         <rdar://problem/6142803> and https://bugs.webkit.org/show_bug.cgi?id=20355
56285
56286         Test: fast/loader/fragment-after-redirect-gets-back-entry.html
56287
56288         * loader/FrameLoader.cpp:
56289         (WebCore::FrameLoader::loadURL): Properly reset the policy FrameLoadType before
56290           consulting the policy delegate for fragment scrolling.
56291
56292 2009-09-22  Darin Fisher  <darin@chromium.org>
56293
56294         Reviewed by Dimitri Glazkov.
56295
56296         Drop down selects get stuck in the non-visible state and cannot be opened.
56297         https://bugs.webkit.org/show_bug.cgi?id=29645
56298
56299         All paths that lead to hiding the popup menu must call popupDidHide on
56300         the PopupMenuClient.  This change makes it so by moving all of the
56301         hiding logic to PopupListBox::hidePopup.
56302
56303         * platform/chromium/PopupMenuChromium.cpp:
56304         (WebCore::PopupContainer::hidePopup):
56305         (WebCore::PopupListBox::hidePopup):
56306         * platform/chromium/PopupMenuChromium.h:
56307
56308 2009-09-22  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
56309
56310         Reviewed by Timothy Hatcher.
56311
56312         WebInspector.log() function not protected if console not yet created
56313         https://bugs.webkit.org/show_bug.cgi?id=29336
56314         
56315         No new tests.  Only affects Web Inspector developers adding logging
56316         to their code during development.
56317
56318         * inspector/front-end/inspector.js:
56319         (WebInspector.log.isLogAvailable):
56320         (WebInspector.log.flushQueue):
56321         (WebInspector.log.flushQueueIfAvailable):
56322         (WebInspector.log.logMessage):
56323         (WebInspector.log):
56324
56325 2009-09-22  Yaar Schnitman  <yaar@chromium.org>
56326
56327         Reviewed by David Levin.
56328
56329         Ported chromium.org's webcore.gyp for the webkit chromium port.
56330
56331         https://bugs.webkit.org/show_bug.cgi?id=29617
56332
56333         * WebCore.gyp/WebCore.gyp: Added.
56334
56335 2009-09-22  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
56336
56337         Reviewed by Adam Barth.
56338
56339         [v8] Don't keep clean wrappers artificially alive        
56340         We currently keep all DOM node wrappers alive, even when there are
56341         no more references to them from JS, in case they have properties
56342         that we need to keep around if new JS references are created.
56343         This changes the policy to only keep wrappers artificially alive
56344         if they have changed since they were created. Empty wrappers are
56345         discarded and recreated as needed.
56346         https://bugs.webkit.org/show_bug.cgi?id=29330
56347
56348         * bindings/v8/V8GCController.cpp:
56349         (WebCore::ObjectGrouperVisitor::visitDOMWrapper):
56350
56351 2009-09-22  Pavel Feldman  <pfeldman@chromium.org>
56352
56353         Reviewed by Timothy Hatcher.
56354
56355         Web Inspector: console.count and console.timeEnd
56356         crash when inspector is opened.
56357
56358         https://bugs.webkit.org/show_bug.cgi?id=29632
56359
56360         * inspector/InspectorFrontend.cpp:
56361         (WebCore::InspectorFrontend::addMessageToConsole):
56362
56363 2009-09-22  Adam Barth  <abarth@webkit.org>
56364
56365         Unreviewed.
56366
56367         Fix bogus build fix I did last night.
56368
56369         * bindings/v8/custom/V8DOMWindowCustom.cpp:
56370         (WebCore::V8Custom::WindowSetTimeoutImpl):
56371
56372 2009-09-22  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
56373
56374         Reviewed by Simon Hausmann.
56375
56376         NPAPI/Mac: Don't paint plugins if we don't have a CGContextRef
56377
56378         * plugins/mac/PluginViewMac.cpp:
56379
56380 2009-09-22  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
56381
56382         Reivewed by Simon Hausmann.
56383
56384         Fix the Qt/Mac build after r48604 (Implement new QWebPageClient class)
56385
56386         There's no QWidget::x11Info() on Mac, and setPlatformPluginWidget()
56387         takes a QWidget*, not a QWebPageClient*
56388
56389         * plugins/mac/PluginViewMac.cpp:
56390         (WebCore::PluginView::platformStart):
56391
56392 2009-09-21  Adam Barth  <abarth@webkit.org>
56393
56394         Attempted fix for the V8 build.
56395
56396         * bindings/v8/custom/V8DOMWindowCustom.cpp:
56397         (WebCore::V8Custom::WindowSetTimeoutImpl):
56398
56399 2009-09-21  Adam Barth  <abarth@webkit.org>
56400
56401         Reviewed by Sam Weinig.
56402
56403         Don't re-enter JavaScript after performing access checks
56404         https://bugs.webkit.org/show_bug.cgi?id=29531
56405
56406         Moved the access check slightly later in this functions to avoid
56407         re-entering the JavaScript interpreter (typically via toString)
56408         after performing the access check.
56409
56410         I can't really think of a meaningful test for this change.  It's more
56411         security hygiene.
56412
56413         * bindings/js/JSDOMWindowCustom.cpp:
56414         (WebCore::JSDOMWindow::setLocation):
56415         (WebCore::JSDOMWindow::open):
56416         (WebCore::JSDOMWindow::showModalDialog):
56417         * bindings/js/JSLocationCustom.cpp:
56418         (WebCore::JSLocation::setHref):
56419         (WebCore::JSLocation::replace):
56420         (WebCore::JSLocation::assign):
56421         * bindings/v8/custom/V8DOMWindowCustom.cpp:
56422         (WebCore::V8Custom::WindowSetTimeoutImpl):
56423         (WebCore::if):
56424         (CALLBACK_FUNC_DECL):
56425         (V8Custom::WindowSetLocation):
56426         (V8Custom::ClearTimeoutImpl):
56427         * bindings/v8/custom/V8LocationCustom.cpp:
56428         (WebCore::ACCESSOR_SETTER):
56429         (WebCore::CALLBACK_FUNC_DECL):
56430
56431 2009-09-21  Dumitru Daniliuc  <dumi@chromium.org>
56432
56433         Reviewed by Eric Seidel.
56434
56435         Make all write transaction start with a BEGIN IMMEDIATE command
56436         instead of BEGIN.
56437
56438         We cannot test this change in a layout test, because in order to
56439         test it we need to spawn two database threads and execute
56440         transaction steps on these two threads in a very specific order,
56441         which seems impossible to do when they share the same main thread
56442         (as they would in a layout test). The SQLite docs and the case
56443         described in the bug though should be enough proof that we do have
56444         a problem here and that this patch will fix it.
56445
56446         Relevant SQLite documentation:
56447         http://www.sqlite.org/lang_transaction.html
56448         http://www.sqlite.org/lockingv3.html#locking
56449
56450         https://bugs.webkit.org/show_bug.cgi?id=29218
56451
56452         * platform/sql/SQLiteTransaction.cpp:
56453         (WebCore::SQLiteTransaction::SQLiteTransaction): Added a readOnly
56454         parameter.
56455         (WebCore::SQLiteTransaction::begin): Changed to BEGIN IMMEDIATE
56456         for write transactions.
56457         * platform/sql/SQLiteTransaction.h:
56458         * storage/SQLTransaction.cpp:
56459         (WebCore::SQLTransaction::openTransactionAndPreflight): Passing
56460         the read-only flag to the SQLiteTransaction instance.
56461
56462 2009-09-21  Brady Eidson  <beidson@apple.com>
56463
56464         Rubberstamped by Mark Rowe.
56465
56466         * DerivedSources.make: Fix the Xcode build on SnowLeopard.
56467
56468 2009-09-15  John Abd-El-Malek  <jam@chromium.org>
56469
56470         Reviewed by Darin Fisher.
56471
56472         Prevent sleeps in unload handlers.
56473         https://bugs.webkit.org/show_bug.cgi?id=29193
56474
56475         Test: fast/dom/Window/slow_unload_handler.html
56476
56477         * WebCore.gypi:
56478         * bindings/v8/DateExtension.cpp: Added.
56479         (WebCore::DateExtension::DateExtension):
56480         (WebCore::DateExtension::get):
56481         (WebCore::DateExtension::setAllowSleep):
56482         (WebCore::DateExtension::GetNativeFunction):
56483         (WebCore::DateExtension::weakCallback):
56484         (WebCore::DateExtension::GiveEnableSleepDetectionFunction):
56485         (WebCore::DateExtension::OnSleepDetected):
56486         * bindings/v8/DateExtension.h: Added.
56487         * bindings/v8/V8AbstractEventListener.cpp:
56488         (WebCore::V8AbstractEventListener::invokeEventHandler):
56489         * bindings/v8/V8Proxy.cpp:
56490         (WebCore::V8Proxy::createNewContext):
56491         (WebCore::V8Proxy::registerExtensionWithV8):
56492         (WebCore::V8Proxy::registeredExtensionWithV8):
56493         * bindings/v8/V8Proxy.h:
56494
56495 2009-09-21  Jian Li  <jianli@chromium.org>
56496
56497         Reviewed by David Levin.
56498
56499         [V8] Run-time exception in onmessage handler is not forwarded to the
56500         worker object.
56501         https://bugs.webkit.org/show_bug.cgi?id=28980
56502
56503         The previous fix was partially reverted due to a reliability build break
56504         in chromium. The break happens when an exception is thrown without
56505         setting a message. We need to check for this scenario and handle it.
56506
56507         Tested by worker-close.html.
56508
56509         * bindings/v8/V8AbstractEventListener.cpp:
56510         (WebCore::V8AbstractEventListener::invokeEventHandler):
56511         * bindings/v8/V8Utilities.cpp:
56512         (WebCore::reportException):
56513
56514 2009-09-21  Greg Bolsinga  <bolsinga@apple.com>
56515
56516         Reviewed by Simon Fraser & Sam Weinig.
56517
56518         Add ENABLE(ORIENTATION_EVENTS)
56519         https://bugs.webkit.org/show_bug.cgi?id=29508
56520         
56521         See documentation here:
56522         http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW16
56523
56524         * DerivedSources.make: Use new WebCore.OrientationEvents.exp file if ENABLE_ORIENTATION_EVENTS.
56525         Add ENABLE_ORIENTATION_EVENTS to the new ADDITIONAL_IDL_DEFINES variable that is passed to the IDL
56526         code generator. This is because ENABLE_ORIENTATION_EVENTS is not in FEATURE_DEFINES.
56527         * WebCore.OrientationEvents.exp: Added.
56528         * WebCore.xcodeproj/project.pbxproj: Add WebCore.OrientationEvents.exp.
56529         * dom/EventNames.h: Add onorientationchange.
56530         * html/HTMLAttributeNames.in: Ditto.
56531         * html/HTMLBodyElement.cpp: Handle onorientationchange properly.
56532         (WebCore::HTMLBodyElement::parseMappedAttribute):
56533         (WebCore::HTMLBodyElement::onorientationchange):
56534         (WebCore::HTMLBodyElement::setOnorientationchange):
56535         * html/HTMLBodyElement.h: Ditto.
56536         * html/HTMLBodyElement.idl: Ditto.
56537         * html/HTMLFrameSetElement.cpp: Ditto.
56538         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
56539         (WebCore::HTMLFrameSetElement::onorientationchange):
56540         (WebCore::HTMLFrameSetElement::setOnorientationchange):
56541         * html/HTMLFrameSetElement.h: Ditto.
56542         * html/HTMLFrameSetElement.idl: Ditto.
56543         * page/DOMWindow.cpp: Ditto.
56544         (WebCore::DOMWindow::orientation): Calls up the to the Frame for the orientation value.
56545         (WebCore::DOMWindow::onorientationchange):
56546         (WebCore::DOMWindow::setOnorientationchange):
56547         * page/DOMWindow.h: Handle onorientationchange properly.
56548         * page/DOMWindow.idl: Ditto.
56549         * page/Frame.cpp: Ditto.
56550         (WebCore::Frame::Frame):
56551         (WebCore::Frame::sendOrientationChangeEvent):
56552         * page/Frame.h: Ditto.
56553         (WebCore::Frame::orientation):
56554
56555 2009-09-18  Anders Carlsson  <andersca@apple.com>
56556
56557         Try fixing the build again.
56558         
56559         * platform/win/PopupMenuWin.cpp:
56560         (WebCore::PopupMenu::wndProc):
56561
56562 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
56563
56564         Reviewed by Timothy Hatcher.
56565
56566         Web Inspector: completions are always evaluated against
56567         window (discarding call frames).
56568
56569         https://bugs.webkit.org/show_bug.cgi?id=29616
56570
56571         * inspector/front-end/ConsoleView.js:
56572         (WebInspector.ConsoleView.prototype.completions):
56573         * inspector/front-end/InjectedScript.js:
56574         (InjectedScript.getCompletions):
56575         * inspector/front-end/ScriptsPanel.js:
56576         (WebInspector.ScriptsPanel.prototype.selectedCallFrameId):
56577
56578 2009-09-21  Brent Fulgham  <bfulgham@webkit.org>
56579
56580         Unreviewed build fix for Windows (Cairo) target.
56581
56582         Add stubs for SocketStream classes added in @r47788, which
56583         broke the WinCairo build.
56584
56585         No new tests. (Build failure).
56586
56587         * WebCore.vcproj/WebCore.vcproj:  Add references to new files
56588           to Cairo build, exclude from standard Apple build.
56589         * platform/network/curl/SocketStreamError.h: Added.
56590         * platform/network/curl/SocketStreamHandle.h: Added.
56591         * platform/network/curl/SocketStreamHandleCurl.cpp: Added.
56592
56593 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
56594
56595         Reviewed by Timothy Hatcher.
56596
56597         Web Inspector: Expose InspectorResource fields.
56598
56599         https://bugs.webkit.org/show_bug.cgi?id=29537
56600
56601         * inspector/InspectorResource.cpp:
56602         (WebCore::InspectorResource::sourceString):
56603         (WebCore::InspectorResource::resourceData):
56604         * inspector/InspectorResource.h:
56605         (WebCore::InspectorResource::requestHeaderFields):
56606         (WebCore::InspectorResource::responseHeaderFields):
56607         (WebCore::InspectorResource::responseStatusCode):
56608         (WebCore::InspectorResource::requestMethod):
56609         (WebCore::InspectorResource::requestFormData):
56610
56611 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
56612
56613         Reviewed by Timothy Hatcher.
56614
56615         Web Inspector: JS error drilling down childless node.
56616         No need to dispatch double click twice - it is already handled
56617         in TreeElement.treeElementDoubleClicked.
56618
56619         https://bugs.webkit.org/show_bug.cgi?id=22144
56620
56621         * inspector/front-end/ElementsTreeOutline.js:
56622         (WebInspector.ElementsTreeOutline):
56623
56624 2009-09-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>
56625
56626         Reviewed by Simon Hausmann.
56627
56628         Implement new QWebPageClient class and let our classes
56629         QWebViewPrivate and QWebGraphicsItemPrivate inherit from it.
56630
56631         For Qt, platformPageClient() will now return a class derived from
56632         the QWebPageClient, so the patch adapts our Qt hooks to go though
56633         this class and not depend on the QWebView.
56634
56635         * WebCore.pro:
56636         * platform/Widget.h:
56637         * platform/qt/PlatformScreenQt.cpp:
56638         (WebCore::screenDepth):
56639         (WebCore::screenDepthPerComponent):
56640         (WebCore::screenIsMonochrome):
56641         (WebCore::screenRect):
56642         (WebCore::screenAvailableRect):
56643         * platform/qt/PopupMenuQt.cpp:
56644         (WebCore::PopupMenu::show):
56645         * platform/qt/QWebPageClient.h: Added.
56646         * platform/qt/WidgetQt.cpp:
56647         (WebCore::Widget::setCursor):
56648         * plugins/qt/PluginViewQt.cpp:
56649         (WebCore::PluginView::handleKeyboardEvent):
56650         (WebCore::PluginView::getValue):
56651         (WebCore::PluginView::platformStart):
56652
56653 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
56654
56655         Reviewed by Timothy Hatcher.
56656
56657         Web Inspector: Evaluating on call frame always returns "undefined".
56658
56659         https://bugs.webkit.org/show_bug.cgi?id=29613
56660
56661         * inspector/front-end/InjectedScript.js:
56662         (InjectedScript.evaluate):
56663         (InjectedScript._evaluateAndWrap):
56664         (InjectedScript._evaluateOn):
56665         (InjectedScript.evaluateInCallFrame):
56666
56667 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
56668
56669         Reviewed by Timothy Hatcher.
56670
56671         Web Inspector: Exception formatting is broken in console.
56672
56673         https://bugs.webkit.org/show_bug.cgi?id=29608
56674
56675         * inspector/front-end/ConsoleView.js:
56676         (WebInspector.ConsoleCommandResult):
56677         * inspector/front-end/InjectedScript.js:
56678         (InjectedScript.evaluate):
56679         (InjectedScript.createProxyObject):
56680
56681 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
56682
56683         Reviewed by Timothy Hatcher.
56684
56685         Web Inspector: Console object formatting is broken.
56686
56687         https://bugs.webkit.org/show_bug.cgi?id=29607
56688
56689         * inspector/front-end/ConsoleView.js:
56690         (WebInspector.ConsoleMessage.prototype._format):
56691         * inspector/front-end/ObjectProxy.js:
56692         (WebInspector.ObjectProxy.wrapPrimitiveValue):
56693
56694 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
56695
56696         Reviewed by Timothy Hatcher.
56697
56698         Web Inspector: Crash When Logging an Element Before Opening Inspector
56699
56700         https://bugs.webkit.org/show_bug.cgi?id=29514
56701
56702         * inspector/InspectorController.cpp:
56703         (WebCore::InspectorController::populateScriptObjects):
56704
56705 2009-09-21  Simon Fraser  <simon.fraser@apple.com>
56706
56707         Reviewed by Dan Bernstein.
56708
56709         Incorrect clipping with accelerated compositing content, and position:fixed
56710         https://bugs.webkit.org/show_bug.cgi?id=29347
56711         
56712         Fix the compositing clipping logic to behave correctly when position:fixed
56713         elements clip, by using the new backgroundClipRect() method to determine
56714         when we need to clip, and to compute the clipping layer position.
56715
56716         Test: compositing/overflow/fixed-position-ancestor-clip.html
56717
56718         * rendering/RenderLayerBacking.cpp:
56719         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
56720         * rendering/RenderLayerCompositor.cpp:
56721         (WebCore::RenderLayerCompositor::clippedByAncestor):
56722
56723 2009-09-21  Nate Chapin  <japhet@chromium.org>
56724
56725         Reviewed by Adam Barth.
56726
56727         Add back in a special case for window.top in the V8 bindings.
56728
56729         https://bugs.webkit.org/show_bug.cgi?id=29605
56730
56731         Fixes LayoutTests/fast/dom/Window/window-property-shadowing.html in the Chromium port.
56732
56733         * bindings/scripts/CodeGeneratorV8.pm: Ensure window.top is not marked as read only, as this breaks the shadowing disabling.
56734
56735 2009-09-21  Eric Carlson  <eric.carlson@apple.com>
56736
56737         Reviewed by Brady Eidson.
56738
56739         HTMLMediaElement: media file should not reload when page comes out of page cache
56740         https://bugs.webkit.org/show_bug.cgi?id=29604
56741
56742         Test: media/restore-from-page-cache.html
56743
56744         * html/HTMLMediaElement.cpp:
56745         (WebCore::HTMLMediaElement::userCancelledLoad): Do nothing unless the element
56746         is still loading. Only fire an 'emptied' event if the readyState is HAVE_NOTHING,
56747         otherwise set the network state to NETWORK_IDLE.
56748
56749 2009-09-21  Sam Weinig  <sam@webkit.org>
56750
56751         Reviewed by Geoffrey "Sean/Shawn/Shaun" Garen.
56752
56753         Clarify two FIXMEs.
56754
56755         * bindings/js/JSHTMLCollectionCustom.cpp:
56756         (WebCore::getNamedItems):
56757         * bindings/js/JSHTMLFormElementCustom.cpp:
56758         (WebCore::JSHTMLFormElement::nameGetter):
56759
56760 2009-09-21  Darin Fisher  <darin@chromium.org>
56761
56762         Reviewed by Dimitri Glazkov.
56763
56764         Drop down selects fail to close when a value is selected
56765         https://bugs.webkit.org/show_bug.cgi?id=29582
56766
56767         Implement PopupListBox::hidePopup, which was previously
56768         declared but unimplemented.  Removes the declaration of
56769         showPopup since that method is not implemented.
56770
56771         PopupListBox::hidePopup takes care of hiding the popup,
56772         by invoking hidePopup on its parent PopupContainer, and
56773         then informs the PopupMenuClient that popupDidHide.
56774         This mimics the old behavior prior to r48370.
56775
56776         * platform/chromium/PopupMenuChromium.cpp:
56777         (WebCore::PopupListBox::handleKeyEvent):
56778         (WebCore::PopupListBox::abandon):
56779         (WebCore::PopupListBox::acceptIndex):
56780         (WebCore::PopupListBox::hidePopup):
56781
56782 2009-09-21  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
56783
56784         Rubber-stamped by Simon Hausmann.
56785
56786         [Qt] Windows build fix.
56787         https://bugs.webkit.org/show_bug.cgi?id=29535
56788
56789         * platform/network/qt/DnsPrefetchHelper.cpp: Missing #include "config.h"  added.
56790
56791 2009-09-21  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
56792
56793         Unreviewed make dist build fix. Missing files.
56794
56795         * GNUmakefile.am:
56796
56797 2009-09-20  Adam Barth  <abarth@webkit.org>
56798
56799         Reviewed by Maciej Stachowiak.
56800
56801         Crash when clicking link in unload handler
56802         https://bugs.webkit.org/show_bug.cgi?id=29525
56803
56804         Test that the first navigation always wins when the page tries to start
56805         a new navigation in an unload handler.
56806
56807         Tests: fast/loader/unload-form-about-blank.html
56808                fast/loader/unload-form-post-about-blank.html
56809                fast/loader/unload-form-post.html
56810                fast/loader/unload-form.html
56811                fast/loader/unload-hyperlink.html
56812                fast/loader/unload-javascript-url.html
56813                fast/loader/unload-reload.html
56814                fast/loader/unload-window-location.html
56815
56816         * loader/FrameLoader.cpp:
56817         (WebCore::FrameLoader::loadURL):
56818         (WebCore::FrameLoader::loadWithDocumentLoader):
56819
56820 2009-09-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
56821
56822         Reviewed by Xan Lopez.
56823
56824         [GTK] Sometimes crashes when a page is destroyed/loads another URL while playing video
56825         https://bugs.webkit.org/show_bug.cgi?id=29496
56826
56827         Protect the video sink object, and destroy it in an idle callback
56828         to hopefully avoid a race condition that leads to a crash.
56829
56830         This is already tested by media/video-seekable.html
56831
56832         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
56833         (WebCore::idleUnref):
56834         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
56835         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
56836
56837 2009-09-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
56838
56839         Unreviewed build fix for GTKand a blind one for Qt after r48566.
56840
56841         * GNUmakefile.am:
56842         * WebCore.pro:
56843
56844 2009-09-19  Sam Weinig  <sam@webkit.org>
56845
56846         Reviewed by Oliver Hunt.
56847
56848         Fix for https://bugs.webkit.org/show_bug.cgi?id=29519
56849         Remove JSNameNodeCollection and just use StaticNodeList
56850
56851         * WebCore.vcproj/WebCore.vcproj:
56852         * WebCore.xcodeproj/project.pbxproj:
56853         * WebCoreSources.bkl:
56854         * bindings/js/JSHTMLCollectionCustom.cpp:
56855         (WebCore::getNamedItems):
56856         * bindings/js/JSHTMLFormElementCustom.cpp:
56857         (WebCore::JSHTMLFormElement::nameGetter):
56858         * bindings/js/JSNamedNodesCollection.cpp: Removed.
56859         * bindings/js/JSNamedNodesCollection.h: Removed.
56860
56861 2009-09-19  Daniel Bates  <dbates@webkit.org>
56862
56863         Reviewed by Adam Barth.
56864
56865         https://bugs.webkit.org/show_bug.cgi?id=29511
56866         
56867         Fixes an issue where script code that contains non-ASCII characters may bypass the 
56868         XSSAuditor.
56869         
56870         Before performing a comparison between the script source code and input parameters, we
56871         remove all non-ASCII characters, including non-printable ASCII characters from the
56872         script source code and input parameters.
56873
56874         Tests: http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html
56875                http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html
56876                http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html
56877                http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html
56878
56879         * page/XSSAuditor.cpp:
56880         (WebCore::isNonCanonicalCharacter): Modified to remove all non-ASCII characters,
56881         including non-printable ASCII characters.
56882
56883 2009-09-19  Simon Fraser  <simon.fraser@apple.com>
56884
56885         Reviewed by Dan Bernstein.
56886
56887         Incorrect animation with scale(0) transform (singular matrix)
56888         https://bugs.webkit.org/show_bug.cgi?id=29465
56889         
56890         Make accelerated scale() and translate() animations go through the component animation
56891         path (rather than just matrix animation) to avoid problems with singular scale matrices,
56892         and be slightly more efficient.
56893
56894         Test: compositing/transitions/singular-scale-transition.html
56895
56896         * platform/graphics/mac/GraphicsLayerCA.mm:
56897         (WebCore::getTransformFunctionValue):
56898         (WebCore::getValueFunctionNameForTransformOperation):
56899
56900 2009-09-19  Alex Milowski  <alex@milowski.com>
56901
56902         Reviewed by Maciej Stachowiak.
56903
56904         Adds CSS styling and basic DOM element support for MathML
56905
56906         * DerivedSources.make:
56907           Added user stylesheet and tag factory generation
56908
56909         * WebCore.xcodeproj/project.pbxproj:
56910           Added new DOM element code
56911
56912         * css/CSSParser.cpp:
56913         (WebCore::CSSParser::parseAttr):
56914           Added check for document since stylesheet can be added before there is a document
56915
56916         * css/CSSStyleSelector.cpp:
56917         (WebCore::CSSStyleSelector::styleForElement):
56918           Added check to add MathML user agent stylesheet
56919
56920         * css/mathml.css: Added.
56921           MathML user agent stylesheet
56922
56923         * dom/Document.cpp:
56924         (WebCore::Document::createElement):
56925           Added support for creation of MathML DOM objects
56926
56927         * dom/Node.h:
56928         (WebCore::Node::isMathMLElement):
56929           Added check method for whether the node is a MathML node
56930
56931         * mathml: Added.
56932         * mathml/MathMLElement.cpp: Added.
56933         (WebCore::MathMLElement::MathMLElement):
56934         (WebCore::MathMLElement::create):
56935         (WebCore::MathMLElement::createRenderer):
56936         * mathml/MathMLElement.h: Added.
56937         (WebCore::MathMLElement::isMathMLElement):
56938           MathML DOM base class
56939
56940
56941         * mathml/MathMLInlineContainerElement.cpp: Added.
56942         (WebCore::MathMLInlineContainerElement::MathMLInlineContainerElement):
56943         (WebCore::MathMLInlineContainerElement::create):
56944         (WebCore::MathMLInlineContainerElement::createRenderer):
56945         * mathml/MathMLInlineContainerElement.h: Added.
56946           Base class for non-text containers
56947
56948         * mathml/MathMLMathElement.cpp: Added.
56949         (WebCore::MathMLMathElement::MathMLMathElement):
56950         (WebCore::MathMLMathElement::create):
56951         * mathml/MathMLMathElement.h: Added.
56952           Root Math element
56953
56954         * mathml/mathtags.in: Added.
56955           Element list mappings
56956
56957         * page/Frame.cpp:
56958         (WebCore::Frame::Frame):
56959           Added MathML name initialization
56960 2009-09-19  Adam Barth  <abarth@webkit.org>
56961
56962         Reviewed by Oliver Hunt.
56963
56964         Canvas drawn with data URL image raises SECURITY_ERR when toDataUrl() called.
56965         https://bugs.webkit.org/show_bug.cgi?id=29305
56966
56967         We need to special-case data URLs when tainting a canvas because we
56968         treat data URLs has having no security origin, unlike other
56969         browsers.  The reason we do this is to help sites avoid XSS via data
56970         URLs, but that consideration doesn't apply to canvas taint.
56971
56972         Also, we were previously incorrectly taking document.domain state
56973         into account when tainting canvas.
56974
56975         Tests: http/tests/security/canvas-remote-read-data-url-image.html
56976                http/tests/security/canvas-remote-read-data-url-svg-image.html
56977                http/tests/security/canvas-remote-read-remote-image-document-domain.html
56978
56979         * html/canvas/CanvasRenderingContext2D.cpp:
56980         (WebCore::CanvasRenderingContext2D::checkOrigin):
56981         (WebCore::CanvasRenderingContext2D::createPattern):
56982         * page/SecurityOrigin.cpp:
56983         (WebCore::SecurityOrigin::taintsCanvas):
56984         * page/SecurityOrigin.h:
56985
56986 2009-09-18  Simon Fraser  <simon.fraser@apple.com>
56987
56988         Fix stylistic issue raised in code review for previous commit.
56989
56990         * rendering/RenderLayerBacking.cpp:
56991         (WebCore::hasNonZeroTransformOrigin):
56992
56993 2009-09-18  Simon Fraser  <simon.fraser@apple.com>
56994
56995         Reviewed by Dan Bernstein.
56996
56997         Element is misplaced during opacity transition with certain configuration of transform-origin and clipping
56998         https://bugs.webkit.org/show_bug.cgi?id=29495
56999         
57000         If an element has zero size, but has a transform origin with absolute values,
57001         then the transform origin would not be applied because it is implemented via
57002         anchorPoint, which is expressed as a fraction of the layer size.
57003         
57004         Work around this by artificially inflating the size of the backing store when we need to.
57005
57006         Test: compositing/geometry/transfrom-origin-on-zero-size-layer.html
57007
57008         * rendering/RenderLayerBacking.h:
57009         * rendering/RenderLayerBacking.cpp:
57010         (WebCore::RenderLayerBacking::RenderLayerBacking):
57011         Init m_artificiallyInflatedBounds to false.
57012         
57013         (WebCore::hasNonZeroTransformOrigin):
57014         Utility function that describes whether the transform-origin contains non-percentage
57015         x or y offsets.
57016         
57017         (WebCore::RenderLayerBacking::updateCompositedBounds):
57018         New wrapper method around setCompositedBounds() that applies the size inflation
57019         when necessary, setting the m_artificiallyInflatedBounds as appropriate.
57020         
57021         (WebCore::RenderLayerBacking::updateAfterLayout): Call updateCompositedBounds().
57022         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Ditto
57023         
57024         * rendering/RenderLayerCompositor.cpp:
57025         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Ditto
57026         (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): Ditto
57027
57028 2009-09-18  Antti Koivisto  <antti@apple.com>
57029
57030         Reviewed by Maciej Stachowiak.
57031
57032         https://bugs.webkit.org/show_bug.cgi?id=29512
57033         Don't recalculate style when restoring from the page cache
57034
57035         FrameLoaderClient::forceLayout() also forces style recalc. Instead call FrameView::forceLayout() 
57036         directly to update the scrollbars while keeping the existing style.
57037         
57038         Makes back/forward really fast on complex pages (in cases where page cache works).
57039
57040         * loader/FrameLoader.cpp:
57041         (WebCore::FrameLoader::commitProvisionalLoad):
57042
57043 2009-09-18  Oliver Hunt  <oliver@apple.com>
57044
57045         Reviewed by Geoff Garen.
57046
57047         Implement ES5 Object.defineProperty function
57048         https://bugs.webkit.org/show_bug.cgi?id=29503
57049
57050         Override defineOwnProperty on JSDOMWindowShell to forward appropriately,
57051         and then override defineOwnProperty on JSDOMWindow to disallow cross origin
57052         defineOwnProperty usage.  We also override defineOwnProperty on QuarantinedObjectWrapper
57053         to ensure correct wrapping semantics of quarantined objects.
57054
57055         One major caveat in this patch is that it currently disallows the use
57056         of Object.defineProperty on DOMObjects other than the window due to
57057         the significant work involved in correctly propagating attributes and
57058         ensuring correct semantics on dom objects.
57059
57060         Tests: fast/js/Object-defineProperty.html
57061                http/tests/security/xss-DENIED-defineProperty.html
57062
57063         * bindings/js/JSDOMBinding.cpp:
57064         (WebCore::DOMObject::defineOwnProperty):
57065         * bindings/js/JSDOMBinding.h:
57066         * bindings/js/JSDOMWindowCustom.cpp:
57067         (WebCore::JSDOMWindow::defineGetter):
57068         (WebCore::JSDOMWindow::defineSetter):
57069         (WebCore::JSDOMWindow::defineOwnProperty):
57070         * bindings/js/JSDOMWindowShell.cpp:
57071         (WebCore::JSDOMWindowShell::defineOwnProperty):
57072         (WebCore::JSDOMWindowShell::defineGetter):
57073         (WebCore::JSDOMWindowShell::defineSetter):
57074         * bindings/js/JSDOMWindowShell.h:
57075         * bindings/js/JSLocationCustom.cpp:
57076         (WebCore::JSLocation::defineGetter):
57077         (WebCore::JSLocationPrototype::defineGetter):
57078         * bindings/js/JSQuarantinedObjectWrapper.cpp:
57079         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyDescriptor):
57080         (WebCore::JSQuarantinedObjectWrapper::defineOwnProperty):
57081         * bindings/js/JSQuarantinedObjectWrapper.h:
57082         * bindings/scripts/CodeGeneratorJS.pm:
57083
57084 2009-09-18  Alexey Proskuryakov  <ap@apple.com>
57085
57086         Reviewed by Darin Adler.
57087
57088         https://bugs.webkit.org/show_bug.cgi?id=29510
57089         Active DOM objects should be suspended while a modal dialog is displayed
57090
57091         * manual-tests/js-timers-beneath-modal-dialog.html: Added a test for JS timers.
57092
57093         * page/PageGroupLoadDeferrer.cpp:
57094         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
57095         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
57096         Match other platforms, and make Mac also suspend active DOM objects. Since a page that
57097         currently displays a modal dialog cannot go into page cache, there is no danger of suspending
57098         an object twice.        
57099
57100 2009-09-18  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
57101
57102         Reviewed by Eric Seidel.
57103
57104         [Qt] Buildfix caused by http://trac.webkit.org/changeset/48513
57105         https://bugs.webkit.org/show_bug.cgi?id=29351
57106
57107         * bridge/qt/qt_instance.h: createRuntimeObject method renamed to newRuntimeObject.
57108         * bridge/runtime.h: Visibility of newRuntimeObject method modified to protected.
57109
57110 2009-09-18  Yury Semikhatsky  <yurys@chromium.org>
57111
57112         Reviewed by Timothy Hatcher.
57113
57114         Fix parameter substitutions in console.log().
57115
57116         https://bugs.webkit.org/show_bug.cgi?id=29366
57117
57118         * inspector/front-end/ConsoleView.js:
57119         (WebInspector.ConsoleMessage.prototype._format):
57120         * inspector/front-end/InjectedScript.js:
57121         (InjectedScript.getPrototypes):
57122         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
57123         * inspector/front-end/utilities.js:
57124         ():
57125
57126 2009-09-18  Sam Weinig  <sam@webkit.org>
57127
57128         Reviewed by Geoffrey Garen and Brady Eidson.
57129
57130         Temporarily remove an assertion that was getting hit when going
57131         back to a page in the page cache while a banner in Safari was visible.
57132         We should re-enable this once that is fixed. See <rdar://problem/7218118>
57133
57134         * page/FrameView.cpp:
57135         (WebCore::FrameView::scheduleRelayout):
57136
57137 2009-09-18  Anders Carlsson  <andersca@apple.com>
57138
57139         Try fixing the build again.
57140         
57141         * platform/win/PopupMenuWin.cpp:
57142         (WebCore::PopupMenu::wndProc):
57143
57144 2009-09-18  Anders Carlsson  <andersca@apple.com>
57145
57146         Fix windows build.
57147         
57148         * platform/win/PopupMenuWin.cpp:
57149
57150 2009-09-18  Sam Weinig  <sam@webkit.org>
57151
57152         Reviewed by Gavin 'BearClaw' Barraclough.
57153
57154         Convert another callback type object to store the global object
57155         instead of the frame.
57156
57157         * bindings/js/JSCustomXPathNSResolver.cpp:
57158         (WebCore::JSCustomXPathNSResolver::create):
57159         (WebCore::JSCustomXPathNSResolver::JSCustomXPathNSResolver):
57160         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
57161         * bindings/js/JSCustomXPathNSResolver.h:
57162
57163 2009-09-18  Anders Carlsson  <andersca@apple.com>
57164
57165         Reviewed by Sam Weinig.
57166
57167         https://bugs.webkit.org/show_bug.cgi?id=29332
57168         <rdar://problem/7231652> 
57169         REGRESSION (r48446): While a <select> popup menu is open, the
57170         rest of the WebView doesn't respond to mouse move events.
57171
57172         * platform/win/PopupMenuWin.cpp:
57173         (WebCore::translatePoint):
57174         New helper function that translates a point between HWND coordinates.
57175         
57176         (WebCore::PopupMenu::show):
57177         Protect the PopupMenu if someone removes the <select> in response to a mouse
57178         event. Handle WM_HOST_WINDOW_MOUSEMOVE events.
57179         
57180         (WebCore::PopupMenu::wndProc):
57181         in the WM_MOUSEMOVE handler, if the mouse is not over the popup, post a 
57182         WM_HOST_WINDOW_MOUSEMOVE event so that the host window (the WebView) gets the
57183         mouse move event.
57184
57185 2009-09-18  Simon Fraser  <simon.fraser@apple.com>
57186
57187         Reviewed by Dave Hyatt.
57188
57189         Compositing layers are incorrectly positioned after scrolling with position:fixed
57190         https://bugs.webkit.org/show_bug.cgi?id=29262
57191         
57192         When scrolling a page with compositing layers inside a position:fixed element,
57193         we need to update the compositing layer positions when the scroll position changes.
57194
57195         Test: compositing/geometry/fixed-position.html
57196
57197         * WebCore.base.exp:
57198         Export FrameView::scrollPositionChanged()
57199         
57200         * page/FrameView.h:
57201         * page/FrameView.cpp:
57202         (WebCore::FrameView::scrollPositionChanged):
57203         New method that sends the scroll event, and updates compositing layers positions if necessary.
57204
57205 2009-09-18  Simon Fraser  <simon.fraser@apple.com>
57206
57207         Reviewed by Dave Hyatt.
57208
57209         Transformed elements inside position:fixed container are clipped incorrectly
57210         https://bugs.webkit.org/show_bug.cgi?id=29346
57211         
57212         Fix clipping and hit testing on transformed elements inside a position:fixed element.
57213         Previously, the code used the overflowClipRect of the parent clip rects, but
57214         this is not correct for fixed postion elements. Instead, share code that is
57215         already present in calculateRects() to get the correct rect.
57216
57217         Test: fast/overflow/position-fixed-transform-clipping.html
57218
57219         * rendering/RenderLayer.h:
57220         * rendering/RenderLayer.cpp:
57221         (WebCore::RenderLayer::paintLayer):
57222         (WebCore::RenderLayer::hitTestLayer):
57223         Call the new backgroundClipRect() to get the correct clipRect.
57224         
57225         (WebCore::RenderLayer::backgroundClipRect):
57226         New method, factored out of calculateRects(), that computes the clip rect,
57227         doing the right thing for fixed position elements.
57228         
57229         (WebCore::RenderLayer::calculateRects):
57230         Call the new backgroundClipRect() method.
57231         
57232 2009-09-18  Dan Bernstein  <mitz@apple.com>
57233
57234         Reviewed by Darin Adler.
57235
57236         Fix <rdar://problem/7050773> REGRESSION (r40098) Crash at
57237         WebCore::RenderBlock::layoutBlock()
57238         https://bugs.webkit.org/show_bug.cgi?id=29498
57239
57240         Test: accessibility/nested-layout-crash.html
57241
57242         * accessibility/AccessibilityRenderObject.cpp:
57243         (WebCore::AccessibilityRenderObject::updateBackingStore): Changed to
57244             call Document::updateLayoutIgnorePendingStylesheets() instead of
57245             calling RenderObject::layoutIfNeeded(). The latter requires that
57246             there be no pending style recalc, which allows methods that call
57247             Document::updateLayout() to be called during layout without risking
57248             re-entry into layout.
57249         * accessibility/mac/AccessibilityObjectWrapper.mm:
57250         (-[AccessibilityObjectWrapper accessibilityActionNames]): Null-check
57251             m_object after calling updateBackingStore(), since style recalc may
57252             destroy the renderer, which destroys the accessibility object and
57253             detaches it from the wrapper.
57254         (-[AccessibilityObjectWrapper accessibilityAttributeNames]): Ditto.
57255         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): Ditto.
57256         (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]): Ditto.
57257         (-[AccessibilityObjectWrapper accessibilityHitTest:]): Ditto.
57258         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
57259             Ditto.
57260         (-[AccessibilityObjectWrapper accessibilityIsIgnored]): Ditto.
57261         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
57262              Ditto.
57263         (-[AccessibilityObjectWrapper accessibilityPerformPressAction]): Ditto.
57264         (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
57265             Ditto.
57266         (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
57267             Ditto.
57268         (-[AccessibilityObjectWrapper accessibilityPerformAction:]): Ditto.
57269         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
57270             Ditto.
57271         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
57272             Ditto.
57273         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]): Ditto.
57274         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
57275             Ditto.
57276         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
57277             Ditto.
57278
57279 2009-09-18  Fumitoshi Ukai  <ukai@chromium.org>
57280
57281         Reviewed by Simon Hausmann.
57282
57283         Update Qt build system for Web Socket.
57284         https://bugs.webkit.org/show_bug.cgi?id=29270
57285
57286         * WebCore.pro:
57287         * platform/network/qt/SocketStreamError.h: Added.
57288         * platform/network/qt/SocketStreamHandle.h: Added.
57289         * platform/network/qt/SocketStreamHandleSoup.cpp: Added.
57290
57291 2009-09-18  Eric Carlson  <eric.carlson@apple.com>
57292
57293         Reviewed by Darin Adler.
57294
57295         NULL check HTMLMediaElement::m_playedTimeRanges.
57296         Fix for https://bugs.webkit.org/show_bug.cgi?id=29494
57297
57298         * html/HTMLMediaElement.cpp:
57299         (WebCore::HTMLMediaElement::addPlayedRange): New. Create m_playedTimeRanges if
57300         necessary, add range specified.
57301         (WebCore::HTMLMediaElement::seek): Use addPlayedRange. 
57302         (WebCore::HTMLMediaElement::played): Use addPlayedRange. Change time comparison 
57303         to be more readable.
57304         (WebCore::HTMLMediaElement::updatePlayState): Ditto.
57305         * html/HTMLMediaElement.h:
57306
57307 2009-09-18  Sam Weinig  <sam@webkit.org>
57308
57309         Reviewed by Adele Peterson.
57310
57311         Follow up fix for https://bugs.webkit.org/show_bug.cgi?id=29276
57312         REGRESSION(r48334): WebKit crashes on file select by drag
57313
57314         Don't use Document.elementFromPoint since it returns null if the point
57315         is outside the viewport.  Instead, just hit test ourselves.
57316
57317         Test: fast/events/drag-file-crash.html
57318
57319         * page/DragController.cpp:
57320         (WebCore::elementUnderMouse):
57321         (WebCore::DragController::tryDocumentDrag):
57322         (WebCore::DragController::concludeEditDrag):
57323
57324 2009-09-18  Darin Adler  <darin@apple.com>
57325
57326         Reviewed by Sam Weinig.
57327
57328         Each wrapped Objective-C object should use a single RuntimeObjectImp
57329         https://bugs.webkit.org/show_bug.cgi?id=29351
57330         rdar://problem/7142294
57331
57332         * WebCore.base.exp: Added a newly-needed exported symbol.
57333
57334         * bindings/objc/DOMInternal.h: Eliminated unused
57335         createWrapperCacheWithIntegerKeys; it has not been needed since the
57336         RGBColor wrappers were reworked.
57337         * bindings/objc/DOMInternal.mm: Ditto.
57338
57339         * bridge/objc/objc_instance.h: Made the create function non-inline.
57340         * bridge/objc/objc_instance.mm:
57341         (createInstanceWrapperCache): Added. Creates an appropriate map table.
57342         (ObjcInstance::create): Moved here from header. Uses NSMapGet and
57343         NSMapInsert to cache the instance in a map table.
57344         (ObjcInstance::~ObjcInstance): Added a call to NSMapRemove to remove
57345         the instance from the map table.
57346
57347         * bridge/qt/qt_instance.cpp:
57348         (JSC::Bindings::QtInstance::~QtInstance): Remove unneeded code to remove
57349         the instance from cachedObjects, which no longer exists.
57350         (JSC::Bindings::QtInstance::newRuntimeObject): Renamed to overload new
57351         bottleneck. Caching is now handled by the base class.
57352
57353         * bridge/runtime.cpp:
57354         (JSC::Bindings::Instance::Instance): Initialize m_runtimeObject to 0.
57355         (JSC::Bindings::Instance::~Instance): Assert m_runtimeObject is 0.
57356         (JSC::Bindings::Instance::createRuntimeObject): Use m_runtimeObject
57357         if it's already set. Set m_runtimeObject and call addRuntimeObject
57358         if it's not.
57359         (JSC::Bindings::Instance::newRuntimeObject): Added. Virtual function,
57360         used only by createRuntimeObject.
57361         (JSC::Bindings::Instance::willDestroyRuntimeObject): Added.
57362         Calls removeRuntimeObject and then clears m_runtimeObject.
57363         (JSC::Bindings::Instance::willInvalidateRuntimeObject): Added.
57364         Clears m_runtimeObject.
57365
57366         * bridge/runtime.h: Made createRuntimeObject non-virtual. Added
57367         willDestroyRuntimeObject, willInvalidateRuntimeObject,
57368         newRuntimeObject, and m_runtimeObject.
57369
57370         * bridge/runtime_object.cpp:
57371         (JSC::RuntimeObjectImp::RuntimeObjectImp): Removed addRuntimeObject
57372         call, now handled by caller.
57373         (JSC::RuntimeObjectImp::~RuntimeObjectImp): Replaced removeRuntimeObject
57374         call with willDestroyRuntimeObject call; the latter nows calls
57375         removeRuntimeObject.
57376         (JSC::RuntimeObjectImp::invalidate): Added willInvalidateRuntimeObject
57377         call.
57378
57379         * bridge/runtime_object.h: Made invalidate non-virtual.
57380
57381 2009-09-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
57382
57383         Reviewed by Simon Hausmann.
57384
57385         Make PlatformWindow return something else than PlatformWidget
57386         https://bugs.webkit.org/show_bug.cgi?id=29085
57387
57388         Make platformWindow return a PlatformPageClient
57389         (for now typedef'ed to PlatformWidget)
57390
57391         Also, change the name of platformWindow to platformPageClient()
57392
57393         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
57394         (getPangoLayoutForAtk):
57395         * accessibility/win/AXObjectCacheWin.cpp:
57396         (WebCore::AXObjectCache::postPlatformNotification):
57397         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
57398         * loader/EmptyClients.h:
57399         (WebCore::EmptyChromeClient::platformPageClient):
57400         * page/Chrome.cpp:
57401         (WebCore::Chrome::platformPageClient):
57402         * page/Chrome.h:
57403         * page/ChromeClient.h:
57404         * page/mac/EventHandlerMac.mm:
57405         (WebCore::EventHandler::wheelEvent):
57406         (WebCore::EventHandler::currentPlatformMouseEvent):
57407         (WebCore::EventHandler::sendContextMenuEvent):
57408         (WebCore::EventHandler::eventMayStartDrag):
57409         * platform/HostWindow.h:
57410         * platform/Widget.h:
57411         * platform/gtk/PlatformScreenGtk.cpp:
57412         (WebCore::getVisual):
57413         (WebCore::screenRect):
57414         (WebCore::screenAvailableRect):
57415         * platform/gtk/PopupMenuGtk.cpp:
57416         (WebCore::PopupMenu::show):
57417         * platform/gtk/ScrollViewGtk.cpp:
57418         (WebCore::ScrollView::platformAddChild):
57419         (WebCore::ScrollView::platformRemoveChild):
57420         (WebCore::ScrollView::visibleContentRect):
57421         * platform/gtk/WidgetGtk.cpp:
57422         (WebCore::Widget::setFocus):
57423         (WebCore::Widget::setCursor):
57424         * platform/qt/PlatformScreenQt.cpp:
57425         (WebCore::screenDepth):
57426         (WebCore::screenDepthPerComponent):
57427         (WebCore::screenIsMonochrome):
57428         (WebCore::screenRect):
57429         (WebCore::screenAvailableRect):
57430         * platform/qt/PopupMenuQt.cpp:
57431         (WebCore::PopupMenu::show):
57432         * platform/qt/WidgetQt.cpp:
57433         (WebCore::Widget::setCursor):
57434         * platform/win/PlatformScreenWin.cpp:
57435         (WebCore::monitorInfoForWidget):
57436         * platform/win/PopupMenuWin.cpp:
57437         (WebCore::PopupMenu::show):
57438         (WebCore::PopupMenu::calculatePositionAndSize):
57439         (WebCore::PopupMenu::wndProc):
57440         * platform/wx/RenderThemeWx.cpp:
57441         (WebCore::nativeWindowForRenderObject):
57442         * platform/wx/ScrollbarThemeWx.cpp:
57443         (WebCore::ScrollbarThemeWx::paint):
57444         * plugins/gtk/PluginViewGtk.cpp:
57445         (WebCore::PluginView::getValue):
57446         (WebCore::PluginView::forceRedraw):
57447         (WebCore::PluginView::platformStart):
57448         * plugins/mac/PluginViewMac.cpp:
57449         (WebCore::PluginView::platformStart):
57450         * plugins/qt/PluginViewQt.cpp:
57451         (WebCore::PluginView::handleKeyboardEvent):
57452         (WebCore::PluginView::getValue):
57453         (WebCore::PluginView::platformStart):
57454         * plugins/win/PluginViewWin.cpp:
57455         (WebCore::PluginView::getValue):
57456         (WebCore::PluginView::forceRedraw):
57457         (WebCore::PluginView::platformStart):
57458
57459 2009-09-18  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
57460
57461         Reviewed by Simon Hausmann.
57462
57463         [Qt] Web inspector UI adjustments specific to the Qt platform:
57464         - Hide the close button
57465         - Hide the dock button
57466         - Disable the draggable toolbar
57467
57468         https://bugs.webkit.org/show_bug.cgi?id=29384
57469
57470         * inspector/front-end/inspector.css:
57471         * inspector/front-end/inspector.js:
57472         (WebInspector.toolbarDragStart):
57473
57474 2009-09-18  Joerg Bornemann  <joerg.bornemann@nokia.com>
57475
57476         Reviewed by Simon Hausmann.
57477
57478         QtWebKit Windows CE compile fixes
57479
57480         Exclude certain pure-WINCE specific code paths from the Qt build.
57481
57482         * platform/graphics/BitmapImage.h:
57483         * platform/graphics/FontCache.h:
57484         * platform/graphics/MediaPlayer.cpp:
57485         * platform/text/TextEncodingRegistry.cpp:
57486         (WebCore::buildBaseTextCodecMaps):
57487         (WebCore::extendTextCodecMaps):
57488         * plugins/PluginView.cpp:
57489         (WebCore::PluginView::stop): Guard this code block with NETSCAPE_PLUGIN_API as
57490         the corresponding PluginViewWndProc has the same guard in the header file.
57491
57492 2009-09-18  Steve Block  <steveblock@google.com>
57493
57494         Reviewed by Dimitri Glazkov.
57495
57496         Geolocation does not correctly handle Infinity for PositionOptions properties.
57497         https://bugs.webkit.org/show_bug.cgi?id=29099
57498
57499         * bindings/js/JSGeolocationCustom.cpp: Modified.
57500         (WebCore::createPositionOptions): Modified. If timeout or maximumAge is positive infinity, applies these values as a special case.
57501         * page/PositionOptions.h: Modified.
57502         (WebCore::PositionOptions::hasMaximumAge): Added. Determines whether the object has a maximum age.
57503         (WebCore::PositionOptions::maximumAge): Modified. Asserts that the object has a maximum age.
57504         (WebCore::PositionOptions::clearMaximumAge): Added. Clears the maximum age.
57505         (WebCore::PositionOptions::setMaximumAge): Modified. Registers that the maximum age has been set.
57506         (WebCore::PositionOptions::PositionOptions): Modified. Registers that the maximum age has been set.
57507
57508 2009-09-17  Sam Weinig  <sam@webkit.org>
57509
57510         Reviewed by Adele Peterson.
57511
57512         Fix for https://bugs.webkit.org/show_bug.cgi?id=29276
57513         REGRESSION(r48334): WebKit crashes on file select by drag
57514
57515         Document.elementFromPoint now takes point in client space, not page space.
57516
57517         * page/DragController.cpp:
57518         (WebCore::DragController::tryDocumentDrag):
57519         (WebCore::DragController::concludeEditDrag):
57520
57521 2009-09-17  Albert J. Wong  <ajwong@chromium.org>
57522
57523         Reviewed by David Levin.
57524
57525         Reimplement default media UI for Mac Chromium to match the style
57526         of the Windows and Linux versions.  Also breaks the dependency
57527         on the internal wk* functions that were previously used to
57528         render the media controller widgets.
57529         https://bugs.webkit.org/show_bug.cgi?id=29161
57530
57531         No media layout tests are currently enabled in Mac Chromium, so
57532         nothing needs rebaselineing, etc.
57533
57534         This is a recommit of r48438 with a compile fix and merges of
57535         recent changes to the file.
57536
57537         * css/mediaControlsChromium.css:
57538         * rendering/RenderThemeChromiumMac.h:
57539         * rendering/RenderThemeChromiumMac.mm:
57540         (WebCore::mediaElementParent):
57541         (WebCore::RenderThemeChromiumMac::extraMediaControlsStyleSheet):
57542         (WebCore::mediaSliderThumbImage):
57543         (WebCore::mediaVolumeSliderThumbImage):
57544         (WebCore::RenderThemeChromiumMac::paintSliderTrack):
57545         (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize):
57546         (WebCore::RenderThemeChromiumMac::paintMediaButtonInternal):
57547         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
57548         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
57549         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
57550         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack):
57551         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
57552         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb):
57553         (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground):
57554         * rendering/RenderThemeChromiumSkia.cpp:
57555         (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize):
57556
57557 2009-09-17  Brian Weinstein  <bweinstein@apple.com>
57558
57559         Reviewed by Timothy Hatcher.
57560
57561         The Console scope bar should have a divider between All and the other possible
57562         values (Errors, Warnings, Logs). It will look something like:
57563         
57564         All | Errors Warnings Logs.
57565
57566         * inspector/front-end/ConsoleView.js:
57567         (WebInspector.ConsoleView.createDividerElement):
57568         (WebInspector.ConsoleView):
57569         * inspector/front-end/inspector.css:
57570
57571 2009-09-17  Sam Weinig  <sam@webkit.org>
57572
57573         Reviewed by Mark Rowe.
57574
57575         Remove additional references to JSVoidCallback which no longer exists.
57576
57577         * DerivedSources.cpp:
57578         * WebCore.vcproj/WebCore.vcproj:
57579
57580 2009-09-17  Sam Weinig  <sam@webkit.org>
57581
57582         Reviewed by Brady Eidson.
57583
57584         Remove commented out onhashchange attribute now that it is implemented.
57585
57586         * page/DOMWindow.idl:
57587
57588 2009-09-17  Anders Carlsson  <andersca@apple.com>
57589
57590         Reviewed by Oliver Hunt.
57591
57592         <rdar://problem/7007541> 
57593         CrashTracer: 4800crashes in Safari at com.apple.WebKit â€¢ WTF::HashTableIterator...
57594         
57595         Make RuntimeObjectImp more robust against m_instance being a null (which can happen if an OOP plug-in
57596         crashes while we're calling into it).
57597         
57598         * bridge/runtime_object.cpp:
57599         (JSC::RuntimeObjectImp::RuntimeObjectImp):
57600         (JSC::RuntimeObjectImp::~RuntimeObjectImp):
57601         (JSC::RuntimeObjectImp::invalidate):
57602         (JSC::RuntimeObjectImp::fallbackObjectGetter):
57603         (JSC::RuntimeObjectImp::fieldGetter):
57604         (JSC::RuntimeObjectImp::methodGetter):
57605         (JSC::RuntimeObjectImp::getOwnPropertySlot):
57606         (JSC::RuntimeObjectImp::getOwnPropertyDescriptor):
57607         (JSC::RuntimeObjectImp::put):
57608         (JSC::RuntimeObjectImp::defaultValue):
57609         (JSC::RuntimeObjectImp::getCallData):
57610         (JSC::RuntimeObjectImp::getConstructData):
57611         (JSC::RuntimeObjectImp::getPropertyNames):
57612         * bridge/runtime_object.h:
57613         (JSC::RuntimeObjectImp::getInternalInstance):
57614
57615 2009-09-17  Yury Semikhatsky  <yurys@chromium.org>
57616
57617         Reviewed by Timothy Hatcher.
57618
57619         Wrap primitive values (as objects) in InspectorController::wrap.
57620
57621         https://bugs.webkit.org/show_bug.cgi?id=28983
57622
57623         * inspector/InspectorController.cpp:
57624         (WebCore::InspectorController::wrapObject): objects of any type will be wrapped into proxies,
57625          only object proxies will have objectId.
57626         * inspector/front-end/ConsoleView.js:
57627         (WebInspector.ConsoleView.prototype.completions): there is InjectedScript.getCompletionsi
57628          that accepts an expression and returns possible completions. This way we don't need to wrap
57629          and unwrap the completions result into a proxy object.
57630         * inspector/front-end/InjectedScript.js:
57631         (InjectedScript.getCompletions):
57632         (InjectedScript.evaluate):
57633         (InjectedScript._evaluateOn):
57634         (InjectedScript.createProxyObject):
57635         * inspector/front-end/InjectedScriptAccess.js:
57636
57637 2009-09-17  Nate Chapin  <japhet@chromium.org>
57638
57639         Reviewed by Dimitri Glazkov.
57640
57641         Wrap PageTransitionEvents properly for V8's use.
57642
57643         https://bugs.webkit.org/show_bug.cgi?id=29340
57644
57645         Fixes Chromium's failures for LayoutTests/fast/events/pageshow-pagehide.html.
57646
57647         * bindings/v8/V8DOMWrapper.cpp:
57648         (WebCore::V8DOMWrapper::convertEventToV8Object): Wrap PageTransitionEvents properly.
57649
57650 2009-09-17  Simon Fraser  <simon.fraser@apple.com>
57651
57652         Reviewed by Dave Hyatt.
57653
57654         Hardware-accelerated opacity transition on inline asserts
57655         https://bugs.webkit.org/show_bug.cgi?id=29342
57656         
57657         Remove an erroneous toRenderBox() that could be called on a RenderInline; we can just
57658         pass an empty size, because the box size is only required for transform animations.
57659
57660         Test: compositing/transitions/opacity-on-inline.html
57661
57662         * rendering/RenderLayerBacking.cpp:
57663         (WebCore::RenderLayerBacking::startTransition):
57664
57665 2009-09-17  Adam Barth  <abarth@webkit.org>
57666
57667         Reviewed by Eric Seidel.
57668
57669         [V8] OwnHandle might get a weak callback after destruction
57670         https://bugs.webkit.org/show_bug.cgi?id=29172
57671
57672         Be sure to clear out weak reference so we don't get a weak callback
57673         after we've destructed ourselves.  Also, removed some tricky methods
57674         that had no clients.
57675
57676         * bindings/v8/OwnHandle.h:
57677         (WebCore::OwnHandle::clear):
57678
57679 2009-09-17  Dimitri Glazkov  <dglazkov@chromium.org>
57680
57681         Unreviewed, build fix.
57682
57683         [V8] Partial roll out of http://trac.webkit.org/changeset/48455 to
57684         fix crashes that started happening in V8Proxy::getEnteredContext().
57685
57686         * bindings/v8/ScheduledAction.cpp:
57687         (WebCore::ScheduledAction::execute):
57688
57689 2009-09-17  Chris Fleizach  <cfleizach@apple.com>
57690
57691         Reviewed by Beth Dakin.
57692
57693         AX: labels of checkboxes should, when hit-tested, return the checkbox
57694         https://bugs.webkit.org/show_bug.cgi?id=29335
57695
57696         When an accessibility hit test is done and it hits the label of a control element,
57697         the control element should be returned instead of nothing, since the label
57698         itself is usually ignored.
57699
57700         Test: accessibility/label-for-control-hittest.html
57701
57702         * accessibility/AccessibilityObject.h:
57703         (WebCore::AccessibilityObject::correspondingControlForLabelElement):
57704         * accessibility/AccessibilityRenderObject.cpp:
57705         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
57706         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
57707         (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement):
57708         * accessibility/AccessibilityRenderObject.h:
57709
57710 2009-09-17  Avi Drissman  <avi@chromium.org>
57711
57712         Reviewed by Dimitri Glazkov, build fix.
57713
57714         Change to make RenderThemeChromiumMac compile inside of non PLATFORM(MAC).
57715         https://bugs.webkit.org/show_bug.cgi?id=29243
57716
57717         Covered by existing tests.
57718
57719         * rendering/RenderThemeChromiumMac.mm:
57720         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
57721
57722 2009-09-17  Dimitri Glazkov  <dglazkov@chromium.org>
57723
57724         Reviewed by Eric Seidel.
57725
57726         [V8] Accessing properties/methods of an object, created with document.implementation.createDocumentType
57727         creates nodes that have no document (ScriptExecutionContext), which in turn produces NULL-ref crashes.
57728         https://bugs.webkit.org/show_bug.cgi?id=26402
57729
57730         Test: fast/dom/DOMImplementation/detached-doctype.html
57731               fast/dom/doctype-event-listener-crash.html
57732
57733         * bindings/v8/V8DOMWrapper.cpp:
57734         (WebCore::V8DOMWrapper::getEventListener): Added an extra NULL-check.
57735
57736 2009-09-17  Dan Bernstein  <mitz@apple.com>
57737
57738         Reviewed by Simon Fraser.
57739
57740         FontDescription.h includes RenderStyleConstants.h, which violates layering
57741         https://bugs.webkit.org/show_bug.cgi?id=29327
57742
57743         * GNUmakefile.am: Added FontSmoothingMode.h.
57744         * WebCore.gypi: Added FontSmoothingMode.h.
57745         * WebCore.vcproj/WebCore.vcproj: Added FontSmoothingMode.h.
57746         * WebCore.xcodeproj/project.pbxproj: Added FontSmoothingMode.h and made
57747             it a private header.
57748         * css/CSSComputedStyleDeclaration.cpp:
57749         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Get the
57750             font smoothing mode via the font description.
57751         * css/CSSPrimitiveValueMappings.h: Include FontSmoothingMode.h
57752         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Updated for the rename
57753             of FontSmoothing to FontSmoothingMode.
57754         (WebCore::CSSPrimitiveValue::operator FontSmoothingMode): Ditto.
57755         * css/CSSStyleSelector.cpp:
57756         (WebCore::CSSStyleSelector::applyProperty): Get the font smoothing mode
57757             via the font description.
57758         * platform/graphics/FontDescription.h: Do not include
57759             RenderStyleConstants.h.
57760         (WebCore::FontDescription::fontSmoothing): Updated for the rename of
57761             FontSmoothing to FontSmoothingMode.
57762         (WebCore::FontDescription::setFontSmoothing): Ditto.
57763         * platform/graphics/FontSmoothingMode.h: Added.
57764         (WebCore::FontSmoothingMode): Moved the FontSmoothing enum from
57765             RenderStyleConstants here and renamed it to this.
57766         * rendering/style/RenderStyle.h:
57767         (WebCore::InheritedFlags::fontSmoothing): Removed this getter, since
57768             this can be accessed via the font description.
57769         * rendering/style/RenderStyleConstants.h: Moved the FontSmoothing enum
57770             from here to FontSmoothingMode.h.
57771
57772 2009-09-17  Kevin Ollivier  <kevino@theolliviers.com>
57773
57774         wx 2.9 build fix.
57775
57776         * platform/wx/wxcode/gtk/scrollbar_render.cpp:
57777         (wxGetGdkWindowForDC):
57778
57779 2009-09-16  Simon Fraser  <simon.fraser@apple.com>
57780
57781         Reviewed by Dan Bernstein.
57782
57783         Elements appear behind <video> when they should be in front sometimes
57784         https://bugs.webkit.org/show_bug.cgi?id=29314
57785         
57786         r45598 added logic that tests for overlap with <video> to determine when to throw
57787         a layer into compositing mode. That logic was incorrect in some cases, and this patch
57788         fixes it. When testing overlap, the layer needs to be composited iff some previous layer
57789         is composited (which adds a rect to the overlay map), and there is overlap.
57790
57791         Test: compositing/geometry/video-opacity-overlay.html
57792
57793         * rendering/RenderLayerCompositor.cpp:
57794         (WebCore::CompositingState::CompositingState):
57795         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
57796
57797 2009-09-17  Avi Drissman  <avi@google.com>
57798
57799         Reviewed by Darin Fisher.
57800
57801         Update the Chromium Mac theming files (RenderTheme and Theme) to be
57802         up-to-date.
57803         
57804         https://bugs.webkit.org/show_bug.cgi?id=29243
57805         http://crbug.com/19604
57806
57807         Covered by existing tests.
57808
57809         * WebCore.gypi:
57810         * platform/chromium/ThemeChromiumMac.h: Added.
57811         (WebCore::ThemeChromiumMac::ThemeChromiumMac):
57812         (WebCore::ThemeChromiumMac::~ThemeChromiumMac):
57813         (WebCore::ThemeChromiumMac::controlRequiresPreWhiteSpace):
57814         * platform/chromium/ThemeChromiumMac.mm: Added.
57815         (WebCore::):
57816         (WebCore::platformTheme):
57817         (WebCore::controlSizeForFont):
57818         (WebCore::sizeFromFont):
57819         (WebCore::setControlSize):
57820         (WebCore::updateStates):
57821         (WebCore::inflateRect):
57822         (WebCore::checkboxSizes):
57823         (WebCore::checkboxMargins):
57824         (WebCore::checkboxSize):
57825         (WebCore::checkbox):
57826         (WebCore::paintCheckbox):
57827         (WebCore::radioSizes):
57828         (WebCore::radioMargins):
57829         (WebCore::radioSize):
57830         (WebCore::radio):
57831         (WebCore::paintRadio):
57832         (WebCore::buttonSizes):
57833         (WebCore::buttonMargins):
57834         (WebCore::button):
57835         (WebCore::paintButton):
57836         (WebCore::ThemeChromiumMac::baselinePositionAdjustment):
57837         (WebCore::ThemeChromiumMac::controlFont):
57838         (WebCore::ThemeChromiumMac::controlSize):
57839         (WebCore::ThemeChromiumMac::minimumControlSize):
57840         (WebCore::ThemeChromiumMac::controlBorder):
57841         (WebCore::ThemeChromiumMac::controlPadding):
57842         (WebCore::ThemeChromiumMac::inflateControlPaintRect):
57843         (WebCore::ThemeChromiumMac::paint):
57844         * platform/graphics/FloatPoint.h:
57845         * platform/graphics/FloatRect.h:
57846         * platform/graphics/FloatSize.h:
57847         * platform/graphics/IntRect.h:
57848         * rendering/RenderThemeChromiumMac.h:
57849         (WebCore::RenderThemeChromiumMac::supportsControlTints):
57850         (WebCore::RenderThemeChromiumMac::scrollbarControlSizeForPart):
57851         (WebCore::RenderThemeChromiumMac::supportsSelectionForegroundColors):
57852         * rendering/RenderThemeChromiumMac.mm:
57853         (-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]):
57854         (-[RTCMFlippedView isFlipped]):
57855         (-[RTCMFlippedView currentEditor]):
57856         (WebCore::):
57857         (WebCore::FlippedView):
57858         (WebCore::RenderTheme::themeForPage):
57859         (WebCore::RenderThemeChromiumMac::platformActiveListBoxSelectionForegroundColor):
57860         (WebCore::RenderThemeChromiumMac::platformInactiveListBoxSelectionForegroundColor):
57861         (WebCore::RenderThemeChromiumMac::platformInactiveListBoxSelectionBackgroundColor):
57862         (WebCore::RenderThemeChromiumMac::systemFont):
57863         (WebCore::convertNSColorToColor):
57864         (WebCore::menuBackgroundColor):
57865         (WebCore::RenderThemeChromiumMac::systemColor):
57866         (WebCore::RenderThemeChromiumMac::isControlStyled):
57867         (WebCore::RenderThemeChromiumMac::adjustRepaintRect):
57868         (WebCore::RenderThemeChromiumMac::inflateRect):
57869         (WebCore::RenderThemeChromiumMac::convertToPaintingRect):
57870         (WebCore::RenderThemeChromiumMac::setFontFromControlSize):
57871         (WebCore::RenderThemeChromiumMac::paintTextField):
57872         (WebCore::RenderThemeChromiumMac::paintCapsLockIndicator):
57873         (WebCore::RenderThemeChromiumMac::paintTextArea):
57874         (WebCore::RenderThemeChromiumMac::paintMenuList):
57875         (WebCore::TopGradientInterpolate):
57876         (WebCore::BottomGradientInterpolate):
57877         (WebCore::MainGradientInterpolate):
57878         (WebCore::TrackGradientInterpolate):
57879         (WebCore::RenderThemeChromiumMac::paintMenuListButtonGradients):
57880         (WebCore::RenderThemeChromiumMac::paintMenuListButton):
57881         (WebCore::RenderThemeChromiumMac::popupInternalPaddingLeft):
57882         (WebCore::RenderThemeChromiumMac::popupInternalPaddingRight):
57883         (WebCore::RenderThemeChromiumMac::popupInternalPaddingTop):
57884         (WebCore::RenderThemeChromiumMac::popupInternalPaddingBottom):
57885         (WebCore::RenderThemeChromiumMac::adjustMenuListButtonStyle):
57886         (WebCore::RenderThemeChromiumMac::adjustSliderTrackStyle):
57887         (WebCore::RenderThemeChromiumMac::adjustSliderThumbStyle):
57888         (WebCore::RenderThemeChromiumMac::paintSliderThumb):
57889         (WebCore::RenderThemeChromiumMac::paintSearchField):
57890         (WebCore::RenderThemeChromiumMac::setSearchCellState):
57891         (WebCore::RenderThemeChromiumMac::adjustSearchFieldStyle):
57892         (WebCore::RenderThemeChromiumMac::paintSearchFieldCancelButton):
57893         (WebCore::RenderThemeChromiumMac::adjustSearchFieldCancelButtonStyle):
57894         (WebCore::RenderThemeChromiumMac::adjustSearchFieldDecorationStyle):
57895         (WebCore::RenderThemeChromiumMac::paintSearchFieldDecoration):
57896         (WebCore::RenderThemeChromiumMac::adjustSearchFieldResultsDecorationStyle):
57897         (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsDecoration):
57898         (WebCore::RenderThemeChromiumMac::adjustSearchFieldResultsButtonStyle):
57899         (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
57900         (WebCore::mediaControllerTheme):
57901         (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize):
57902         (WebCore::getMediaUIPartStateFlags):
57903         (WebCore::getUnzoomedRectAndAdjustCurrentContext):
57904         (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
57905         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
57906         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
57907         (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
57908         (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
57909         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
57910         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
57911         (WebCore::RenderThemeChromiumMac::paintMediaRewindButton):
57912         (WebCore::RenderThemeChromiumMac::paintMediaReturnToRealtimeButton):
57913         (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground):
57914         (WebCore::RenderThemeChromiumMac::paintMediaCurrentTime):
57915         (WebCore::RenderThemeChromiumMac::paintMediaTimeRemaining):
57916         (WebCore::RenderThemeChromiumMac::extraMediaControlsStyleSheet):
57917
57918 2009-09-16  Daniel Bates  <dbates@webkit.org>
57919
57920         Reviewed by Darin Adler.
57921
57922         https://bugs.webkit.org/show_bug.cgi?id=29306
57923         
57924         Fixes an issue where an attack that contains accented characters can
57925         bypass the XSSAuditor.
57926         
57927         XSSAuditor::decodeURL used the wrong length for the input string. 
57928         When the input string was decoded, the decoded result was truncated.
57929         Hence, XSSAuditor was comparing the source code of the script to the 
57930         truncated input parameters.
57931
57932         Test: http/tests/security/xssAuditor/img-onerror-accented-char.html
57933
57934         * page/XSSAuditor.cpp:
57935         (WebCore::XSSAuditor::decodeURL):
57936
57937 2009-09-16  Brady Eidson  <beidson@apple.com>
57938
57939         Reviewed by Sam Weinig.
57940
57941         Explore allowing pages with unload handlers into the Page Cache
57942         https://bugs.webkit.org/show_bug.cgi?id=29021
57943
57944         No new tests. (All previous tests continue to pass)
57945
57946         * loader/FrameLoader.cpp:
57947         (WebCore::FrameLoader::stopLoading): If the document is in the page cache, don't fire the unload event.
57948
57949 2009-09-16  Adam Barth  <abarth@webkit.org>
57950
57951         Reviewed by Dimitri Glazkov.
57952
57953         [V8] Teach ScheduledAction::execute about isolated worlds
57954         https://bugs.webkit.org/show_bug.cgi?id=27703
57955
57956         We now save a handle to the original context.  We use that handle to
57957         call the timeout in the right context / world.
57958
57959         Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
57960                http/tests/security/isolatedWorld/window-setTimeout-string.html
57961
57962         * bindings/v8/ScheduledAction.cpp:
57963         (WebCore::ScheduledAction::ScheduledAction):
57964         (WebCore::ScheduledAction::execute):
57965         * bindings/v8/ScheduledAction.h:
57966         (WebCore::ScheduledAction::ScheduledAction):
57967         * bindings/v8/custom/V8DOMWindowCustom.cpp:
57968         (WebCore::V8Custom::WindowSetTimeoutImpl):
57969         * bindings/v8/custom/V8WorkerContextCustom.cpp:
57970         (WebCore::SetTimeoutOrInterval):
57971
57972 2009-09-16  Adam Barth  <abarth@webkit.org>
57973
57974         Reviewed by Dimitri Glazkov.
57975
57976         [V8] Teach ScheduledAction::execute about isolated worlds
57977         https://bugs.webkit.org/show_bug.cgi?id=27703
57978
57979         We now save a handle to the original context.  We use that handle to
57980         call the timeout in the right context / world.
57981
57982         Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
57983                http/tests/security/isolatedWorld/window-setTimeout-string.html
57984
57985         * bindings/v8/ScheduledAction.cpp:
57986         (WebCore::ScheduledAction::ScheduledAction):
57987         (WebCore::ScheduledAction::execute):
57988         * bindings/v8/ScheduledAction.h:
57989         (WebCore::ScheduledAction::ScheduledAction):
57990         * bindings/v8/custom/V8DOMWindowCustom.cpp:
57991         (WebCore::V8Custom::WindowSetTimeoutImpl):
57992         * bindings/v8/custom/V8WorkerContextCustom.cpp:
57993         (WebCore::SetTimeoutOrInterval):
57994
57995 2009-09-16  Sam Weinig  <sam@webkit.org>
57996
57997         Reviewed by Anders Carlsson.
57998
57999         Add some groups to the xcode project to make the bindings/js/ group
58000         a little nicer.
58001
58002         * WebCore.xcodeproj/project.pbxproj:
58003
58004 2009-09-16  Sam Weinig  <sam@webkit.org>
58005
58006         Reviewed by Anders Carlsson.
58007
58008         Fix for https://bugs.webkit.org/show_bug.cgi?id=29320
58009         JS callback objects should store the global object
58010
58011         This just changes the callback objects to store the global object instead
58012         of the frame. A follow up patch will change them to store the 'current' 
58013         global object instead of the lexical or dynamic.
58014
58015         * DerivedSources.make: Remove unused VoidCallback.
58016         * WebCore.xcodeproj/project.pbxproj: Ditto.
58017         * bindings/js/JSCustomPositionCallback.cpp:
58018         (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
58019         (WebCore::JSCustomPositionCallback::handleEvent):
58020         * bindings/js/JSCustomPositionCallback.h:
58021         (WebCore::JSCustomPositionCallback::create):
58022         * bindings/js/JSCustomPositionErrorCallback.cpp:
58023         (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
58024         (WebCore::JSCustomPositionErrorCallback::handleEvent):
58025         * bindings/js/JSCustomPositionErrorCallback.h:
58026         (WebCore::JSCustomPositionErrorCallback::create):
58027         * bindings/js/JSCustomSQLStatementCallback.cpp:
58028         (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
58029         (WebCore::JSCustomSQLStatementCallback::handleEvent):
58030         * bindings/js/JSCustomSQLStatementCallback.h:
58031         (WebCore::JSCustomSQLStatementCallback::create):
58032         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
58033         (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
58034         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
58035         * bindings/js/JSCustomSQLStatementErrorCallback.h:
58036         (WebCore::JSCustomSQLStatementErrorCallback::create):
58037         * bindings/js/JSCustomSQLTransactionCallback.cpp:
58038         (WebCore::JSCustomSQLTransactionCallback::Data::Data):
58039         (WebCore::JSCustomSQLTransactionCallback::Data::globalObject):
58040         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
58041         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
58042         * bindings/js/JSCustomSQLTransactionCallback.h:
58043         (WebCore::JSCustomSQLTransactionCallback::create):
58044         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
58045         (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
58046         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
58047         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
58048         (WebCore::JSCustomSQLTransactionErrorCallback::create):
58049         * bindings/js/JSCustomVoidCallback.cpp:
58050         (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
58051         (WebCore::JSCustomVoidCallback::handleEvent):
58052         * bindings/js/JSCustomVoidCallback.h:
58053         (WebCore::JSCustomVoidCallback::create):
58054         * bindings/js/JSDatabaseCustom.cpp:
58055         (WebCore::JSDatabase::changeVersion):
58056         (WebCore::createTransaction):
58057         (WebCore::JSDatabase::transaction):
58058         (WebCore::JSDatabase::readTransaction):
58059         * bindings/js/JSGeolocationCustom.cpp:
58060         (WebCore::createPositionCallback):
58061         (WebCore::createPositionErrorCallback):
58062         (WebCore::JSGeolocation::getCurrentPosition):
58063         (WebCore::JSGeolocation::watchPosition):
58064         * bindings/js/JSSQLTransactionCustom.cpp:
58065         (WebCore::JSSQLTransaction::executeSql):
58066
58067 2009-09-15  Kent Tamura  <tkent@chromium.org>
58068
58069         Reviewed by Eric Seidel.
58070
58071         <input maxlength=> should restrict only values specified by users.
58072         https://bugs.webkit.org/show_bug.cgi?id=21271
58073
58074         * dom/InputElement.cpp:
58075         (WebCore::InputElement::setValueFromRenderer):
58076         (WebCore::InputElement::sanitizeValue):
58077         (WebCore::InputElement::sanitizeUserInputValue): Rename from constrainValue().
58078         (WebCore::InputElement::handleBeforeTextInsertedEvent):
58079         (WebCore::InputElement::updateValueIfNeeded):
58080         * dom/InputElement.h:
58081         * html/HTMLInputElement.cpp:
58082         (WebCore::HTMLInputElement::setInputType):
58083         (WebCore::HTMLInputElement::value):
58084         (WebCore::HTMLInputElement::setValue):
58085         (WebCore::HTMLInputElement::sanitizeValue):
58086         * html/HTMLInputElement.h:
58087         * rendering/RenderTextControlSingleLine.cpp:
58088         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
58089         * wml/WMLInputElement.cpp:
58090         (WebCore::WMLInputElement::constrainValue):
58091         * wml/WMLInputElement.h:
58092         (WebCore::WMLInputElement::sanitizeValue):
58093
58094 2009-09-16  Enrica Casucci  <enrica@apple.com>
58095
58096         Reviewed by Eric Seidel.
58097
58098         Reorganizing helper functions in htmlediting.h to group them by type of object they return/operate upon.
58099         https://bugs.webkit.org/show_bug.cgi?id=29319
58100
58101         * editing/IndentOutdentCommand.cpp:
58102         Removed implementation of isAtUnsplittableElement.
58103
58104         * editing/IndentOutdentCommand.h:
58105         Removed member function isAtUnsplittableElement, because it was not class specific and belonged logically among the helper functions.
58106
58107         * editing/htmlediting.cpp:
58108         (WebCore::isAtUnsplittableElement): added. The code was taken from IndentOutdentCommand.
58109
58110         * editing/htmlediting.h:
58111         Reordered functions to group them by type of object returned or operate upon.
58112         Added comments.
58113         Added isAtUnsplittableElement declaration.
58114
58115 2009-09-16  Geoffrey Garen  <ggaren@apple.com>
58116
58117         Reviewed by Sam Weinig and Anders Carlsson.
58118
58119         Removed some vestigial and potentially crashy code that makes consolidating
58120         event listeners hard.
58121
58122         * dom/Node.cpp:
58123         (WebCore::Node::addEventListener): No need to limit when event listeners
58124         can be added. Other EventTargets don't do this.
58125         
58126         Also, check for null when accessing document(). Technically, the JS bindings
58127         do this check for us, but let's not rely on that.
58128
58129 2009-09-16  Anders Carlsson  <andersca@apple.com>
58130
58131         Reviewed by Adam Roben.
58132
58133         <rdar://problem/7155710>
58134         HTML selects on windows cause containing window to become inactive when opened
58135         
58136         Redo the way we handle events when a popup menu is shown, based on
58137         http://blogs.msdn.com/oldnewthing/archive/2004/08/20/217684.aspx
58138         
58139         Since a non-active window can't capture the mouse, we use the owning window 
58140         (the WebView) as the capture window. We then run a recursive message pump that 
58141         forwards all mouse and keyboard events to the popup menu.
58142         
58143         * platform/PopupMenu.h:
58144         * platform/win/PopupMenuWin.cpp:
58145         (WebCore::PopupMenu::PopupMenu):
58146         (WebCore::PopupMenu::show):
58147         (WebCore::PopupMenu::hide):
58148         (WebCore::PopupMenu::wndProc):
58149
58150 2009-09-16  Dan Bernstein  <mitz@apple.com>
58151
58152         Reviewed by Ada Chan.
58153
58154         Speculative fix for
58155         <rdar://problem/6937089> Crashes at RenderWidget::destroy()
58156
58157         * rendering/RenderWidget.cpp:
58158         (WebCore::RenderWidget::destroy): Avoid calling renderArena() if node()
58159         is null. Add two assertions that can help determine how this crash
58160         happens (in particular, whether node() becomes null during destroy() or
58161         it is null before destroy() is called).
58162
58163 2009-09-16  Beth Dakin  <bdakin@apple.com>
58164
58165         Speculative build fix.
58166
58167         * css/CSSStyleSelector.cpp:
58168         (WebCore::CSSStyleSelector::applyProperty):
58169
58170 2009-09-16  Beth Dakin  <bdakin@apple.com>
58171
58172         Reviewed by Darin Adler.
58173
58174         Fix for <rdar://problem/7083741> Implement a CSS extension to 
58175         adjust sub-pixel anti-aliasing for text
58176         -and corresponding-
58177         https://bugs.webkit.org/show_bug.cgi?id=29291
58178
58179         Added tests:
58180         * fast/css/font-smoothing.html: Added.
58181         * fast/css/parsing-webkit-font-smoothing.html: Added.
58182
58183         This patch adds a new CSS property called -webkit-font-smoothing 
58184         that accepts the following as valid input: auto | none | 
58185         antialiased | subpixel-antialiased
58186
58187         Return appropriate computed style for -webkit-font-smoothing
58188         * css/CSSComputedStyleDeclaration.cpp:
58189         (WebCore::):
58190         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
58191
58192         Add a case for CSSPropertyWebkitFontSmoothing, and accept valid 
58193         input.
58194         * css/CSSParser.cpp:
58195         (WebCore::CSSParser::parseValue):
58196
58197         Add mappings for FontSmoothing to the right CSS values.
58198         * css/CSSPrimitiveValueMappings.h:
58199         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
58200         (WebCore::CSSPrimitiveValue::operator FontSmoothing):
58201
58202         Add -webkit-font-smoothing
58203         * css/CSSPropertyNames.in:
58204
58205         Set fontSmoothing on the FontDescription.
58206         * css/CSSStyleSelector.cpp:
58207         (WebCore::CSSStyleSelector::applyProperty):
58208
58209         Add antialiased and subpixel-antialiased as possible new CSS 
58210         values.
58211         * css/CSSValueKeywords.in:
58212         Store the font smoothing CSS value in the FontDescription.
58213         * platform/graphics/FontDescription.h:
58214         (WebCore::FontDescription::FontDescription):
58215         (WebCore::FontDescription::fontSmoothing):
58216         (WebCore::FontDescription::setFontSmoothing):
58217         (WebCore::FontDescription::operator==):
58218
58219         Call setShouldAntialias() and setShouldUseSmoothing() appropriately 
58220         based on the CSS fontSmoothing() value.
58221         * platform/graphics/mac/FontMac.mm:
58222         (WebCore::Font::drawGlyphs):
58223         * platform/graphics/win/FontCGWin.cpp:
58224         (WebCore::Font::drawGlyphs):
58225
58226         New function fontSmoothing()
58227         * rendering/style/RenderStyle.h:
58228         (WebCore::InheritedFlags::fontSmoothing):
58229
58230         New enum FontSmoothing.
58231         * rendering/style/RenderStyleConstants.h:
58232         (WebCore::):
58233
58234 2009-09-16  Yury Semikhatsky  <yurys@chromium.org>
58235
58236         Reviewed by Timothy Hatcher.
58237
58238         Remove style property if empty string is entered.
58239
58240         https://bugs.webkit.org/show_bug.cgi?id=29163
58241
58242         * inspector/front-end/ElementsTreeOutline.js:
58243         (WebInspector.ElementsTreeOutline.prototype._onmouseout): fixed null pointer exception
58244         * inspector/front-end/InjectedScript.js:
58245         (InjectedScript.applyStyleText): if styletext to apply is empty it will return an array to confirm the property removal
58246         * inspector/front-end/StylesSidebarPane.js:
58247         (WebInspector.StylePropertyTreeElement.prototype.):
58248         (WebInspector.StylePropertyTreeElement.prototype):
58249
58250 2009-09-16  Yury Semikhatsky  <yurys@chromium.org>
58251
58252         Reviewed by Timothy Hatcher.
58253
58254         Always reset m_implicitShorthand to false after parsing
58255         background-repeat style property otherwise properties
58256         following after it may be erroneously marked as implicit.
58257
58258         https://bugs.webkit.org/show_bug.cgi?id=28972
58259         https://bugs.webkit.org/show_bug.cgi?id=28973
58260
58261         Test: fast/backgrounds/repeat/margin-shorthand.html
58262
58263         * css/CSSParser.cpp:
58264         (WebCore::CSSParser::parseValue):
58265
58266 2009-09-16  Carol Szabo  <carol.szabo@nokia.com>
58267
58268         Reviewed by Alexey Proskuryakov.
58269
58270         Incorrect behavior of XMLHttpRequest::getAllResponseHeaders and
58271         XMLHttpRequest::getResponseHeader in the
58272         HEADERS_RECEIVED readyState.
58273         https://bugs.webkit.org/show_bug.cgi?id=29121
58274
58275         Tests: http/tests/xmlhttprequest/getAllResponseHeaders.html
58276                http/tests/xmlhttprequest/getResponseHeader.html
58277
58278         * xml/XMLHttpRequest.cpp:
58279         (WebCore::XMLHttpRequest::getAllResponseHeaders):
58280         (WebCore::XMLHttpRequest::getResponseHeader):
58281         Changed the minimum valid state from LOADING to HEADERS_RECEIVED.
58282
58283 2009-09-16  Vitaly Repeshko  <vitalyr@chromium.org>
58284
58285         Reviewed by Dimitri Glazkov.
58286
58287         [V8] Fix style violation in V8AbstractEventListener.
58288         https://bugs.webkit.org/show_bug.cgi?id=29303
58289
58290         * bindings/v8/V8AbstractEventListener.h:
58291         (WebCore::V8AbstractEventListener::operator==):
58292
58293 2009-09-16  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
58294
58295         Reviewed by Timothy Hatcher.
58296
58297         Add Watch Expression support to inspector
58298         https://bugs.webkit.org/show_bug.cgi?id=27514
58299
58300         Manual test added.
58301
58302         * English.lproj/localizedStrings.js:
58303         * WebCore.gypi:
58304         * WebCore.vcproj/WebCore.vcproj:
58305         * inspector/front-end/ConsoleView.js:
58306         (WebInspector.ConsoleView.prototype.completions):
58307         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
58308         (WebInspector.ConsoleView.prototype._enterKeyPressed):
58309         * inspector/front-end/ObjectPropertiesSection.js:
58310         (WebInspector.ObjectPropertiesSection.prototype.update.callback):
58311         (WebInspector.ObjectPropertiesSection.prototype.update):
58312         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
58313         (WebInspector.ObjectPropertiesSection.CompareProperties):
58314         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
58315         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
58316         (WebInspector.ObjectPropertyTreeElement.prototype.update):
58317         * inspector/front-end/ScriptsPanel.js:
58318         (WebInspector.ScriptsPanel):
58319         (WebInspector.ScriptsPanel.prototype.reset):
58320         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
58321         * inspector/front-end/WatchExpressionsSidebarPane.js: Added.
58322         (WebInspector.WatchExpressionsSidebarPane):
58323         (WebInspector.WatchExpressionsSidebarPane.prototype.refreshExpressions):
58324         (WebInspector.WatchExpressionsSection):
58325         (WebInspector.WatchExpressionsSection.prototype.update):
58326         (WebInspector.WatchExpressionsSection.prototype.addExpression):
58327         (WebInspector.WatchExpressionsSection.prototype.updateExpression):
58328         (WebInspector.WatchExpressionsSection.prototype.findAddedTreeElement):
58329         (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions):
58330         (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
58331         (WebInspector.WatchExpressionsSection.CompareProperties):
58332         (WebInspector.WatchExpressionTreeElement):
58333         (WebInspector.WatchExpressionTreeElement.prototype.update):
58334         (WebInspector.WatchExpressionTreeElement.prototype._deleteButtonClicked):
58335         (WebInspector.WatchExpressionTreeElement.prototype.startEditing):
58336         (WebInspector.WatchExpressionTreeElement.prototype.editingCancelled):
58337         (WebInspector.WatchExpressionTreeElement.prototype.applyExpression):
58338         * inspector/front-end/WebKit.qrc:
58339         * inspector/front-end/inspector.css:
58340         * inspector/front-end/inspector.html:
58341         * manual-tests/inspector/debugger-watch-expressions.html: Added.
58342
58343 2009-09-16  Greg Bolsinga  <bolsinga@apple.com>
58344
58345         Add ENABLE(INSPECTOR)
58346         https://bugs.webkit.org/show_bug.cgi?id=29260
58347
58348         Reviewed by David Kilzer.
58349
58350         No new tests. (No change in default behavior.)
58351
58352         * DerivedSources.make: Use new WebCore.Inspector.exp file if ENABLE_DRAG_SUPPORT.
58353         * WebCore.base.exp: Move Inspector only exports to WebCore.Inspector.exp.
58354         * WebCore.xcodeproj/project.pbxproj: Add WebCore.Inspector.exp.
58355         * bindings/js/JSDOMWindowBase.cpp: Use ENABLE(INSPECTOR) where applicable.
58356         (WebCore::JSDOMWindowBase::supportsProfiling):
58357         * bindings/js/JSInspectedObjectWrapper.cpp: Wrap entire file in ENABLE(INSPECTOR).
58358         * bindings/js/JSInspectorBackendCustom.cpp: Ditto.
58359         * bindings/js/JSInspectorCallbackWrapper.cpp: Ditto.
58360         * bindings/js/ScriptObject.cpp: Use ENABLE(INSPECTOR) where applicable.
58361         * bindings/js/ScriptObject.h: Ditto.
58362         * bindings/js/ScriptObjectQuarantine.cpp: Wrap entire file in ENABLE(INSPECTOR).
58363         * dom/Document.cpp: Use ENABLE(INSPECTOR) where applicable.
58364         (WebCore::Document::recalcStyle):
58365         (WebCore::Document::addMessage):
58366         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
58367         (WebCore::Document::scriptImported):
58368         * dom/Document.h: Ditto.
58369         * dom/Node.cpp: Ditto.
58370         (WebCore::Node::dispatchGenericEvent):
58371         * dom/ScriptExecutionContext.h: Ditto.
58372         (WebCore::):
58373         * html/HTMLDocument.cpp: Ditto.
58374         (WebCore::HTMLDocument::createTokenizer):
58375         * html/HTMLTokenizer.cpp: Ditto.
58376         (WebCore::HTMLTokenizer::write):
58377         * inspector/ConsoleMessage.cpp: Ditto.
58378         (WebCore::ConsoleMessage::ConsoleMessage):
58379         (WebCore::ConsoleMessage::isEqual):
58380         * inspector/ConsoleMessage.h: Ditto.
58381         * inspector/DOMDispatchTimelineItem.cpp: Wrap entire file in ENABLE(INSPECTOR).
58382         * inspector/InspectorBackend.cpp: Ditto.
58383         * inspector/InspectorController.cpp: Ditto.
58384         * inspector/InspectorDOMAgent.cpp: Ditto.
58385         * inspector/InspectorDOMStorageResource.cpp: Ditto.
58386         * inspector/InspectorDatabaseResource.cpp: Ditto.
58387         * inspector/InspectorFrontend.cpp: Ditto.
58388         * inspector/InspectorResource.cpp: Ditto.
58389         * inspector/InspectorTimelineAgent.cpp: Ditto.
58390         * inspector/TimelineItem.cpp: Ditto.
58391         * loader/FrameLoader.cpp: Use ENABLE(INSPECTOR) where applicable.
58392         (WebCore::FrameLoader::detachFromParent):
58393         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
58394         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
58395         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
58396         (WebCore::FrameLoader::dispatchDidCommitLoad):
58397         (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest):
58398         (WebCore::FrameLoader::dispatchWillSendRequest):
58399         (WebCore::FrameLoader::dispatchDidReceiveResponse):
58400         (WebCore::FrameLoader::dispatchDidReceiveContentLength):
58401         (WebCore::FrameLoader::dispatchDidFinishLoading):
58402         * page/Chrome.cpp: Ditto.
58403         (WebCore::Chrome::mouseDidMoveOverElement):
58404         * page/Console.cpp: Ditto.
58405         (WebCore::Console::addMessage):
58406         (WebCore::Console::count):
58407         (WebCore::Console::profile):
58408         (WebCore::Console::profileEnd):
58409         (WebCore::Console::time):
58410         (WebCore::Console::timeEnd):
58411         (WebCore::Console::group):
58412         (WebCore::Console::groupEnd):
58413         * page/ContextMenuController.cpp: Ditto.
58414         (WebCore::ContextMenuController::handleContextMenuEvent):
58415         (WebCore::ContextMenuController::contextMenuItemSelected):
58416         * page/DOMWindow.cpp: Ditto.
58417         (WebCore::DOMWindow::sessionStorage):
58418         (WebCore::DOMWindow::localStorage):
58419         * page/EventHandler.cpp: Ditto.
58420         (WebCore::EventHandler::handleMousePressEvent):
58421         * page/FrameView.cpp: Ditto.
58422         (WebCore::FrameView::layout):
58423         (WebCore::FrameView::paintContents):
58424         * page/FrameView.h: Ditto.
58425         * page/Page.cpp: Ditto.
58426         (WebCore::Page::Page):
58427         (WebCore::Page::~Page):
58428         * page/Page.h: Ditto.
58429         * platform/ContextMenu.cpp: Ditto.
58430         (WebCore::ContextMenu::checkOrEnableIfNeeded):
58431         * platform/ContextMenuItem.h: Ditto.
58432         (WebCore::):
58433         * storage/Database.cpp: Ditto.
58434         (WebCore::Database::openDatabase):
58435         * workers/WorkerContext.cpp: Ditto.
58436         (WebCore::WorkerContext::importScripts):
58437         * xml/XMLHttpRequest.cpp: Ditto.
58438         (WebCore::XMLHttpRequest::didFinishLoading):
58439
58440 2009-09-16  Greg Bolsinga  <bolsinga@apple.com>
58441
58442         Add ENABLE(CONTEXT_MENUS)
58443         https://bugs.webkit.org/show_bug.cgi?id=29225
58444
58445         Reviewed by David Kilzer.
58446
58447         No new tests. (No change in default behavior.)
58448
58449         * DerivedSources.make: Use new WebCore.ContextMenus.exp file if ENABLE_CONTEXT_MENUS.
58450         * WebCore.base.exp: Move ContextMenu only exports to WebCore.ContextMenus.exp.
58451         * WebCore.xcodeproj/project.pbxproj: Add WebCore.ContextMenus.exp.
58452         * dom/Node.cpp: Use ENABLE(CONTEXT_MENUS) where applicable.
58453         (WebCore::Node::defaultEventHandler):
58454         * loader/EmptyClients.h: Ditto.
58455         * page/ContextMenuController.cpp: Wrap entire file in ENABLE(CONTEXT_MENUS).
58456         * page/EventHandler.cpp: Use ENABLE(CONTEXT_MENUS) where applicable.
58457         * page/EventHandler.h: Ditto.
58458         * page/Page.cpp: Ditto.
58459         (WebCore::Page::Page):
58460         * page/Page.h: Ditto.
58461         * page/mac/EventHandlerMac.mm: Ditto.
58462         * page/mac/WebCoreViewFactory.h: Ditto.
58463         * platform/ContextMenu.cpp: Wrap entire file in ENABLE(CONTEXT_MENUS).
58464         * platform/LocalizedStrings.h: Use ENABLE(CONTEXT_MENUS) where applicable.
58465         * platform/mac/ContextMenuItemMac.mm: Wrap entire file in ENABLE(CONTEXT_MENUS).
58466         * platform/mac/ContextMenuMac.mm: Ditto.
58467         * platform/mac/LocalizedStringsMac.mm: Use ENABLE(CONTEXT_MENUS) where applicable.
58468         * svg/graphics/SVGImage.cpp: Ditto.
58469         (WebCore::SVGImage::dataChanged):
58470
58471 2009-09-16  Dave Hyatt  <hyatt@apple.com>
58472
58473         Reviewed by Adam Roben.
58474
58475         Clean up invalidation for repainting.  Hoist the dirty rect intersection test in ScrollViewMac up
58476         into ScrollView so that all platforms do it.
58477         
58478         Patch deferred repaints in FrameView::repaintContentRectangle to only add the visible portion of
58479         the rectangle for repainting.
58480
58481         * page/FrameView.cpp:
58482         (WebCore::FrameView::repaintContentRectangle):
58483         * platform/ScrollView.cpp:
58484         (WebCore::ScrollView::repaintContentRectangle):
58485         * platform/mac/ScrollViewMac.mm:
58486         (WebCore::ScrollView::platformRepaintContentRectangle):
58487
58488 2009-09-16  Greg Bolsinga  <bolsinga@apple.com>
58489
58490         Add ENABLE(DRAG_SUPPORT)
58491         https://bugs.webkit.org/show_bug.cgi?id=29233
58492
58493         Reviewed by David Kilzer.
58494
58495         No new tests. (No change in default behavior.)
58496
58497         * DerivedSources.make: Use new WebCore.DragSupport.exp file if ENABLE_DRAG_SUPPORT.
58498         * WebCore.base.exp: Move Drag Support only exports to WebCore.DragSupport.exp.
58499         * WebCore.xcodeproj/project.pbxproj: Add WebCore.DragSupport.exp.
58500         * dom/Clipboard.h: Use ENABLE(DRAG_SUPPORT) where applicable.
58501         * loader/EmptyClients.h: Ditto.
58502         * page/DragController.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT).
58503         * page/EventHandler.cpp: Use ENABLE(DRAG_SUPPORT) where applicable.
58504         (WebCore::EventHandler::EventHandler):
58505         (WebCore::EventHandler::clear):
58506         (WebCore::EventHandler::handleMousePressEvent):
58507         (WebCore::EventHandler::handleMouseReleaseEvent):
58508         (WebCore::EventHandler::handleMouseMoveEvent):
58509         * page/EventHandler.h: Ditto.
58510         * page/Page.cpp: Ditto.
58511         (WebCore::Page::Page):
58512         * page/Page.h: Ditto.
58513         * page/mac/DragControllerMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT).
58514         * page/mac/EventHandlerMac.mm: Use ENABLE(DRAG_SUPPORT) where applicable.
58515         (WebCore::EventHandler::passSubframeEventToSubframe):
58516         * platform/DragData.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT).
58517         * platform/DragImage.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT).
58518         * platform/mac/ClipboardMac.h: Use ENABLE(DRAG_SUPPORT) where applicable.
58519         * platform/mac/ClipboardMac.mm: Ditto.
58520         * platform/mac/DragDataMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT).
58521         * platform/mac/DragImageMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT).
58522         * rendering/RenderLayer.cpp: Use ENABLE(DRAG_SUPPORT) where applicable.
58523         (WebCore::RenderLayer::autoscroll):
58524         * rendering/RenderObject.cpp: Ditto.
58525         * rendering/RenderObject.h: Ditto.
58526         * svg/graphics/SVGImage.cpp: Ditto.
58527         (WebCore::SVGImage::dataChanged):
58528
58529 2009-09-16  Kevin Ollivier  <kevino@theolliviers.com>
58530
58531         wxMSW build fix after adding support for high resolution times in Win.
58532
58533         * page/Settings.cpp:
58534         * page/Settings.h:
58535
58536 2009-09-16  Vitaly Repeshko  <vitalyr@chromium.org>
58537
58538         Reviewed by Dimitri Glazkov.
58539
58540         [V8] Added operator==() to event listeners. This fixes V8 bindings
58541         build broken in http://trac.webkit.org/changeset/48402.
58542         https://bugs.webkit.org/show_bug.cgi?id=29298
58543
58544         * bindings/v8/V8AbstractEventListener.cpp:
58545         (WebCore::V8AbstractEventListener::V8AbstractEventListener): Now
58546         uses JSEventListenerType.
58547         * bindings/v8/V8AbstractEventListener.h:
58548         (WebCore::V8AbstractEventListener::operator==): Only compares
58549         pointers since we create at most one wrapper for a JS object.
58550
58551 2009-09-16  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
58552
58553         Reviewed by Xan Lopez.
58554
58555         [GTK] Crash when visiting http://flipper.googlelabs.com/
58556         https://bugs.webkit.org/show_bug.cgi?id=29293
58557
58558         Check type for being null or empty before looking it up in the
58559         hash of supported types.
58560
58561         Tested by http/tests/loading/redirect-with-no-location-crash.html
58562
58563         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
58564         (WebCore::MediaPlayerPrivate::supportsType):
58565
58566 2009-09-15  Geoffrey Garen  <ggaren@apple.com>
58567
58568         Reviewed by Sam Weinig.
58569         
58570         Removed the notion of "disconnected nodes with event listeners" because
58571         it was vestigial. The reference cycle it tried to solve was solved another
58572         way in https://bugs.webkit.org/show_bug.cgi?id=21260.
58573
58574         * dom/Document.cpp:
58575         (WebCore::Document::removeAllEventListeners):
58576         * dom/Document.h:
58577         * dom/Node.cpp:
58578         (WebCore::Node::~Node):
58579         (WebCore::Node::insertedIntoDocument):
58580         (WebCore::Node::removedFromDocument):
58581         (WebCore::Node::willMoveToNewOwnerDocument):
58582         (WebCore::Node::didMoveToNewOwnerDocument):
58583         (WebCore::Node::addEventListener):
58584         (WebCore::Node::removeEventListener):
58585         (WebCore::Node::clearAttributeEventListener):
58586
58587 2009-09-15  Chris Fleizach  <cfleizach@apple.com>
58588
58589         Reviewed by Beth Dakin.
58590
58591         WAI-ARIA: add support for ranges, including the progressbar, slider, and spinbutton roles
58592         https://bugs.webkit.org/show_bug.cgi?id=28841
58593
58594         Allow certain ARIA roles to change value with AXIncrement and AXDecrement. 
58595         Consolidate increment/decrement/changeValue methods. 
58596
58597         Test: accessibility/aria-slider-value-change.html
58598
58599         * accessibility/AccessibilityObject.cpp:
58600         * accessibility/AccessibilityRenderObject.cpp:
58601         (WebCore::AccessibilityRenderObject::increment):
58602         (WebCore::AccessibilityRenderObject::decrement):
58603         (WebCore::AccessibilityRenderObject::changeValueByPercent):
58604         (WebCore::AccessibilityRenderObject::setValue):
58605         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
58606         * accessibility/AccessibilityRenderObject.h:
58607         * accessibility/AccessibilitySlider.cpp:
58608         * accessibility/AccessibilitySlider.h:
58609         * dom/Element.cpp:
58610         (WebCore::Element::updateAfterAttributeChanged):
58611
58612 2009-09-15  Geoffrey Garen  <ggaren@apple.com>
58613
58614         Reviewed by Sam Weinig.
58615
58616         Removed the jsEventListeners set from JSDOMGlobalObject, to simplify
58617         creation and destruction of JSDOMGlobalObject and event listeners.
58618         
58619         Added an abstract operator==() to EventListener, to replace the
58620         jsEventListeners set's role in determining if two event listeners are
58621         equal from the DOM's perspective.
58622         
58623         Added a type field to EventListener, and casting operations, to support
58624         operator==() and other abstract operations.
58625
58626         * WebCore.xcodeproj/project.pbxproj:
58627         * bindings/js/JSAbstractWorkerCustom.cpp:
58628         (WebCore::JSAbstractWorker::addEventListener):
58629         (WebCore::JSAbstractWorker::removeEventListener):
58630         * bindings/js/JSDOMApplicationCacheCustom.cpp:
58631         (WebCore::JSDOMApplicationCache::addEventListener):
58632         (WebCore::JSDOMApplicationCache::removeEventListener):
58633         * bindings/js/JSDOMGlobalObject.cpp:
58634         * bindings/js/JSDOMGlobalObject.h:
58635         * bindings/js/JSDOMWindowCustom.cpp:
58636         (WebCore::JSDOMWindow::addEventListener):
58637         (WebCore::JSDOMWindow::removeEventListener):
58638         * bindings/js/JSDesktopNotificationsCustom.cpp:
58639         (WebCore::JSNotification::addEventListener):
58640         (WebCore::):
58641         * bindings/js/JSEventListener.cpp:
58642         (WebCore::JSEventListener::JSEventListener):
58643         (WebCore::JSEventListener::~JSEventListener):
58644         (WebCore::JSEventListener::markJSFunction):
58645         (WebCore::JSEventListener::handleEvent):
58646         (WebCore::JSEventListener::reportError):
58647         (WebCore::JSEventListener::operator==):
58648         * bindings/js/JSEventListener.h:
58649         (WebCore::JSEventListener::cast):
58650         * bindings/js/JSEventSourceCustom.cpp:
58651         (WebCore::JSEventSource::addEventListener):
58652         (WebCore::JSEventSource::removeEventListener):
58653         * bindings/js/JSMessagePortCustom.cpp:
58654         (WebCore::JSMessagePort::addEventListener):
58655         (WebCore::JSMessagePort::removeEventListener):
58656         * bindings/js/JSNodeCustom.cpp:
58657         (WebCore::JSNode::addEventListener):
58658         (WebCore::JSNode::removeEventListener):
58659         * bindings/js/JSSVGElementInstanceCustom.cpp:
58660         (WebCore::JSSVGElementInstance::addEventListener):
58661         (WebCore::JSSVGElementInstance::removeEventListener):
58662         * bindings/js/JSWorkerContextCustom.cpp:
58663         (WebCore::JSWorkerContext::addEventListener):
58664         (WebCore::JSWorkerContext::removeEventListener):
58665         * bindings/js/JSXMLHttpRequestCustom.cpp:
58666         (WebCore::JSXMLHttpRequest::addEventListener):
58667         (WebCore::JSXMLHttpRequest::removeEventListener):
58668         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
58669         (WebCore::JSXMLHttpRequestUpload::addEventListener):
58670         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
58671         * bindings/objc/ObjCEventListener.h:
58672         (WebCore::ObjCEventListener::cast):
58673         * bindings/objc/ObjCEventListener.mm:
58674         (WebCore::ObjCEventListener::ObjCEventListener):
58675         (WebCore::ObjCEventListener::operator==):
58676         * dom/EventListener.h:
58677         (WebCore::EventListener::):
58678         (WebCore::EventListener::type):
58679         (WebCore::EventListener::EventListener):
58680         * dom/MessagePort.cpp:
58681         (WebCore::MessagePort::addEventListener):
58682         (WebCore::MessagePort::removeEventListener):
58683         * dom/Node.cpp:
58684         (WebCore::Node::removeEventListener):
58685         * inspector/InspectorDOMAgent.cpp:
58686         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
58687         (WebCore::InspectorDOMAgent::mainFrameDocument):
58688         (WebCore::InspectorDOMAgent::operator==):
58689         * inspector/InspectorDOMAgent.h:
58690         (WebCore::InspectorDOMAgent::cast):
58691         * loader/ImageDocument.cpp:
58692         (WebCore::ImageEventListener::cast):
58693         (WebCore::ImageEventListener::ImageEventListener):
58694         (WebCore::ImageEventListener::operator==):
58695         * loader/appcache/DOMApplicationCache.cpp:
58696         (WebCore::DOMApplicationCache::addEventListener):
58697         (WebCore::DOMApplicationCache::removeEventListener):
58698         * notifications/Notification.cpp:
58699         (WebCore::Notification::removeEventListener):
58700         * page/DOMWindow.cpp:
58701         (WebCore::DOMWindow::removeEventListener):
58702         * page/EventSource.cpp:
58703         (WebCore::EventSource::addEventListener):
58704         (WebCore::EventSource::removeEventListener):
58705         * svg/animation/SVGSMILElement.cpp:
58706         (WebCore::ConditionEventListener::cast):
58707         (WebCore::ConditionEventListener::ConditionEventListener):
58708         (WebCore::ConditionEventListener::operator==):
58709         (WebCore::ConditionEventListener::handleEvent):
58710         * workers/AbstractWorker.cpp:
58711         (WebCore::AbstractWorker::addEventListener):
58712         (WebCore::AbstractWorker::removeEventListener):
58713         * workers/WorkerContext.cpp:
58714         (WebCore::WorkerContext::addEventListener):
58715         (WebCore::WorkerContext::removeEventListener):
58716         * xml/XMLHttpRequest.cpp:
58717         (WebCore::XMLHttpRequest::addEventListener):
58718         (WebCore::XMLHttpRequest::removeEventListener):
58719         * xml/XMLHttpRequestUpload.cpp:
58720         (WebCore::XMLHttpRequestUpload::addEventListener):
58721         (WebCore::XMLHttpRequestUpload::removeEventListener):
58722
58723 2009-09-15  Alex Milowski  <alex@milowski.com>
58724
58725         Reviewed by Tor Arne Vestbø.
58726
58727         Added ENABLE_MATHML to feature defines
58728
58729         * Configurations/FeatureDefines.xcconfig:
58730
58731 2009-09-14  Andrew Richards  <randrew@gmail.com>
58732
58733         Reviewed by Sam Weinig.
58734
58735         Document.elementFromPoint() and Document.caretRangeFromPoint() erroneously returning null at points visible only after scrolling.
58736         https://bugs.webkit.org/show_bug.cgi?id=29245
58737
58738         Use visibleContentRect() instead of boundsRect() when checking hit point bounds on viewport.
58739
58740         * dom/Document.cpp:
58741         (WebCore::Document::elementFromPoint):
58742         (WebCore::Document::caretRangeFromPoint):
58743
58744 2009-09-15  Jungshik Shin  <jshin@chromium.org>
58745
58746         Reviewed by Eric Seidel
58747
58748         http://bugs.webkit.org/show_bug.cgi?id=26660
58749
58750         Chromium Windows: When rotated, the baseline for a span of complex
58751         script is completely misaligned with that of the adjacent 
58752         simple script text. It's fixed by not applying the baseline offset for
58753         the Skia code path.
58754
58755         Test: transforms/2d/hindi-rotated.html
58756
58757         * platform/graphics/chromium/UniscribeHelper.cpp:
58758         (WebCore::UniscribeHelper::draw):
58759
58760 2009-09-15  Anders Carlsson  <andersca@apple.com>
58761
58762         Reviewed by Adam Roben.
58763
58764         Pass the PopupMenu pointer to CreateWindowEx and then get it from the LPCREATESTRUCT in
58765         the WM_CREATE handler. This way we don't have to first create an zero size window and then size it.
58766         
58767         * platform/win/PopupMenuWin.cpp:
58768         (WebCore::PopupMenu::show):
58769         (WebCore::PopupMenu::PopupMenuWndProc):
58770
58771 2009-09-15  Drew Wilson  <atwilson@google.com>
58772
58773         Reviewed by Darin Adler.
58774
58775         MessageEvent should not be cancelable by default
58776         https://bugs.webkit.org/show_bug.cgi?id=27846
58777
58778         * dom/MessageEvent.cpp:
58779         (WebCore::MessageEvent::MessageEvent):
58780         Changed constructor to set cancelable=false by default, per the HTML5 spec.
58781
58782 2009-09-15  Charles Wei  <charles.wei@torchmobile.com.cn>
58783
58784         Reviewed by George Staikos.
58785
58786         Fix SVG path parsing error if a command starts with dot '.'
58787         https://bugs.webkit.org/show_bug.cgi?id=29123
58788
58789         * svg/SVGParserUtilities.cpp:
58790         (WebCore::SVGPathParser::parseSVG):
58791
58792 2009-09-15  Alexander Pavlov  <apavlov@chromium.org>
58793
58794         Reviewed by Timothy Hatcher.
58795
58796         Implement conditional breakpoints in the Web Inspector frontend.
58797         https://bugs.webkit.org/show_bug.cgi?id=28908
58798
58799         * English.lproj/localizedStrings.js:
58800         * WebCore.gypi:
58801         * WebCore.vcproj/WebCore.vcproj:
58802         * inspector/front-end/Breakpoint.js:
58803         (WebInspector.Breakpoint.prototype.set condition):
58804         * inspector/front-end/Popup.js: Added.
58805         (WebInspector.Popup):
58806         (WebInspector.Popup.prototype.show):
58807         (WebInspector.Popup.prototype.hide):
58808         (WebInspector.Popup.prototype.get visible):
58809         (WebInspector.Popup.prototype.set element):
58810         (WebInspector.Popup.prototype.get element):
58811         (WebInspector.Popup.prototype.positionElement):
58812         (WebInspector.Popup.prototype.set anchor):
58813         (WebInspector.Popup.prototype.get anchor):
58814         (WebInspector.Popup.prototype.set autoHide):
58815         (WebInspector.Popup.prototype._checkNotVisible):
58816         (WebInspector.Popup.prototype._keyEventHandler):
58817         (WebInspector.Popup.prototype._mouseDownEventHandler):
58818         * inspector/front-end/SourceFrame.js:
58819         (WebInspector.SourceFrame.prototype.revealLine):
58820         (WebInspector.SourceFrame.prototype._loaded):
58821         (WebInspector.SourceFrame.prototype._documentContextMenu):
58822         (WebInspector.SourceFrame.prototype._documentMouseDown):
58823         (WebInspector.SourceFrame.prototype._editBreakpointCondition.committed):
58824         (WebInspector.SourceFrame.prototype._editBreakpointCondition.dismissed):
58825         (WebInspector.SourceFrame.prototype._editBreakpointCondition):
58826         (WebInspector.SourceFrame.prototype._showBreakpointConditionPopup):
58827         (WebInspector.SourceFrame.prototype._createPopupElement):
58828         (WebInspector.SourceFrame.prototype._addBreakpointToSource):
58829         (WebInspector.SourceFrame.prototype._removeBreakpointFromSource):
58830         (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded.drawBreakpoint):
58831         (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded):
58832         * inspector/front-end/WebKit.qrc:
58833         * inspector/front-end/inspector.html:
58834         * inspector/front-end/inspector.js:
58835         (WebInspector.set currentFocusElement):
58836         (WebInspector.set currentPanel):
58837         (WebInspector.loaded):
58838         (WebInspector.contextMenu):
58839         (WebInspector.elementDragStart):
58840         (WebInspector.updateResource):
58841         (WebInspector.drawLoadingPieChart):
58842         (WebInspector.linkifyURLAsNode):
58843         (WebInspector.startEditing.getContent):
58844         (WebInspector.startEditing.editingCancelled):
58845         (WebInspector.startEditing.editingCommitted):
58846         * inspector/front-end/utilities.js:
58847         (Element.prototype.positionAt):
58848         (Element.prototype.offsetRelativeToWindow):
58849
58850 2009-09-14  Brady Eidson  <beidson@apple.com>
58851
58852         Reviewed by Darin Adler.
58853
58854         Page cache should support pages with unload handlers as an experiment.
58855         <rdar://problem/7196485> and https://bugs.webkit.org/show_bug.cgi?id=29021
58856
58857         For the experiment, only allow pages with unload handlers into the Page Cache on
58858         Mac and Windows.
58859
58860         * loader/FrameLoader.cpp:
58861         (WebCore::FrameLoader::canCachePageContainingThisFrame):
58862         (WebCore::FrameLoader::logCanCacheFrameDecision):
58863
58864 2009-09-14  Simon Fraser  <simon.fraser@apple.com>
58865
58866         Fix the change in r48376 to do a null-check to fix a crashing test.
58867
58868         * dom/SelectElement.cpp:
58869         (WebCore::SelectElement::menuListDefaultEventHandler):
58870
58871 2009-09-14  Simon Fraser  <simon.fraser@apple.com>
58872
58873         Reviewed by Dan Bernstein.
58874
58875         <rdar://problem/7047282> Safari crashes at WebCore::RenderMenuList::adjustInnerStyle() 436
58876         
58877         Avoid a crash when a mouse event handler on a <select> changes the select from a popup
58878         to a list (by setting the 'size' property) inside the event handler.
58879
58880         Test: fast/forms/select-change-popup-to-listbox-in-event-handler.html
58881
58882         * dom/SelectElement.cpp:
58883         (WebCore::SelectElement::menuListDefaultEventHandler):
58884
58885 2009-09-14  Anders Carlsson  <andersca@apple.com>
58886
58887         Reviewed by Jon Honeycutt.
58888
58889         More PopupMenu cleanup.
58890         
58891         * platform/PopupMenu.h:
58892         * platform/win/PopupMenuWin.cpp:
58893         (WebCore::PopupMenu::show):
58894         Call registerClass.
58895         
58896         (WebCore::PopupMenu::registerClass):
58897         Make this a private static member function so it can refer to PopupMenuWndProc.
58898         
58899         (WebCore::PopupMenu::PopupMenuWndProc):
58900         Try to get the PopupMenu and call its wndProc member function.
58901         
58902         (WebCore::PopupMenu::wndProc):
58903         Make this a member function.
58904
58905 2009-09-14  Brady Eidson  <beidson@apple.com>
58906
58907         Not reviewed, maybe should've been:
58908
58909         Cleaning up more Windows-specific fallout from the fix for:
58910         <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160
58911
58912         * platform/network/cf/ResourceHandleCFNet.cpp:
58913         (WebCore::WebCoreSynchronousLoader::load): Don't allow empty CFStrings as the stored credentials,
58914           as related checks all look at nullity when they really mean to be looking for emptiness. 
58915
58916 2009-09-14  Anders Carlsson  <andersca@apple.com>
58917
58918         Speculative Qt build fix.
58919         
58920         * platform/qt/QWebPopup.cpp:
58921         (WebCore::QWebPopup::hidePopup):
58922
58923 2009-09-14  Dirk Pranke  <dpranke@chromium.org>
58924
58925         Reviewed by Darin Fisher.
58926
58927         Fix RenderThemeChromiumWin::determineClassicState so that classic_state
58928         matches the state values (and you get a single classic_state value
58929         for a given {part,state} value. This change will be tested by a 
58930         chromium patch that will land after this.
58931
58932         This will be tested by code landing downstream on Chromium.org; the
58933         code does not execute on webkit.org.
58934
58935         * rendering/RenderThemeChromiumWin.cpp:
58936         (WebCore::RenderThemeChromiumWin::determineClassicState):
58937         (WebCore::RenderThemeChromiumWin::getThemeData):
58938
58939 2009-09-14  Anders Carlsson  <andersca@apple.com>
58940
58941         Reviewed by Adam Roben.
58942
58943         https://bugs.webkit.org/show_bug.cgi?id=29138
58944         Simplify popup menu handling.
58945
58946         * platform/PopupMenuClient.h:
58947         Rename hidePopup to popupDidHide.
58948         
58949         * platform/chromium/PopupMenuChromium.cpp:
58950         (WebCore::PopupListBox::handleKeyEvent):        
58951         (WebCore::PopupListBox::abandon):
58952         (WebCore::PopupListBox::acceptIndex):
58953         Call popupDidHide instead of hidePopup.
58954         
58955         * platform/gtk/PopupMenuGtk.cpp:
58956         (WebCore::PopupMenu::menuUnmapped):
58957         Ditto.
58958         
58959         * platform/mac/PopupMenuMac.mm:
58960         (WebCore::PopupMenu::show):
58961         Ditto.
58962         
58963         * platform/win/PopupMenuWin.cpp:
58964         (WebCore::PopupMenu::hide):
58965         Call popupDidHide.
58966         
58967         (WebCore::PopupWndProc):
58968         Call PopupMenu::hide.
58969         
58970         * platform/wx/PopupMenuWx.cpp:
58971         (WebCore::PopupMenu::OnMenuItemSelected):
58972         Call popupDidHide.
58973         
58974         * rendering/RenderMenuList.cpp:
58975         (WebCore::RenderMenuList::hidePopup):
58976         (WebCore::RenderMenuList::popupDidHide):
58977         * rendering/RenderMenuList.h:
58978         Set the "popup is visible" flag in popupDidHide.
58979         
58980         * rendering/RenderTextControlSingleLine.cpp:
58981         (WebCore::RenderTextControlSingleLine::hidePopup):
58982         (WebCore::RenderTextControlSingleLine::popupDidHide):
58983         * rendering/RenderTextControlSingleLine.h:
58984         Ditto.
58985
58986 2009-09-14  Anders Carlsson  <andersca@apple.com>
58987
58988         Reviewed by David Hyatt.
58989
58990         - Fix <rdar://problem/7182275>.
58991
58992         Make sure that the newly created scrollbar's style is up to date.
58993         
58994         * platform/win/PopupMenuWin.cpp:
58995         (WebCore::PopupMenu::~PopupMenu):
58996         Call setParent so that the scrollbar's parts are torn down correctly.
58997         
58998         (WebCore::PopupMenu::show):
58999         Call styleChanged.
59000
59001 2009-09-11  Jon Honeycutt  <jhoneycutt@apple.com>
59002
59003         <rdar://problem/7197644> WebKit should broadcast an MSAA event when
59004         jumping to a named anchor
59005
59006         https://bugs.webkit.org/show_bug.cgi?id=28899
59007
59008         Reviewed by Adam Roben.
59009
59010         * accessibility/AXObjectCache.h:
59011         (WebCore::AXObjectCache::):
59012         Added declaration for handleScrolledToAnchor(). Added a new entry to
59013         the enum of accessibility notifications.
59014
59015         * accessibility/AccessibilityObject.cpp:
59016         (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
59017         Code moved from AccessibilityRenderObject::internalLinkElement() and
59018         refactored slightly; walks the tree until it finds a Node (with a
59019         renderer) whose accessibility is not ignored.
59020
59021         * accessibility/AccessibilityObject.h:
59022         Added a declaration for firstAccessibleObjectFromNode().
59023
59024         * accessibility/AccessibilityRenderObject.cpp:
59025         (WebCore::AccessibilityRenderObject::internalLinkElement):
59026         Code moved to AccessibilityObject::firstAccessibleObjectFromNode().
59027
59028         * accessibility/chromium/AXObjectCacheChromium.cpp:
59029         (WebCore::AXObjectCache::handleScrolledToAnchor):
59030         Stubbed.
59031
59032         * accessibility/gtk/AXObjectCacheAtk.cpp:
59033         (WebCore::AXObjectCache::handleScrolledToAnchor):
59034         Stubbed.
59035
59036         * accessibility/mac/AXObjectCacheMac.mm:
59037         (WebCore::AXObjectCache::postPlatformNotification):
59038         Add a default case that returns early for notifications that Mac
59039         doesn't handle.
59040         (WebCore::AXObjectCache::handleScrolledToAnchor):
59041         Stubbed.
59042
59043         * accessibility/win/AXObjectCacheWin.cpp:
59044         (WebCore::AXObjectCache::handleScrolledToAnchor):
59045         Post an AXScrolledToAnchor notification for the first accessible from
59046         the anchor Node.
59047         (WebCore::AXObjectCache::postPlatformNotification):
59048         If the notification is AXFocusedUIElementChanged, fire an
59049         EVENT_OBJECT_FOCUS. If the notification is AXScrolledToAnchor, fire
59050         EVENT_SYSTEM_SCROLLINGSTART, matching Firefox.
59051         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
59052         Code moved to postPlatformNotification().
59053
59054         * page/FrameView.cpp:
59055         (WebCore::FrameView::scrollToAnchor):
59056         Call AXObjectCache::handleScrolledToAnchor().
59057
59058 2009-09-14  Anthony Ricaud  <rik@webkit.org>
59059
59060         Reviewed by Timothy Hatcher.
59061
59062         Cookies are not inspectable after reloading a page
59063         https://bugs.webkit.org/show_bug.cgi?id=29222
59064
59065         Create the cookieTreeElement on initialization instead of when the view is shown.
59066         Reset the selected element of the sidebar on reset.
59067
59068         * inspector/front-end/StoragePanel.js:
59069         (WebInspector.StoragePanel):
59070         (WebInspector.StoragePanel.prototype.show):
59071         (WebInspector.StoragePanel.prototype.reset):
59072
59073
59074 2009-09-14  Brady Eidson  <beidson@apple.com>
59075
59076         Windows build fix.
59077
59078         * platform/network/cf/ResourceHandleCFNet.cpp:
59079         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
59080         (WebCore::ResourceHandle::receivedCredential):
59081         (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
59082         (WebCore::WebCoreSynchronousLoader::load):
59083
59084 2009-09-14  Brady Eidson  <beidson@apple.com>
59085
59086         Reviewed by Alexey Proskuryakov.
59087
59088         Safari 4 cannot be used to update firmware on Linksys routers.
59089         <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160
59090
59091         In http://trac.webkit.org/changeset/42483, we disabled CFNetwork's session credential storage and 
59092         implemented our own in WebCore.
59093
59094         One feature we lost is that CFNetwork would automatically send previously authenticated credentials
59095         with new connections when the paths match, as allowed by RFC 2617 for HTTP Basic and Digest Authentication.  
59096
59097         Even though it's optional for User Agents to do this, (some?) Linksys routers rely on this behavior for
59098         HTTP Basic Authentication.  So now WebCore's CredentialStorage will track URL paths for Basic credentials.
59099
59100         We're not making this enhancement for Digest at this time, since we don't know of anything that broke
59101         due to the change in Digest behavior.
59102
59103         Test: http/tests/loading/basic-credentials-sent-automatically.html
59104               http/tests/loading/basic-auth-resend-wrong-credentials.html
59105
59106         * WebCore.base.exp:
59107         * WebCore.vcproj/WebCore.vcproj:
59108         * WebCore.xcodeproj/project.pbxproj:
59109
59110         * platform/network/Credential.cpp:
59111         (WebCore::Credential::isEmpty):
59112         * platform/network/Credential.h:
59113
59114         Add a slightly more full featured CredentialStore that will track URL paths a credential belongs to:
59115         * platform/network/CredentialStorage.cpp: Added.
59116         (WebCore::protectionSpaceToCredentialMap):
59117         (WebCore::originToDefaultCredentialMap):
59118         (WebCore::originStringFromURL):
59119         (WebCore::CredentialStorage::set):
59120         (WebCore::CredentialStorage::get):
59121         (WebCore::CredentialStorage::getDefaultAuthenticationCredential):
59122         * platform/network/CredentialStorage.h: Added.
59123
59124         Allow ProtectionSpace to be a hash key:
59125         * platform/network/ProtectionSpace.cpp:
59126         (WebCore::ProtectionSpace::ProtectionSpace):
59127         * platform/network/ProtectionSpace.h:
59128         (WebCore::ProtectionSpace::ProtectionSpace):
59129         (WebCore::ProtectionSpace::isHashTableDeletedValue):
59130         * platform/network/ProtectionSpaceHash.h: Added.
59131         (WebCore::ProtectionSpaceHash::hash):
59132         (WebCore::ProtectionSpaceHash::equal):
59133
59134         Allow ResourceHandles to remember the initial credential they used:
59135         * platform/network/ResourceHandleInternal.h:
59136
59137         Allow mutable ResourceRequests to update their platform object if HTTP header fields change:
59138         * platform/network/ResourceRequestBase.cpp:
59139         (WebCore::ResourceRequestBase::addHTTPHeaderField):
59140
59141         Remove WebCoreCredentialStorage:
59142         * platform/network/cf/AuthenticationCF.cpp:
59143         * platform/network/cf/AuthenticationCF.h:
59144         * platform/network/mac/AuthenticationMac.h:
59145         * platform/network/mac/AuthenticationMac.mm:
59146
59147         Change ResourceHandleCFNet to try to use stored credentials on new connections, if appropriate:
59148         * platform/network/cf/ResourceHandleCFNet.cpp:
59149         (WebCore::ResourceHandle::start):
59150         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Only try the ProtectionSpace key'ed
59151           Credential if it does not match the initially used Credential.
59152         (WebCore::ResourceHandle::receivedCredential):
59153         (WebCore::WebCoreSynchronousLoader::didReceiveChallenge): Only try the ProtectionSpace key'ed
59154           Credential if it does not match the initially used Credential.
59155         (WebCore::WebCoreSynchronousLoader::load):
59156
59157         Change ResourceHandleMac to try to use stored credentials on new connections, if appropriate:
59158         * platform/network/mac/ResourceHandleMac.mm:
59159         (WebCore::ResourceHandle::start):
59160         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Only try the ProtectionSpace key'ed
59161           Credential if it does not match the initially used Credential.
59162         (WebCore::ResourceHandle::receivedCredential):
59163         (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Only try the 
59164           ProtectionSpace key'ed Credential if it does not match the initially used Credential.
59165         (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]):
59166
59167         Add base64-ability to CString:
59168         * platform/text/CString.cpp:
59169         (WebCore::CStringBuffer::base64Encode):
59170         (WebCore::CString::base64Encode):
59171         * platform/text/CString.h:
59172         (WebCore::CStringBuffer::create):
59173         (WebCore::CStringBuffer::CStringBuffer):
59174
59175 2009-09-12  Mark Rowe  <mrowe@apple.com>
59176
59177         Reviewed by Dan Bernstein.
59178
59179         Fix <rdar://problem/6954546> Crashes in WebCore::RenderPart::setWidget below FrameLoader::loadPlugin.
59180
59181         The calls to FrameLoader::requestObject within RenderPartObject::updateWidget can result in a plug-in
59182         being initialized.  This can run cause arbitrary JavaScript to run and may result in the RenderPartObject
59183         being detached from the render tree and destroyed, causing a crash like <rdar://problem/6954546>.
59184
59185         No test is possible until <rdar://problem/7090444> is fixed.
59186
59187         * rendering/RenderPartObject.cpp:
59188         (WebCore::RenderPartObject::updateWidget): Ensure that we stay alive for the duration of plug-in initialization.
59189
59190 2009-09-12  Mark Rowe  <mrowe@apple.com>
59191
59192         Reviewed by Dan Bernstein.
59193
59194         Add RenderWidgetProtector to simplify protecting a RenderWidget from destruction for the
59195         duration of a function.  Deploy it within RenderWidget.
59196
59197         * rendering/RenderWidget.cpp:
59198         (WebCore::RenderWidget::setWidgetGeometry):
59199         (WebCore::RenderWidget::updateWidgetPosition): Use a RefPtr rather than explicitly
59200         ref'ing and deref'ing the node.
59201         * rendering/RenderWidget.h:
59202         * rendering/RenderWidgetProtector.h:
59203         (WebCore::RenderWidgetProtector::RenderWidgetProtector):
59204         (WebCore::RenderWidgetProtector::~RenderWidgetProtector):
59205
59206 2009-09-14  Cameron McCormack  <cam@mcc.id.au>
59207
59208         Reviewed by Eric Seidel.
59209
59210         CodeGenerator.pm needs some cleaning up
59211         https://bugs.webkit.org/show_bug.cgi?id=29238
59212
59213         * bindings/scripts/CodeGenerator.pm:
59214         (FindParentsRecursively): Removed; its functionality is now handled in
59215         AddMethodsConstantsAndAttributesFromParentClasses.
59216         (ForAllParents): New function that visits an interface's ancestors and
59217         invokes a callback for each one.
59218         (AddMethodsConstantsAndAttributesFromParentClasses): Simplified by using
59219         ForAllParents.
59220         (GetMethodsAndAttributesFromParentClasses): Ditto.
59221         (IDLFileForInterface): Factored out previous calls to ScanDirectory into
59222         this new function, which returns the filename containing a given IDL
59223         interface definition.
59224         (ParseInterface): Simplified by using IDLFileForInterface.
59225         (ScanDirectory): Removed in lieu of IDLFileForInterface.
59226         * bindings/scripts/CodeGeneratorV8.pm: Drop call to
59227         FindParentsRecursively and get the list of parents from the
59228         AddMethodsConstantsAndAttributesFromParentClasses call instead.
59229
59230 2009-09-14  Yael Aharon  <yael.aharon@nokia.com>
59231
59232         Reviewed by Tor Arne Vestbø.
59233
59234         [Qt] Assert hit when dropping a file in QtLauncher
59235         https://bugs.webkit.org/show_bug.cgi?id=29242
59236
59237         Qt's implementation of DropData::asURL does not return a URL encoded string
59238         as expected.
59239
59240         * platform/qt/DragDataQt.cpp:
59241         (WebCore::DragData::asURL):
59242
59243 2009-09-13  Kevin Ollivier  <kevino@theolliviers.com>
59244
59245         wx build fix, file was missed during TLS.cpp removal.
59246
59247         * page/wx/FrameWx.cpp: Added.
59248         (WebCore::Frame::dragImageForSelection):
59249
59250 2009-09-13  Anthony Ricaud  <rik@webkit.org>
59251
59252         Reviewed by Oliver Hunt.
59253
59254         Web Inspector: Add "New Style Rule" to the localizedStrings
59255         https://bugs.webkit.org/show_bug.cgi?id=29237
59256
59257         * English.lproj/localizedStrings.js:
59258
59259 2009-09-13  Kevin Watters  <kevinwatters@gmail.com>
59260
59261         Reviewed by Kevin Ollivier.
59262
59263         [wx] Implement filesystem functions.
59264
59265         https://bugs.webkit.org/show_bug.cgi?id=29196
59266
59267         * platform/wx/FileSystemWx.cpp:
59268         (WebCore::fileExists):
59269         (WebCore::deleteFile):
59270         (WebCore::deleteEmptyDirectory):
59271         (WebCore::getFileSize):
59272         (WebCore::getFileModificationTime):
59273         (WebCore::makeAllDirectories):
59274         (WebCore::pathByAppendingComponent):
59275         (WebCore::homeDirectoryPath):
59276         (WebCore::directoryName):
59277
59278 2009-09-12  Kevin Ollivier  <kevino@theolliviers.com>
59279
59280         wx build fixes for wx 2.9.
59281
59282         * platform/wx/ScrollbarThemeWx.cpp:
59283         * platform/wx/wxcode/gtk/scrollbar_render.cpp:
59284         (wxGetGdkWindowForDC):
59285
59286 2009-09-12  Oliver Hunt  <oliver@apple.com>
59287
59288         Reviewed by Maciej Stachowiak.
59289
59290         [ES5] Implement Object.keys
59291         https://bugs.webkit.org/show_bug.cgi?id=29170
59292
59293         Switch from getPropertyNames to getOwnPropertyNames, and provide custom
59294         getPropertyNames to DOMWindow, DOMWindowShell and QuarantinedObjectWrapper
59295         in order to ensure correct semantics are maintained.
59296
59297         Test: fast/js/Object-keys.html
59298
59299         * bindings/js/JSDOMWindowCustom.cpp:
59300         (WebCore::JSDOMWindow::getOwnPropertyNames):
59301         * bindings/js/JSDOMWindowShell.cpp:
59302         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
59303         * bindings/js/JSDOMWindowShell.h:
59304         * bindings/js/JSHistoryCustom.cpp:
59305         (WebCore::JSHistory::getOwnPropertyNames):
59306         * bindings/js/JSLocationCustom.cpp:
59307         (WebCore::JSLocation::getOwnPropertyNames):
59308         * bindings/js/JSQuarantinedObjectWrapper.cpp:
59309         (WebCore::JSQuarantinedObjectWrapper::getPropertyNames):
59310         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyNames):
59311         * bindings/js/JSQuarantinedObjectWrapper.h:
59312         * bindings/js/JSStorageCustom.cpp:
59313         (WebCore::JSStorage::getOwnPropertyNames):
59314         * bindings/scripts/CodeGeneratorJS.pm:
59315         * bridge/runtime_object.cpp:
59316         (JSC::RuntimeObjectImp::getPropertyNames):
59317         (JSC::RuntimeObjectImp::getOwnPropertyNames):
59318         * bridge/runtime_object.h:
59319
59320 2009-09-12  Sam Weinig  <sam@webkit.org>
59321
59322         Reviewed by Anders Carlsson.
59323
59324         Fix for https://bugs.webkit.org/show_bug.cgi?id=29219
59325         Document.elementFromPoint() should take page scroll into consideration
59326
59327         Test: fast/dom/elementFromPoint-relative-to-viewport.html
59328
59329         * dom/Document.cpp:
59330         (WebCore::Document::elementFromPoint):
59331         (WebCore::Document::caretRangeFromPoint):
59332
59333 2009-09-12  Sam Weinig  <sam@webkit.org>
59334
59335         Reviewed by Maciej Stachowiak.
59336
59337         Fix for https://bugs.webkit.org/show_bug.cgi?id=29217
59338         Document.caretRangeFromPoint should take the scroll offset into account before hit testing
59339
59340         In accordance with the CSSOM View Module spec, Document.caretRangeFromPoint should interpret
59341         the point passed to it as relative to the viewport, not the document.
59342
59343         Test: fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport.html
59344
59345         * dom/Document.cpp:
59346         (WebCore::Document::caretRangeFromPoint):
59347
59348 2009-09-11  Chris Marrin  <cmarrin@apple.com>
59349
59350         Reviewed by Oliver Hunt.
59351
59352         Added some manual tests to show WebGL in action
59353         https://bugs.webkit.org/show_bug.cgi?id=29215
59354
59355         * manual-tests/webgl: Added.
59356         * manual-tests/webgl/Earth.html: Added.
59357         * manual-tests/webgl/ManyPlanetsDeep.html: Added.
59358         * manual-tests/webgl/SpinningBox.html: Added.
59359         * manual-tests/webgl/TeapotPerPixel.html: Added.
59360         * manual-tests/webgl/TeapotPerVertex.html: Added.
59361         * manual-tests/webgl/resources: Added.
59362         * manual-tests/webgl/resources/CanvasMatrix.js: Added.
59363         * manual-tests/webgl/resources/earthmap1k.jpg: Added.
59364         * manual-tests/webgl/resources/mars500x250.png: Added.
59365         * manual-tests/webgl/resources/teapot.obj: Added.
59366         * manual-tests/webgl/resources/utils3d.js: Added.
59367  
59368 2009-09-10  Chris Fleizach  <cfleizach@apple.com>
59369
59370         Reviewed by Darin Adler.
59371
59372         aria definition role spelled wrong "defintion"
59373         https://bugs.webkit.org/show_bug.cgi?id=28840
59374
59375         Test: accessibility/aria-slider-value-change.html
59376
59377         * accessibility/AccessibilityRenderObject.cpp:
59378         (WebCore::RoleEntry::):
59379
59380 2009-09-11  Erik Arvidsson  <arv@chromium.org>
59381
59382         Reviewed by Eric Seidel.
59383
59384         Fixes an assert in Node::isFocusable which was causing crashes in certain cases.
59385         https://bugs.webkit.org/show_bug.cgi?id=29210
59386
59387         * dom/Node.cpp:
59388         (WebCore::Node::isFocusable):
59389
59390 2009-09-11  Chris Marrin  <cmarrin@apple.com>
59391
59392         Reviewed by Oliver Hunt.
59393
59394         Added variants to uniform* and vertexAttrib* calls which take sequence<> in place of CanvasArray
59395         https://bugs.webkit.org/show_bug.cgi?id=29139
59396         
59397         I also added a data() call to each of the CanvasArray subclasses to give back a types pointer
59398         to the baseAddress().
59399
59400         * Configurations/FeatureDefines.xcconfig:
59401         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
59402         (WebCore::toArray):
59403         (WebCore::):
59404         (WebCore::dataFunctionf):
59405         (WebCore::dataFunctioni):
59406         (WebCore::dataFunctionMatrix):
59407         (WebCore::JSCanvasRenderingContext3D::uniform1fv):
59408         (WebCore::JSCanvasRenderingContext3D::uniform1iv):
59409         (WebCore::JSCanvasRenderingContext3D::uniform2fv):
59410         (WebCore::JSCanvasRenderingContext3D::uniform2iv):
59411         (WebCore::JSCanvasRenderingContext3D::uniform3fv):
59412         (WebCore::JSCanvasRenderingContext3D::uniform3iv):
59413         (WebCore::JSCanvasRenderingContext3D::uniform4fv):
59414         (WebCore::JSCanvasRenderingContext3D::uniform4iv):
59415         (WebCore::JSCanvasRenderingContext3D::uniformMatrix2fv):
59416         (WebCore::JSCanvasRenderingContext3D::uniformMatrix3fv):
59417         (WebCore::JSCanvasRenderingContext3D::uniformMatrix4fv):
59418         (WebCore::JSCanvasRenderingContext3D::vertexAttrib1fv):
59419         (WebCore::JSCanvasRenderingContext3D::vertexAttrib2fv):
59420         (WebCore::JSCanvasRenderingContext3D::vertexAttrib3fv):
59421         (WebCore::JSCanvasRenderingContext3D::vertexAttrib4fv):
59422         * html/canvas/CanvasByteArray.h:
59423         (WebCore::CanvasByteArray::data):
59424         * html/canvas/CanvasFloatArray.h:
59425         (WebCore::CanvasFloatArray::data):
59426         * html/canvas/CanvasIntArray.h:
59427         (WebCore::CanvasIntArray::data):
59428         * html/canvas/CanvasRenderingContext3D.cpp:
59429         (WebCore::CanvasRenderingContext3D::uniform1fv):
59430         (WebCore::CanvasRenderingContext3D::uniform1iv):
59431         (WebCore::CanvasRenderingContext3D::uniform2fv):
59432         (WebCore::CanvasRenderingContext3D::uniform2iv):
59433         (WebCore::CanvasRenderingContext3D::uniform3fv):
59434         (WebCore::CanvasRenderingContext3D::uniform3iv):
59435         (WebCore::CanvasRenderingContext3D::uniform4fv):
59436         (WebCore::CanvasRenderingContext3D::uniform4iv):
59437         (WebCore::CanvasRenderingContext3D::uniformMatrix2fv):
59438         (WebCore::CanvasRenderingContext3D::uniformMatrix3fv):
59439         (WebCore::CanvasRenderingContext3D::uniformMatrix4fv):
59440         (WebCore::CanvasRenderingContext3D::vertexAttrib1fv):
59441         (WebCore::CanvasRenderingContext3D::vertexAttrib2fv):
59442         (WebCore::CanvasRenderingContext3D::vertexAttrib3fv):
59443         (WebCore::CanvasRenderingContext3D::vertexAttrib4fv):
59444         * html/canvas/CanvasRenderingContext3D.h:
59445         * html/canvas/CanvasRenderingContext3D.idl:
59446         * html/canvas/CanvasShortArray.h:
59447         (WebCore::CanvasShortArray::data):
59448         * html/canvas/CanvasUnsignedByteArray.h:
59449         (WebCore::CanvasUnsignedByteArray::data):
59450         * html/canvas/CanvasUnsignedIntArray.h:
59451         (WebCore::CanvasUnsignedIntArray::data):
59452         * html/canvas/CanvasUnsignedShortArray.h:
59453         (WebCore::CanvasUnsignedShortArray::data):
59454         * platform/graphics/GraphicsContext3D.h:
59455         * platform/graphics/mac/GraphicsContext3DMac.cpp:
59456         (WebCore::GraphicsContext3D::uniform1fv):
59457         (WebCore::GraphicsContext3D::uniform2fv):
59458         (WebCore::GraphicsContext3D::uniform3fv):
59459         (WebCore::GraphicsContext3D::uniform4fv):
59460         (WebCore::GraphicsContext3D::uniform1iv):
59461         (WebCore::GraphicsContext3D::uniform2iv):
59462         (WebCore::GraphicsContext3D::uniform3iv):
59463         (WebCore::GraphicsContext3D::uniform4iv):
59464         (WebCore::GraphicsContext3D::uniformMatrix2fv):
59465         (WebCore::GraphicsContext3D::uniformMatrix3fv):
59466         (WebCore::GraphicsContext3D::uniformMatrix4fv):
59467         (WebCore::GraphicsContext3D::vertexAttrib1fv):
59468         (WebCore::GraphicsContext3D::vertexAttrib2fv):
59469         (WebCore::GraphicsContext3D::vertexAttrib3fv):
59470         (WebCore::GraphicsContext3D::vertexAttrib4fv):
59471
59472 2009-09-11  Fumitoshi Ukai  <ukai@chromium.org>
59473
59474         Reviewed by Eric Seidel.
59475
59476         Add ENABLE(WEB_SOCKETS) guards.
59477         https://bugs.webkit.org/show_bug.cgi?id=29174
59478
59479         * bindings/v8/custom/V8WebSocketCustom.cpp:
59480
59481 2009-09-11  Eric Seidel  <eric@webkit.org>
59482
59483         No review, rolling out r48229.
59484         http://trac.webkit.org/changeset/48229
59485
59486         * WebCore.base.exp:
59487         * dom/Clipboard.cpp:
59488         (WebCore::Clipboard::Clipboard):
59489         (WebCore::Clipboard::sourceOperation):
59490         * page/DragController.cpp:
59491         (WebCore::DragController::DragController):
59492         (WebCore::DragController::dragExited):
59493         (WebCore::DragController::performDrag):
59494         (WebCore::DragController::dragEnteredOrUpdated):
59495         (WebCore::DragController::tryDHTMLDrag):
59496         (WebCore::DragController::startDrag):
59497         * page/DragController.h:
59498         * page/EventHandler.cpp:
59499         (WebCore::EventHandler::updateDragAndDrop):
59500         (WebCore::EventHandler::dragSourceMovedTo):
59501         (WebCore::EventHandler::handleDrag):
59502         * page/EventHandler.h:
59503
59504 2009-09-11  Michelangelo De Simone  <micdesim@gmail.com>
59505
59506         Fix the build.
59507
59508         * html/ValidityState.cpp:
59509         (WebCore::ValidityState::typeMismatch):
59510
59511 2009-09-11  Michelangelo De Simone  <micdesim@gmail.com>
59512
59513         Reviewed by Antti Koivisto.
59514
59515         https://bugs.webkit.org/show_bug.cgi?id=27456
59516         Added support for static validation of url in
59517         ValidityState, for url state inputs.
59518         From HTML5 specs:
59519         http://www.whatwg.org/specs/web-apps/current-work/#url-state
59520
59521         Test: fast/forms/ValidityState-typeMismatch-url.html
59522
59523         * html/ValidityState.cpp:
59524         (WebCore::ValidityState::typeMismatch):
59525
59526 2009-09-11  Evan Stade  <estade@chromium.org>
59527
59528         Reviewed by Darin Adler.
59529
59530         Revert r47992: Expose functions to change the focus ring color for
59531         Linux Chromium.
59532
59533         As Darin Fisher has pointed out, there is a better way to do this.
59534
59535         * rendering/RenderThemeChromiumLinux.cpp:
59536         (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
59537         * rendering/RenderThemeChromiumLinux.h:
59538
59539 2009-09-11  Alexey Proskuryakov  <ap@webkit.org>
59540
59541         Reviewed by Geoff Garen.
59542
59543         https://bugs.webkit.org/show_bug.cgi?id=29207
59544         Add checks for using WebCore JS context on secondary threads
59545
59546         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData):
59547         Set the new debug-only mainThreadOnly flag.
59548
59549 2009-09-11  Brian Weinstein  <bweinstein@apple.com>
59550
59551         Reviewed by Timothy Hatcher.
59552
59553         The inspector should have scope bars.
59554         https://bugs.webkit.org/show_bug.cgi?id=14353
59555         
59556         Add scope bars to the console, so the user can choose which category
59557         of messages they want to see (All, Errors, Warnings, Logs), and they
59558         can choose from one or more of {Errors, Warnings, Logs}.
59559
59560         * inspector/front-end/ConsoleView.js:
59561         (WebInspector.ConsoleView.createFilterElement):
59562         (WebInspector.ConsoleView):
59563         (WebInspector.ConsoleView.prototype._updateFilter):
59564         (WebInspector.ConsoleView.prototype.filter):
59565         (WebInspector.ConsoleView.prototype.attach):
59566         * inspector/front-end/inspector.css:
59567         * inspector/front-end/inspector.html:
59568
59569 2009-09-11  Yusuke Sato  <yusukes@chromium.org>
59570
59571         Reviewed by Darin Fisher.
59572
59573         [Chromium] Complex text doesn't show up with text stroking
59574         https://bugs.webkit.org/show_bug.cgi?id=28707
59575
59576         Added extra NULL checks for HDC. This is the second fix for issue 28707,
59577         and the fix is similar to http://trac.webkit.org/changeset/45482.
59578
59579         * platform/graphics/chromium/FontChromiumWin.cpp:
59580         (WebCore::Font::drawComplexText):
59581         * platform/graphics/chromium/UniscribeHelper.cpp:
59582         (WebCore::UniscribeHelper::draw):
59583
59584 2009-09-11  Cameron McCormack  <cam@mcc.id.au>
59585
59586         Reviewed by Eric Seidel.
59587
59588         Make ElementTimeControl methods return void and not throw.
59589         https://bugs.webkit.org/show_bug.cgi?id=28831
59590
59591         SVG 1.1 erratum:
59592         http://www.w3.org/2003/01/REC-SVG11-20030114-errata#elementtimecontrol-interface
59593
59594         Test: svg/dom/smil-methods.svg
59595
59596         * svg/ElementTimeControl.h: Change return type from bool to void and remove exception argument.
59597         * svg/ElementTimeControl.idl: Change return type from bool to void and remove raises claus.
59598         * svg/SVGAnimationElement.cpp:
59599         (WebCore::SVGAnimationElement::beginElement): Change return type from bool to void and remove exception argument.
59600         (WebCore::SVGAnimationElement::beginElementAt): Ditto.
59601         (WebCore::SVGAnimationElement::endElement): Ditto.
59602         (WebCore::SVGAnimationElement::endElementAt): Ditto.
59603         * svg/SVGAnimationElement.h: Ditto.
59604
59605 2009-09-11  Chris Marrin  <cmarrin@apple.com>
59606
59607         Reviewed by Oliver Hunt.
59608
59609         Added support for texImage2D which takes CanvasArray
59610         https://bugs.webkit.org/show_bug.cgi?id=29191
59611
59612         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
59613         (WebCore::JSCanvasRenderingContext3D::texImage2D):
59614         * platform/graphics/mac/GraphicsContext3DMac.cpp:
59615         (WebCore::GraphicsContext3D::texImage2D):
59616
59617 2009-09-11  Steve Falkenburg  <sfalken@apple.com>
59618
59619         Reviewed by Darin Adler.
59620
59621         Allow WebKit clients to opt out of high resolution timers on Windows.
59622         https://bugs.webkit.org/show_bug.cgi?id=29192
59623
59624         * page/Settings.cpp:
59625         (WebCore::Settings::setShouldUseHighResolutionTimers): Added.
59626         * page/Settings.h: Added getter/setter for shouldUseHighResolutionTimers.
59627         (WebCore::Settings::shouldUseHighResolutionTimers): Added.
59628         * platform/win/SharedTimerWin.cpp:
59629         (WebCore::setSharedTimerFireTime): Don't run high resolution timer code if it is disabled.
59630
59631 2009-09-11  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
59632
59633         Reviewed by Adam Barth.
59634
59635         [v8] Share persistent context handles between events        
59636         Change events to use a single ref-counted shared persistent handle
59637         to the context in which to run, rather than create a new
59638         persistent handle for each new event which puts pressure on the
59639         gc.
59640         
59641         https://bugs.webkit.org/show_bug.cgi?id=29077
59642
59643         * bindings/v8/ScheduledAction.cpp:
59644         (WebCore::ScheduledAction::execute):
59645         * bindings/v8/SharedPersistent.h: Added.
59646         (WebCore::SharedPersistent::set):
59647         (WebCore::SharedPersistent::get):
59648         (WebCore::SharedPersistent::disposeHandle):
59649         (WebCore::SharedPersistent::create):
59650         (WebCore::SharedPersistent::SharedPersistent):
59651         * bindings/v8/V8AbstractEventListener.cpp:
59652         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
59653         (WebCore::V8AbstractEventListener::handleEvent):
59654         * bindings/v8/V8AbstractEventListener.h:
59655         * bindings/v8/V8IsolatedWorld.cpp:
59656         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
59657         (WebCore::V8IsolatedWorld::~V8IsolatedWorld):
59658         * bindings/v8/V8IsolatedWorld.h:
59659         (WebCore::V8IsolatedWorld::context):
59660         (WebCore::V8IsolatedWorld::shared_context):
59661         * bindings/v8/V8Proxy.cpp:
59662         (WebCore::V8Proxy::evaluateInNewContext):
59663         (WebCore::V8Proxy::createWrapperFromCacheSlowCase):
59664         (WebCore::V8Proxy::isContextInitialized):
59665         (WebCore::V8Proxy::updateDocumentWrapperCache):
59666         (WebCore::V8Proxy::clearDocumentWrapperCache):
59667         (WebCore::V8Proxy::disposeContextHandles):
59668         (WebCore::V8Proxy::clearForClose):
59669         (WebCore::V8Proxy::clearForNavigation):
59670         (WebCore::V8Proxy::setSecurityToken):
59671         (WebCore::V8Proxy::updateDocument):
59672         (WebCore::V8Proxy::initContextIfNeeded):
59673         (WebCore::V8Proxy::shared_context):
59674         (WebCore::V8Proxy::mainWorldContext):
59675         (WebCore::V8Proxy::setContextDebugId):
59676         * bindings/v8/V8Proxy.h:
59677         (WebCore::V8Proxy::V8Proxy):
59678         (WebCore::V8Proxy::context):
59679         (WebCore::V8Proxy::shared_context):
59680
59681 2009-09-11  Anton Muhin  <antonm@chromium.org>
59682
59683         Reviewed by David Levin.
59684
59685         Create a real handle (one which would save an object from GC).
59686         https://bugs.webkit.org/show_bug.cgi?id=29150
59687
59688         * bindings/v8/V8Binding.cpp:
59689         (WebCore::v8ExternalString):
59690
59691 2009-09-11  Anton Muhin  <antonm@chromium.org>
59692
59693         Reviewed by David Levin.
59694
59695         Inline WebCore::v8String as it only invokes WebCore::v8ExternalString.
59696         https://bugs.webkit.org/show_bug.cgi?id=29152
59697
59698         * bindings/v8/V8Binding.cpp:
59699         * bindings/v8/V8Binding.h:
59700         (WebCore::v8String):
59701
59702 2009-09-11  Ariya Hidayat  <ariya.hidayat@nokia.com>
59703
59704         Reviewed by Simon Hausmann.
59705
59706         Changed URLs from qtsoftware.com to qt.nokia.com, as part of a general
59707         renaming.
59708
59709         * ChangeLog-2009-06-16:
59710
59711 2009-09-11  Thiago Macieira  <thiago.macieira@nokia.com>
59712
59713         Reviewed by Simon Hausmann.
59714
59715         Use LIBS_PRIVATE on Qt/Mac.
59716
59717         On the Mac, it means "-framework ApplicationServices -framework Carbon
59718         -framework AppKit" are no longer part of the default LIBS in Qt
59719         applications. This required a lot of fixes where we used Mac-specific
59720         code in Qt.
59721
59722         * WebCore.pro:
59723
59724 2009-09-11  Cameron McCormack  <cam@mcc.id.au>
59725
59726         Reviewed by Eric Seidel.
59727
59728         Remove duplicated WK_{u,l}cfirst subs from CodeGeneratorV8.pm
59729         https://bugs.webkit.org/show_bug.cgi?id=29165
59730
59731         * bindings/scripts/CodeGeneratorV8.pm: Remove WK_ucfirst and
59732         WK_lcfirst, and call the ones in CodeGenerator.pm instead.
59733
59734 2009-09-11  Yongjun Zhang  <yongjun.zhang@nokia.com>
59735
59736         Reviewed by Darin Adler.
59737
59738         https://bugs.webkit.org/show_bug.cgi?id=29132
59739         Symbian winscw compiler fails compiling WebCore/text/RegularExpression.cpp.
59740
59741         Add RegularExpression class qualifier before Private.
59742
59743         * platform/text/RegularExpression.cpp:
59744
59745 2009-09-11  Yongjun Zhang  <yongjun.zhang@nokia.com>
59746
59747         Reviewed by Darin Adler.
59748
59749         https://bugs.webkit.org/show_bug.cgi?id=29131
59750         Use a different variadic macro format for Symbian compiler.
59751         
59752         Use arg... instead of ellipsis in variadic macro.        
59753
59754         * platform/StaticConstructors.h:
59755
59756 2009-09-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
59757
59758         Reviewed by Simon Hausmann.
59759
59760         https://bugs.webkit.org/show_bug.cgi?id=28806
59761
59762         [Qt] Make the WebInspector available as a QWidget.
59763
59764         * WebCore.pro:
59765
59766 2009-09-11  Simon Hausmann  <simon.hausmann@nokia.com>
59767
59768         Unreviewed fix for the Web Inspector with the Qt build.
59769
59770         Re-generate the Qt resource file by running
59771         WebKitTools/Scripts/generate-qt-inspector-resource
59772
59773         * inspector/front-end/WebKit.qrc:
59774
59775 2009-09-11  Simon Hausmann  <simon.hausmann@nokia.com>
59776
59777         Fix the Qt build, remove stray semicolon from function definition.
59778
59779         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
59780         (WebCore::MediaPlayerPrivate::buffered):
59781
59782 2009-09-10  Adam Barth  <abarth@webkit.org>
59783
59784         Reviewed by Sam Weinig.
59785
59786         Detect mixed content
59787         https://bugs.webkit.org/show_bug.cgi?id=29003
59788
59789         Detect some basic kinds of mixed content (HTTP content loaded into an
59790         HTTPS context).  This new detection logic isn't perfect, but it's a
59791         place to start.
59792
59793         Tests: http/tests/security/mixedContent/about-blank-iframe-in-main-frame.html
59794                http/tests/security/mixedContent/data-url-iframe-in-main-frame.html
59795                http/tests/security/mixedContent/data-url-script-in-iframe.html
59796                http/tests/security/mixedContent/insecure-css-in-iframe.html
59797                http/tests/security/mixedContent/insecure-css-in-main-frame.html
59798                http/tests/security/mixedContent/insecure-iframe-in-iframe.html
59799                http/tests/security/mixedContent/insecure-iframe-in-main-frame.html
59800                http/tests/security/mixedContent/insecure-image-in-iframe.html
59801                http/tests/security/mixedContent/insecure-image-in-main-frame.html
59802                http/tests/security/mixedContent/insecure-script-in-iframe.html
59803                http/tests/security/mixedContent/redirect-http-to-https-iframe-in-main-frame.html
59804                http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe.html
59805                http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame.html
59806                http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html
59807
59808         * loader/DocLoader.cpp:
59809         (WebCore::DocLoader::canRequest):
59810         (WebCore::DocLoader::requestResource):
59811         (WebCore::DocLoader::checkCacheObjectStatus):
59812         * loader/FrameLoader.cpp:
59813         (WebCore::FrameLoader::isMixedContent):
59814         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
59815         (WebCore::FrameLoader::checkIfRunInsecureContent):
59816         * loader/FrameLoader.h:
59817         * loader/MainResourceLoader.cpp:
59818         (WebCore::MainResourceLoader::willSendRequest):
59819
59820 2009-09-10  Mark Rowe  <mrowe@apple.com>
59821
59822         Fix the Windows build.
59823
59824         Restore platform/mock to the header search path after it was removed in r48270.
59825
59826         * WebCore.vcproj/WebCoreCommon.vsprops:
59827
59828 2009-09-08  Timothy Hatcher  <timothy@apple.com>
59829
59830         Web Inspector: Move the option to create a new style rule under the Styles' gear menu.
59831
59832         https://bugs.webkit.org/show_bug.cgi?id=29039
59833
59834         Reviewed by Sam Weinig.
59835
59836         * inspector/front-end/StylesSidebarPane.js:
59837         (WebInspector.StylesSidebarPane): Add "New Style Rule" option to the gear menu.
59838         (WebInspector.StylesSidebarPane.prototype._update): Check instanceof BlankStylePropertiesSection instead.
59839         (WebInspector.StylesSidebarPane.prototype._changeSetting): Added. Keeps the color format setting selected
59840         while calling the correct action.
59841         (WebInspector.StylesSidebarPane.prototype._createNewRule): Creates a new section and edits the selector.
59842         (WebInspector.StylesSidebarPane.prototype.addBlankSection): Insert the section in a cleaner way.
59843         (WebInspector.StylesSidebarPane.prototype.removeSection): Added. Removes the passed in section.
59844         (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): Return an empty string if there is no node.
59845         (WebInspector.StylePropertiesSection.prototype.expand): Removed the check for _blank.
59846         (WebInspector.StylePropertiesSection.prototype.startEditingSelector): No need for the context, the original selector
59847         is remembered by the editing code.
59848         (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled): Do nothing. The original text is already
59849         restored by the editing code.
59850         (WebInspector.BlankStylePropertiesSection): Call the StylePropertiesSection constructor with appropriate data.
59851         Remove event listener code.
59852         (WebInspector.BlankStylePropertiesSection.prototype.expand): Added. Does nothing to prevent expanding.
59853         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.callback): Correctly construct the
59854         WebInspector.CSSStyleDeclaration. Call editingSelectorCancelled instead of editingCancelled.
59855         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): Renamed from editingCommitted to
59856         override the base class.
59857         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCancelled): Remove the section.
59858         (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): Removed event listener code. Removed the delete lines
59859         since they were doing nothing (deleting nonexistent properties that exist only on the prototype.) Change prototypes at
59860         the end to correctly swtich to a real StylePropertiesSection.
59861         * inspector/front-end/inspector.js:
59862         (WebInspector.startEditing.editingCancelled): Ceck for null/undefined callbacks.
59863         (WebInspector.startEditing.editingCommitted): Ditto.
59864
59865 2009-09-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
59866
59867         Reviewed by Eric Seidel.
59868
59869         [Qt] Fix comparison between signed and unsigned integer warnings
59870         https://bugs.webkit.org/show_bug.cgi?id=29162
59871
59872         No functional change.
59873
59874         * bridge/qt/qt_runtime.cpp:
59875         (JSC::Bindings::findMethodIndex):
59876         * platform/MIMETypeRegistry.cpp:
59877         (WebCore::initializeSupportedImageMIMETypes):
59878         (WebCore::initializeSupportedImageMIMETypesForEncoding):
59879         * platform/graphics/qt/GraphicsContextQt.cpp:
59880         (WebCore::GraphicsContext::drawFocusRing):
59881         * platform/graphics/qt/ImageDecoderQt.cpp:
59882         (WebCore::ImageDecoderQt::duration):
59883         (WebCore::ImageDecoderQt::imageAtIndex):
59884         * plugins/qt/PluginPackageQt.cpp:
59885         (WebCore::PluginPackage::fetchInfo):
59886
59887 2009-09-10  Martin Robinson  <martin.james.robinson@gmail.com>
59888
59889         Reviewed by Gustavo Noronha.
59890
59891         Build fix for GTKafter r48267.
59892
59893         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
59894         (WebCore::MediaPlayerPrivate::buffered):
59895
59896 2009-09-08  John Abd-El-Malek  <jam@chromium.org>
59897
59898         Reviewed by Dimitri Glazkov.
59899
59900         Remove unneeded define for ActiveX.
59901         https://bugs.webkit.org/show_bug.cgi?id=29054
59902
59903         * rendering/RenderPartObject.cpp:
59904         (WebCore::createClassIdToTypeMap):
59905         (WebCore::serviceTypeForClassId):
59906         (WebCore::RenderPartObject::updateWidget):
59907
59908 2009-09-10  Mark Rowe  <mrowe@apple.com>
59909
59910         Rubber-stamped by Sam Weinig.
59911
59912         Don't copy IDL files in to the built framework.
59913
59914         * WebCore.xcodeproj/project.pbxproj:
59915
59916 2009-09-10  Xiaomei Ji  <xji@chromium.org>
59917
59918         Reviewed by Eric Seidel.
59919
59920         Implment Range.expand().
59921         https://bugs.webkit.org/show_bug.cgi?id=27632
59922
59923         Test: fast/dom/Range/range-expand.html
59924
59925         * dom/Range.cpp:
59926         (WebCore::Range::expand):
59927         * dom/Range.h:
59928         * dom/Range.idl:
59929
59930 2009-09-10  Fumitoshi Ukai  <ukai@chromium.org>
59931
59932         Reviewed by Alexey Proskuryakov.
59933
59934         WebSocket API implementation.
59935         https://bugs.webkit.org/show_bug.cgi?id=28038
59936         
59937         Add build systems for GNUmakefile.am, WebCore.xcodeproj and
59938         WebCore.vcproj.
59939         Add websockets directory and WebSocket.idl in qt build system.
59940         Tests will be landed once the code is completed and functional.
59941
59942         * DerivedSources.cpp:
59943         * GNUmakefile.am:
59944         * WebCore.pro:
59945         * WebCore.vcproj/WebCore.vcproj:
59946         * WebCore.vcproj/WebCoreCommon.vsprops:
59947         * WebCore.xcodeproj/project.pbxproj:
59948         * bindings/js/JSDOMWindowCustom.cpp:
59949         (WebCore::JSDOMWindow::webSocket):
59950         * bindings/js/JSEventTarget.cpp:
59951         (WebCore::toJS):
59952         (WebCore::toEventTarget):
59953         * dom/EventTarget.cpp:
59954         (WebCore::EventTarget::toWebSocket):
59955         * dom/EventTarget.h:
59956         * page/DOMWindow.idl:
59957         * websockets/WebSocket.cpp:
59958         (WebCore::ProcessWebSocketEventTask::create):
59959         (WebCore::ProcessWebSocketEventTask::performTask):
59960         (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
59961         (WebCore::isValidProtocolString):
59962         (WebCore::WebSocket::connect):
59963         (WebCore::WebSocket::send):
59964         (WebCore::WebSocket::close):
59965         (WebCore::WebSocket::bufferedAmount):
59966         (WebCore::WebSocket::addEventListener):
59967         (WebCore::WebSocket::removeEventListener):
59968         (WebCore::WebSocket::dispatchEvent):
59969         (WebCore::WebSocket::didConnect):
59970         (WebCore::WebSocket::didReceiveMessage):
59971         (WebCore::WebSocket::didClose):
59972         (WebCore::WebSocket::dispatchOpenEvent):
59973         (WebCore::WebSocket::dispatchMessageEvent):
59974         (WebCore::WebSocket::dispatchCloseEvent):
59975         * websockets/WebSocket.h:
59976         (WebCore::WebSocket::create):
59977         (WebCore::WebSocket::):
59978         (WebCore::WebSocket::setOnopen):
59979         (WebCore::WebSocket::onopen):
59980         (WebCore::WebSocket::setOnmessage):
59981         (WebCore::WebSocket::onmessage):
59982         (WebCore::WebSocket::setOnclose):
59983         (WebCore::WebSocket::onclose):
59984         (WebCore::WebSocket::toWebSocket):
59985         (WebCore::WebSocket::eventListeners):
59986         (WebCore::WebSocket::refEventTarget):
59987         (WebCore::WebSocket::derefEventTarget):
59988         * websockets/WebSocketChannel.cpp: Added.
59989         * websockets/WebSocketChannel.h: Added.
59990         * websockets/WebSocketChannelClient.h: Added.
59991         * websockets/WebSocketHandshake.cpp: Added.
59992         * websockets/WebSocketHandshake.h: Added.
59993
59994 2009-09-10  Albert J. Wong  <ajwong@chromium.org>
59995
59996         No review, windows build fix only.
59997         
59998         Spurious semicolon causing parse error in chromium build on windows.
59999
60000         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
60001         (WebCore::MediaPlayerPrivate::buffered):
60002
60003 2009-09-10  Albert J. Wong  <ajwong@chromium.org>
60004
60005         No review, build fix only.
60006
60007         Adding in a missed include from the last patch that is breaking the
60008         chromium build.
60009
60010         * rendering/RenderThemeChromiumMac.mm: include TimeRanges.h
60011
60012 2009-09-10  Alpha Lam  <hclam@chromium.org>
60013
60014         Reviewed by Eric Carlson.
60015
60016         HTMLMediaElement buffered attribute should report a list of time ranges
60017         https://bugs.webkit.org/show_bug.cgi?id=29041
60018
60019         Changed MediaPlayerPrivateInterface and MediaPlayer's definition to
60020         report a list of buffered time ranges as WebCore::TimeRanges. This
60021         change also got rid of the maxTimeBuffered() method.
60022
60023         No new tests since this is a API change.
60024
60025         * html/HTMLMediaElement.cpp:
60026         (WebCore::HTMLMediaElement::percentLoaded):
60027         Use MediaPlaier::buffered() instead of maxTimeBuffered().
60028         (WebCore::HTMLMediaElement::buffered):
60029         ditto.
60030         * platform/graphics/MediaPlayer.cpp:
60031         (WebCore::NullMediaPlayerPrivate::buffered):
60032         Use MediaPlayerPrivateInterface::buffered() instead of maxTimeBuffered().
60033         (WebCore::MediaPlayer::buffered):
60034         ditto.
60035         * platform/graphics/MediaPlayer.h:
60036         Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
60037         * platform/graphics/MediaPlayerPrivate.h:
60038         ditto.
60039         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
60040         Implements PassRefPtr<TimeRanges> buffered();
60041         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
60042         Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
60043         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
60044         Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
60045         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
60046         (WebCore::MediaPlayerPrivate::buffered):
60047         Implementation of buffered().
60048         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
60049         Implements PassRefPtr<TimeRanegs> buffered().
60050         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
60051         Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
60052         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
60053         Implements PassRefPtr<TimeRanges> buffered().
60054         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
60055         Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
60056         * platform/graphics/wince/MediaPlayerPrivateWince.h:
60057         ditto.
60058         * rendering/RenderThemeChromiumMac.mm:
60059         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
60060         Use buffered() instead of maxTimeBuffered().
60061         * rendering/RenderThemeChromiumSkia.cpp:
60062         ditto.
60063         * rendering/RenderThemeMac.mm:
60064         (WebCore::RenderThemeMac::paintMediaSliderTrack):
60065         ditto.
60066
60067 2009-09-10  Cameron McCormack  <cam@mcc.id.au>
60068
60069         Reviewed by Eric Seidel.
60070
60071         Make bindings generators more aware of IDL dependencies
60072         https://bugs.webkit.org/show_bug.cgi?id=29114
60073
60074         Make the JS and ObjC bindings generators able to output dependency
60075         rules for DerivedSources.make to consume.  These rules make a given
60076         generated binding class file header, JSWhatever.h, depend on Whatever's
60077         ancestor interfaces.
60078
60079         * DerivedSources.make: Pass --write-dependencies to generate-bindings.pl
60080         when generating JS and ObjC bindings.  Include dependency fies that are
60081         generated due to that.
60082         * bindings/scripts/CodeGenerator.pm: Make
60083         AddMethodsConstantsAndAttributesFromParentClasses accumulate a list of
60084         the ancestor interfaces that were visited.
60085         * bindings/scripts/CodeGeneratorJS.pm: Optionally write out a dependency
60086         file.
60087         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
60088         * bindings/scripts/generate-bindings.pl: Add a --write-dependencies
60089         option.
60090
60091 2009-09-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
60092
60093         Reviewed by Xan Lopez and Dan Winship.
60094
60095         Give all requests to libsoup, to let it queue, and schedule them
60096         itself, instead of throttling the number of requests in WebCore.
60097
60098         * platform/network/ResourceRequestBase.cpp:
60099         * platform/network/soup/ResourceRequestSoup.cpp:
60100         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
60101
60102 2009-09-10  Jian Li  <jianli@chromium.org>
60103
60104         Reviewed by Eric Seidel.
60105
60106         [V8] Make XMLHttpRequest.send handle File object.
60107         https://bugs.webkit.org/show_bug.cgi?id=28924
60108
60109         Test: http/tests/local/send-dragged-file.html
60110
60111         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
60112         (WebCore::CALLBACK_FUNC_DECL):
60113
60114 2009-09-10  Zoltan Horvath  <zoltan@webkit.org>
60115
60116         Reviewed by Darin Adler.
60117
60118         Use fastNew and fastDelete instead of operator new and delete for CSSSelector class. 
60119         https://bugs.webkit.org/show_bug.cgi?id=25930
60120
60121         Change using of operator new to fastNew and operator delete to
60122         fastDeleteSkippingDestructor for CSSSelector class to avoid mismatched function call.
60123
60124         This change fixes valgrind's 'mismatched free' notification.
60125
60126         * css/CSSParser.cpp:
60127         (WebCore::CSSParser::~CSSParser):
60128         (WebCore::CSSParser::createFloatingSelector):
60129         * css/CSSSelectorList.cpp:
60130         (WebCore::CSSSelectorList::adoptSelectorVector):
60131
60132 2009-09-10  Steve Block  <steveblock@google.com>
60133
60134         Reviewed by Darin Adler.
60135
60136         Geolocation does not correctly handle reentrant calls from callbacks.
60137         https://bugs.webkit.org/show_bug.cgi?id=29040
60138
60139         Tests: fast/dom/Geolocation/reentrant-error.html
60140                fast/dom/Geolocation/reentrant-success.html
60141
60142         * page/Geolocation.cpp: Modified.
60143         (WebCore::Geolocation::handleError): Modified. Call sendError directly, clearing notifier lists before making callback.
60144         (WebCore::Geolocation::makeSuccessCallbacks): Modified. Call sendPosition directly, clearing notifier lists before making callback.
60145         * page/Geolocation.h: Modified. Deleted sendErrorToXX and sendPositionToXXX methods.
60146
60147 2009-09-10  Erik Arvidsson  <arv@chromium.org>
60148
60149         Reviewed by Eric Seidel.
60150
60151         Fixes issue where focused elements did not get blur and focus events when the window was blurred and focused.
60152         https://bugs.webkit.org/show_bug.cgi?id=27105
60153
60154         Test: fast/events/blur-focus-window-should-blur-focus-element.html
60155
60156         * page/FocusController.cpp:
60157         (WebCore::dispatchEventsOnWindowAndFocusedNode):
60158         (WebCore::FocusController::setFocused):
60159         (WebCore::FocusController::setActive):
60160
60161 2009-09-10  Adam Roben  <aroben@apple.com>
60162
60163         Make the play/pause button in <video> controls indicate the button's
60164         action, not the movie state
60165
60166         This matches the Mac behavior, iTunes, and many other media players.
60167
60168         No test possible.
60169
60170         Fixes <http://webkit.org/b/29126> Play/pause button in <video>
60171         controls shows the wrong image
60172
60173         Reviewed by Eric Carlson.
60174
60175         * rendering/RenderMediaControls.cpp:
60176         (WebCore::RenderMediaControls::paintMediaControlsPart): Reversed when
60177         we show the play vs. pause artwork, so that the button reflects what
60178         will happen when you click it, rather than the current state of the
60179         movie.
60180
60181 2009-09-09  Steve Block  <steveblock@google.com>
60182
60183         Reviewed by Maciej Stachowiak.
60184
60185         Geolocation Coordinates::toString() prints bogus values for unspecified properties.
60186         https://bugs.webkit.org/show_bug.cgi?id=29080
60187
60188         Test: fast/dom/Geolocation/position-string.html
60189
60190         * GNUmakefile.am: Modified. Removes Geoposition.cpp and Coordinates.cpp.
60191         * WebCore.gypi: Modified. Removes Geoposition.cpp and Coordinates.cpp.
60192         * WebCore.pro: Modified. Removes Geoposition.cpp and Coordinates.cpp.
60193         * WebCore.vcproj/WebCore.vcproj: Modified. Removes Geoposition.cpp and Coordinates.cpp.
60194         * WebCore.xcodeproj/project.pbxproj: Modified. Removes Geoposition.cpp and Coordinates.cpp.
60195         * WebCoreSources.bkl: Modified. Removes Geoposition.cpp and Coordinates.cpp.
60196         * page/Coordinates.cpp: Removed.
60197         * page/Coordinates.h: Modified. Removes toString method.
60198         * page/Coordinates.idl: Modified. Removes toString method.
60199         * page/Geoposition.cpp: Removed.
60200         * page/Geoposition.h: Modified. Removes toString method.
60201         * page/Geoposition.idl: Modified. Removes toString method.
60202
60203 2009-09-09  Steve Block  <steveblock@google.com>
60204
60205         Reviewed by Adam Barth.
60206
60207         Correctly applies the Geolocation timeout property.
60208         https://bugs.webkit.org/show_bug.cgi?id=27256
60209
60210         If a timeout is specified, the timer is started as soon as the location acquistion process starts.
60211         If a position fix is not obtained within the timeout interval, the position request is cancelled
60212         and the error callback (if specified) is invoked. If a position fix is obtained within the timeout
60213         interval, the timer is stopped. Permissions are then requested from the user if required. See
60214         http://www.w3.org/TR/geolocation-API/#position-options.
60215
60216         Note that this logic means that the time required to obtain permissions from the user is not
60217         included in the timeout interval.
60218
60219         Tests: fast/dom/Geolocation/timeout.html
60220                fast/dom/Geolocation/timeout-zero.html
60221
60222         * page/Geolocation.cpp: Modified.
60223         (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Takes Geolocation object as parameter.
60224         (WebCore::Geolocation::GeoNotifier::hasZeroTimeout): Added. Determines whether this request has a zero timeout.
60225         (WebCore::Geolocation::GeoNotifier::startTimerIfNeeded): Renamed from startTimer. Starts the timer if a timeout was specified.
60226         (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Calls the error callback if specified, and reports the timeout to the Geolocation object.
60227         (WebCore::Geolocation::getCurrentPosition): Modified. Calls maybeStartTimer when starting the location acquisition process.
60228         (WebCore::Geolocation::watchPosition): Modified. Calls maybeStartTimer when starting the location acquisition process.
60229         (WebCore::Geolocation::requestTimedOut): Added. Cancels a request when it times out.
60230         (WebCore::Geolocation::setIsAllowed): Modified. No longer starts timers.
60231         (WebCore::Geolocation::sendPosition): Modified. No longer stops timers.
60232         (WebCore::Geolocation::stopTimer): Added. Stops the timers for a vector of notifiers.
60233         (WebCore::Geolocation::stopTimersForOneShots): Added. Stops the timers for all one-shots.
60234         (WebCore::Geolocation::stopTimersForWatchers): Added. Stops the timers for all watchers.
60235         (WebCore::Geolocation::stopTimers): Added. Stops the timers for all requests.
60236         (WebCore::Geolocation::geolocationServicePositionChanged): Modfified. Stops the timers for all requests.
60237         * page/Geolocation.h: Modified.
60238         (WebCore::Geolocation::GeoNotifier::create): Modified. Takes Geolocation object as parameter.
60239
60240 2009-09-09  Chris Fleizach  <cfleizach@apple.com>
60241
60242         AX notifications should be an ENUM type instead of strings
60243         https://bugs.webkit.org/show_bug.cgi?id=28963
60244
60245         Build fix for Qt.
60246
60247         * accessibility/AXObjectCache.h:
60248         (WebCore::AXObjectCache::postNotification):
60249         (WebCore::AXObjectCache::postPlatformNotification):
60250
60251 2009-09-08  Chris Fleizach  <cfleizach@apple.com>
60252
60253         Reviewed by Darin Adler.
60254
60255         AX notifications should be an ENUM type instead of strings
60256         https://bugs.webkit.org/show_bug.cgi?id=28963
60257
60258         Moves AX notifications over to an ENUM type instead of
60259         using the actual string values that are used on OS X.
60260
60261         * accessibility/AXObjectCache.cpp:
60262         (WebCore::AXObjectCache::postNotification):
60263         (WebCore::AXObjectCache::selectedChildrenChanged):
60264         * accessibility/AXObjectCache.h:
60265         (WebCore::AXObjectCache::):
60266         * accessibility/AccessibilityRenderObject.cpp:
60267         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
60268         * accessibility/chromium/AXObjectCacheChromium.cpp:
60269         (WebCore::AXObjectCache::postPlatformNotification):
60270         * accessibility/gtk/AXObjectCacheAtk.cpp:
60271         (WebCore::AXObjectCache::postPlatformNotification):
60272         * accessibility/mac/AXObjectCacheMac.mm:
60273         (WebCore::AXObjectCache::postPlatformNotification):
60274         * accessibility/win/AXObjectCacheWin.cpp:
60275         (WebCore::AXObjectCache::postPlatformNotification):
60276         * dom/Document.cpp:
60277         (WebCore::Document::implicitClose):
60278         * dom/Element.cpp:
60279         (WebCore::Element::updateAfterAttributeChanged):
60280         * editing/Editor.cpp:
60281         (WebCore::Editor::respondToChangedContents):
60282         * editing/mac/SelectionControllerMac.mm:
60283         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
60284         * html/HTMLInputElement.cpp:
60285         (WebCore::HTMLInputElement::setChecked):
60286         * page/FrameView.cpp:
60287         (WebCore::FrameView::layout):
60288         * rendering/RenderTextControl.cpp:
60289         (WebCore::RenderTextControl::setInnerTextValue):
60290
60291 2009-09-08  Adam Barth  <abarth@webkit.org>
60292
60293         Reviewed by Eric Seidel.
60294
60295         Missing checkout for getSVGDocument()
60296         https://bugs.webkit.org/show_bug.cgi?id=29064
60297
60298         The V8 code generator didn't understand SVGCheckSecurityDocument.
60299
60300         Tests: http/tests/security/xss-DENIED-getSVGDocument-iframe.html
60301                http/tests/security/xss-DENIED-getSVGDocument-object.html
60302
60303         * bindings/scripts/CodeGeneratorV8.pm:
60304
60305 2009-09-09  Cameron McCormack  <cam@mcc.id.au>
60306
60307         Reviewed by Eric Seidel.
60308
60309         Make SVGStyleElement inherit from SVGLangSpace
60310         https://bugs.webkit.org/show_bug.cgi?id=29058
60311
60312         Required by SVG 1.1 Second Edition:
60313         http://dev.w3.org/SVG/profiles/1.1F2/publish/styling.html#InterfaceSVGStyleElement
60314
60315         Test: svg/dom/SVGStyleElement/style-langspace.html
60316
60317         * svg/SVGStyleElement.cpp: Drop methods xmlspace and setXmlspace.
60318         (WebCore::SVGStyleElement::SVGStyleElement): Add SVGLangSpace()
60319         initializer.
60320         (WebCore::SVGStyleElement::parseMappedAttribute): Call
60321         parseMappedAttribute on SVGLangSpace.
60322         * svg/SVGStyleElement.h: Drop xmlspace and setXmlspace declarations.
60323         * svg/SVGStyleElement.idl: Drop xmlspace attribute and add SVGLangSpace
60324         as a superinterface.
60325
60326 2009-09-09  Nate Chapin  <japhet@chromium.org>
60327
60328         Reviewed by David Levin.
60329
60330         Remove unnecessary includes and forward declarations in V8Proxy.h
60331
60332         https://bugs.webkit.org/show_bug.cgi?id=29111
60333
60334         * bindings/v8/V8Proxy.h:
60335
60336 2009-07-30  Eric Seidel  <eric@webkit.org>
60337
60338         Reviewed by Adam Barth.
60339
60340         Add more position constructors
60341         positionBeforeNode, positionAfterNode
60342         firstPositionInNode, lastPositionInNode
60343         https://bugs.webkit.org/show_bug.cgi?id=25494
60344
60345         I also added a lastOffsetInNode and deployed it to a couple places.
60346
60347         There are no callers to these new constructors yet, but those
60348         will be coming in future patches.
60349
60350         * dom/Position.cpp:
60351         (WebCore::Position::computeOffsetInContainerNode):
60352         * dom/Position.h:
60353         (WebCore::positionBeforeNode):
60354         (WebCore::positionAfterNode):
60355         (WebCore::lastOffsetInNode):
60356         (WebCore::firstPositionInNode):
60357         (WebCore::lastPositionInNode):
60358         * editing/ApplyStyleCommand.cpp:
60359         * editing/TextIterator.cpp:
60360         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
60361         * editing/htmlediting.cpp:
60362         (WebCore::lastOffsetForEditing):
60363
60364 2009-04-30  Eric Seidel  <eric@webkit.org>
60365
60366         Reviewed by Adam Barth.
60367
60368         Rename positionBeforeNode to positionInParentBeforeNode
60369         and positionAfterNode to positionInParentAfterNode
60370         in preparation for adding a positionBeforeNode
60371         which returns a neighbor-anchored position.
60372         https://bugs.webkit.org/show_bug.cgi?id=25494
60373
60374         No functional changes, thus no tests.
60375
60376         * dom/PositionConstructors.h:
60377         (WebCore::positionInParentBeforeNode):
60378         (WebCore::positionInParentAfterNode):
60379         * dom/PositionIterator.cpp:
60380         (WebCore::PositionIterator::operator Position):
60381         * editing/ApplyStyleCommand.cpp:
60382         (WebCore::ApplyStyleCommand::applyInlineStyle):
60383         * editing/CompositeEditCommand.cpp:
60384         (WebCore::CompositeEditCommand::positionOutsideTabSpan):
60385         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
60386         (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
60387         * editing/CreateLinkCommand.cpp:
60388         (WebCore::CreateLinkCommand::doApply):
60389         * editing/DeleteButtonController.cpp:
60390         (WebCore::DeleteButtonController::deleteTarget):
60391         * editing/DeleteSelectionCommand.cpp:
60392         (WebCore::DeleteSelectionCommand::initializeStartEnd):
60393         (WebCore::updatePositionForNodeRemoval):
60394         * editing/InsertLineBreakCommand.cpp:
60395         (WebCore::InsertLineBreakCommand::doApply):
60396         * editing/InsertListCommand.cpp:
60397         (WebCore::InsertListCommand::doApply):
60398         * editing/InsertParagraphSeparatorCommand.cpp:
60399         (WebCore::InsertParagraphSeparatorCommand::doApply):
60400         * editing/InsertTextCommand.cpp:
60401         (WebCore::InsertTextCommand::input):
60402         * editing/ReplaceSelectionCommand.cpp:
60403         (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent):
60404         (WebCore::ReplaceSelectionCommand::doApply):
60405         * editing/VisibleSelection.cpp:
60406         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
60407         * editing/htmlediting.cpp:
60408         (WebCore::firstEditablePositionAfterPositionInRoot):
60409         (WebCore::lastEditablePositionBeforePositionInRoot):
60410         (WebCore::rangeCompliantEquivalent):
60411         (WebCore::positionBeforeContainingSpecialElement):
60412         (WebCore::positionAfterContainingSpecialElement):
60413         (WebCore::positionBeforeTabSpan):
60414
60415 2009-04-30  Eric Seidel  <eric@webkit.org>
60416
60417         Reviewed by Adam Barth.
60418
60419         Re-organize position creation functions in preparation for adding more
60420         https://bugs.webkit.org/show_bug.cgi?id=25494
60421
60422         Make position functions inline to avoid ref-churn.
60423         Remove startPosition/endPosition as they were only used in one place.
60424
60425         No functional changes, thus no tests.
60426
60427         * dom/Position.cpp:
60428         * dom/Position.h:
60429         (WebCore::positionBeforeNode):
60430         (WebCore::positionAfterNode):
60431         * editing/SelectionController.cpp:
60432         (WebCore::SelectionController::moveTo):
60433         * editing/TypingCommand.cpp:
60434         * editing/htmlediting.cpp:
60435         * editing/htmlediting.h:
60436         (WebCore::firstDeepEditingPositionForNode):
60437         (WebCore::lastDeepEditingPositionForNode):
60438         * rendering/RenderObject.cpp:
60439
60440 2009-09-09  Kevin Watters  <kevinwatters@gmail.com>
60441
60442         Reviewed by Kevin Ollivier.
60443         
60444         [wx] Add wxSize conversions for IntSize.
60445         https://bugs.webkit.org/show_bug.cgi?id=29104
60446
60447         * platform/graphics/IntSize.h:
60448         * platform/graphics/wx/IntSizeWx.cpp: Added.
60449         (WebCore::IntSize::IntSize):
60450         (WebCore::IntSize::operator wxSize):
60451
60452 2009-09-09  Yaar Schnitman  <yaar@chromium.org>
60453
60454         Reviewed by David Levin.
60455         
60456         Chromium uses its own config.h file that was forked from webkit's config.h.
60457         By merging in Chromium's defines, Chromium would again be able to use webkit's
60458         config.h.
60459
60460         https://bugs.webkit.org/show_bug.cgi?id=28882 
60461
60462         * config.h: Added chromium-specific defines. 
60463
60464 2009-09-09  Jens Alfke  <snej@chromium.org>
60465
60466         Reviewed by Eric Seidel.
60467
60468         Initialize DataTransfer's effectAllowed and dropEffect properties correctly
60469         according to HTML5 spec (sec. 7.9.2-7.9.3).
60470         https://bugs.webkit.org/show_bug.cgi?id=26700
60471         - At the start of a drag operation, the value of effectAllowed should be
60472           the string "uninitialized".
60473         - At end of dragstart handler, if effectAllowed hasn't been set yet, it
60474           should be set to "copy".
60475         - on dragenter and dragover event, dropEffect should be initialized to a
60476           default value based on the value of effectAllowed.
60477         - at end of dragenter and dragover the dropEffect should be set to "none"
60478           if the value set by the handler doesn't match the effectAllowed.
60479         - on dragleave event, dropEffect should be "none".
60480         - on drop event, dropEffect should be the previously negotiated value.
60481
60482         Test: fast/events/drag-dropeffect.html
60483
60484         * WebCore.base.exp:
60485             Added a parameter to EventHandler::dragSourceMovedTo.
60486         * dom/Clipboard.cpp:
60487         (WebCore::Clipboard::Clipboard):
60488             Initialize m_effectAllowed to "uninitialized".
60489         (WebCore::Clipboard::sourceOperation):
60490             Treat "uninitialized" as meaning no value has been set.
60491         * page/DragController.cpp:
60492         (WebCore::DragController::DragController):
60493             Initialize new member m_destinationDragOperation.
60494         (WebCore::DragController::dragExited):
60495             Set m_destinationDragOperation to none on dragExit.
60496         (WebCore::DragController::performDrag):
60497             Set m_destinationDragOperation to current dropEffect.
60498         (WebCore::DragController::dragEnteredOrUpdated):
60499             Make sure to clear the operation if drag source doesn't allow it.
60500         (WebCore::DragController::tryDHTMLDrag):
60501             Set a default value for the dst drag op before sending dragEnter/Over.
60502         (WebCore::DragController::startDrag):
60503             Clear m_destinationDragOperation at start of drag.
60504         * page/DragController.h:
60505         (WebCore::DragController::destinationDragOperation):
60506             Added new member m_destinationDragOperation, and its public getter.
60507         * page/EventHandler.cpp:
60508         (WebCore::EventHandler::updateDragAndDrop):
60509             dropEffect should be 'none' during dropleave handler, per spec.
60510         (WebCore::EventHandler::dragSourceMovedTo):
60511             Added DragOperation parameter, so the handler sees the current dropEffect.
60512         (WebCore::EventHandler::handleDrag):
60513             Assume DragOperationEvery for non-DHTML drags.
60514         * page/EventHandler.h:
60515             Added DragOperation parameter to dragSourceMovedTo().
60516
60517 2009-09-09  Dumitru Daniliuc  <dumi@chromium.org>
60518
60519         Reviewed by Dimitri Glazkov.
60520
60521         1. Adding support/bindings for read-only transactions.
60522         2. Disallowing the SQLITE_*_VIEW and REINDEX operations in the
60523         private browsing mode.
60524         3. Adding an authorizer test.
60525
60526         https://bugs.webkit.org/show_bug.cgi?id=28918
60527
60528         Test: storage/test-authorizer.html
60529
60530         * bindings/js/JSDatabaseCustom.cpp:
60531         (WebCore::createTransaction): Parses all arguments and executes a
60532         transaction.
60533         (WebCore::JSDatabase::transaction): Refactored to use
60534         createTransaction().
60535         (WebCore::JSDatabase::readTransaction): Added to execute read-only
60536         transactions using createTransaction().
60537         * bindings/v8/custom/V8CustomBinding.h: Added the binding for
60538         Database::readTransaction().
60539         * bindings/v8/custom/V8DatabaseCustom.cpp:
60540         (WebCore::createTransaction): Parses all arguments and executes a
60541         transaction.
60542         (WebCore::transaction): Refactored to use createTransaction().
60543         (WebCore::readTransaction): Added to execute read-only
60544         transactions using createTransaction().
60545         * storage/Database.cpp:
60546         (WebCore::Database::transaction): Added support for read-only
60547         transactions.
60548         * storage/Database.h: Added support for read-only transactions.
60549         * storage/Database.idl: Added support for read-only transactions.
60550         * storage/DatabaseAuthorizer.cpp:
60551         (WebCore::DatabaseAuthorizer::createTempTable): Make it obvious
60552         that the statement will be denied in private browsing mode and
60553         read-only transactions.
60554         (WebCore::DatabaseAuthorizer::dropTempTable): Same.
60555         (WebCore::DatabaseAuthorizer::createTempIndex): Same.
60556         (WebCore::DatabaseAuthorizer::dropTempIndex): Same.
60557         (WebCore::DatabaseAuthorizer::createTempTrigger): Same.
60558         (WebCore::DatabaseAuthorizer::dropTempTrigger): Same.
60559         (WebCore::DatabaseAuthorizer::createView): Deny in private
60560         browsing mode and read-only transactions.
60561         (WebCore::DatabaseAuthorizer::createTempView): Same.
60562         (WebCore::DatabaseAuthorizer::dropView): Same.
60563         (WebCore::DatabaseAuthorizer::dropTempView): Same.
60564         (WebCore::DatabaseAuthorizer::allowReindex): Same.
60565         * storage/DatabaseAuthorizer.h:
60566         * storage/SQLTransaction.cpp: Added support for read-only
60567         transactions.
60568         (WebCore::SQLTransaction::create):
60569         (WebCore::SQLTransaction::SQLTransaction):
60570         (WebCore::SQLTransaction::executeSQL):
60571         (WebCore::SQLTransaction::acquireLock):
60572         * storage/SQLTransaction.h:
60573         * storage/SQLTransactionCoordinator.cpp:
60574         (WebCore::SQLTransactionCoordinator::acquireLock): Added a new
60575         parameter in preparation for a change that will allow multiple
60576         read-only transactions on the same DB to run concurrently.
60577         * storage/SQLTransactionCoordinator.h:
60578
60579 2009-09-09  Dave Hyatt  <hyatt@apple.com>
60580
60581         Reviewed by Adam Roben.
60582
60583         https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection.  This is similar
60584         to user script injection but allows for user stylesheets to be added.  The stylesheets are applied immediately
60585         to all Frames in the PageGroup.
60586
60587         Added userscripts/simple-stylesheet.html test case.
60588
60589         * WebCore.base.exp:
60590         * WebCore.gypi:
60591         * WebCore.vcproj/WebCore.vcproj:
60592         * WebCore.xcodeproj/project.pbxproj:
60593         * css/CSSStyleSelector.cpp:
60594         (WebCore::CSSStyleSelector::CSSStyleSelector):
60595         * css/CSSStyleSelector.h:
60596         * dom/Document.cpp:
60597         (WebCore::Document::Document):
60598         (WebCore::Document::attach):
60599         (WebCore::Document::pageGroupUserSheets):
60600         (WebCore::Document::clearPageGroupUserSheets):
60601         (WebCore::Document::recalcStyleSelector):
60602         * dom/Document.h:
60603         * loader/PlaceholderDocument.cpp:
60604         (WebCore::PlaceholderDocument::attach):
60605         * page/PageGroup.cpp:
60606         (WebCore::PageGroup::addUserStyleSheet):
60607         (WebCore::PageGroup::removeUserContentForWorld):
60608         (WebCore::PageGroup::removeAllUserContent):
60609         * page/PageGroup.h:
60610         (WebCore::PageGroup::userStyleSheets):
60611         * page/UserStyleSheet.h: Added.
60612         (WebCore::UserStyleSheet::UserStyleSheet):
60613         (WebCore::UserStyleSheet::source):
60614         (WebCore::UserStyleSheet::url):
60615         (WebCore::UserStyleSheet::patterns):
60616         (WebCore::UserStyleSheet::worldID):
60617         * page/UserStyleSheetTypes.h: Added.
60618
60619 2009-09-09  Carol Szabo  <carol.szabo@nokia.com>
60620
60621         Reviewed by Ariya Hidayat.
60622
60623         [Qt] CSS Style -webkit-box-shadow is not rendered correctly on
60624         Qt platform
60625         https://bugs.webkit.org/show_bug.cgi?id=23291
60626
60627         * platform/graphics/qt/GraphicsContextQt.cpp:
60628         (WebCore::GraphicsContext::drawRect):
60629         (WebCore::GraphicsContext::strokeArc):
60630         (WebCore::GraphicsContext::drawConvexPolygon):
60631         (WebCore::GraphicsContext::fillPath):
60632         (WebCore::GraphicsContext::strokePath):
60633         (WebCore::GraphicsContext::fillRect):
60634         (WebCore::GraphicsContext::fillRoundedRect):
60635          Added the ability to draw shadows for all these curves.
60636
60637 2009-09-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
60638
60639         Reviewed by Simon Hausmann.
60640
60641         Add the qwebgraphicsitem.cpp to the build system.
60642
60643         https://bugs.webkit.org/show_bug.cgi?id=28862
60644
60645         * WebCore.pro:
60646
60647 2009-09-09  Kevin Watters  <kevinwatters@gmail.com>
60648
60649         Reviewed by Kevin Ollivier.
60650
60651         [wx port] Move functions in TemporaryLinkStubs.cpp out to files where
60652         they belong.
60653
60654         https://bugs.webkit.org/show_bug.cgi?id=29088
60655
60656         * editing/wx/EditorWx.cpp:
60657         (WebCore::Editor::showColorPanel):
60658         (WebCore::Editor::showFontPanel):
60659         (WebCore::Editor::showStylesPanel):
60660         * platform/graphics/wx/GraphicsContextWx.cpp:
60661         (WebCore::GraphicsContext::setPlatformShadow):
60662         (WebCore::GraphicsContext::clearPlatformShadow):
60663         (WebCore::GraphicsContext::beginTransparencyLayer):
60664         (WebCore::GraphicsContext::endTransparencyLayer):
60665         (WebCore::GraphicsContext::clearRect):
60666         (WebCore::GraphicsContext::strokeRect):
60667         (WebCore::GraphicsContext::setLineCap):
60668         (WebCore::GraphicsContext::setLineJoin):
60669         (WebCore::GraphicsContext::setMiterLimit):
60670         (WebCore::GraphicsContext::setAlpha):
60671         (WebCore::GraphicsContext::addInnerRoundedRectClip):
60672         * platform/graphics/wx/IconWx.cpp: Added.
60673         (WebCore::Icon::~Icon):
60674         (WebCore::Icon::createIconForFile):
60675         (WebCore::Icon::createIconForFiles):
60676         (WebCore::Icon::paint):
60677         * platform/graphics/wx/ImageWx.cpp:
60678         (WebCore::Image::loadPlatformResource):
60679         (WebCore::Image::drawPattern):
60680         * platform/wx/CursorWx.cpp:
60681         (WebCore::moveCursor):
60682         * platform/wx/FileChooserWx.cpp: Added.
60683         (WebCore::FileChooser::basenameForWidth):
60684         * platform/wx/KURLWx.cpp: Added.
60685         (WebCore::KURL::fileSystemPath):
60686         * platform/wx/SSLKeyGeneratorWx.cpp: Added.
60687         (WebCore::getSupportedKeySizes):
60688         (WebCore::signedPublicKeyAndChallengeString):
60689         * platform/wx/SearchPopupMenuWx.cpp: Added.
60690         (WebCore::SearchPopupMenu::SearchPopupMenu):
60691         (WebCore::SearchPopupMenu::saveRecentSearches):
60692         (WebCore::SearchPopupMenu::loadRecentSearches):
60693         (WebCore::SearchPopupMenu::enabled):
60694         * platform/wx/SharedBufferWx.cpp: Added.
60695         (WebCore::SharedBuffer::createWithContentsOfFile):
60696         * platform/wx/SystemTimeWx.cpp: Added.
60697         (WebCore::userIdleTime):
60698         * platform/wx/TemporaryLinkStubs.cpp: Removed.
60699         * platform/wx/TextBreakIteratorInternalICUWx.cpp: Added.
60700         (WebCore::currentSearchLocaleID):
60701         (WebCore::currentTextBreakLocaleID):
60702         * platform/wx/WidgetWx.cpp:
60703         (WebCore::Widget::setIsSelected):
60704
60705 2009-09-09  Steve Block  <steveblock@google.com>
60706
60707         Reviewed by Adam Barth.
60708
60709         Geolocation incorrectly calls error callback in case of exception in success callback.
60710         https://bugs.webkit.org/show_bug.cgi?id=27255
60711
60712         Test: fast/dom/Geolocation/callback-exception.html
60713
60714         * bindings/js/JSCustomPositionCallback.cpp: Modified.
60715         (WebCore::JSCustomPositionCallback::handleEvent): Modified. Removed raisedException out param.
60716         * bindings/js/JSCustomPositionCallback.h: Modified. Removed raisedException out param from handleEvent method and made handleEvent private.
60717         * bindings/js/JSCustomPositionErrorCallback.h: Modified. Made handleEvent private.
60718         * page/Geolocation.cpp: Modified.
60719         (WebCore::Geolocation::sendPosition): Modified. No longer call error callback in case of exception in success callback.
60720         * page/PositionCallback.h: Modified. Removed raisedException out param from handleEvent method.
60721
60722 2009-09-09  Steve Block  <steveblock@google.com>
60723
60724         Reviewed by Darin Adler.
60725
60726         When Geolocation permission is denied, stops watches as well as one-shots.
60727         https://bugs.webkit.org/show_bug.cgi?id=28305.
60728
60729         Tests: fast/dom/Geolocation/watch.html
60730                fast/dom/Geolocation/permission-denied-stops-watches.html
60731
60732         * page/Geolocation.cpp: Modified.
60733         (WebCore::Geolocation::setIsAllowed): Modified. Marks the permission error as fatal.
60734         (WebCore::Geolocation::handleError): Modified. If the error is fatal, stops watchers as well as one-shots.
60735         * page/PositionError.h: Modified.
60736         (WebCore::PositionError::setIsFatal): Added. Marks an error as fatal.
60737         (WebCore::PositionError::isFatal): Added. Determines whether an error is fatal.
60738
60739 2009-09-09  Roland Steiner  <rolandsteiner@google.com>
60740
60741         Reviewed by Eric Seidel.
60742
60743         Bug 28964 -  [Chromium] ChromiumDataObject should have getter/setter interface
60744
60745         Added getter/setter methods and trivial inline implementations for each.
60746         (Note that they are not yet actually used.)
60747         Once the Chromium code is changed to use them instead of directly accessing the
60748         member variables, the member variables should be made private and cleaned up.
60749
60750         No new tests (no functional behavior changed).
60751
60752         * platform/chromium/ChromiumDataObject.h:
60753         (WebCore::ChromiumDataObject::mainURL):
60754         (WebCore::ChromiumDataObject::setMainURL):
60755         (WebCore::ChromiumDataObject::mainURLTitle):
60756         (WebCore::ChromiumDataObject::setMainURLTitle):
60757         (WebCore::ChromiumDataObject::textPlain):
60758         (WebCore::ChromiumDataObject::setTextPlain):
60759         (WebCore::ChromiumDataObject::textHTML):
60760         (WebCore::ChromiumDataObject::setTextHTML):
60761         (WebCore::ChromiumDataObject::htmlBaseURL):
60762         (WebCore::ChromiumDataObject::setHTMLBaseURL):
60763         (WebCore::ChromiumDataObject::content):
60764         (WebCore::ChromiumDataObject::releaseContent):
60765         (WebCore::ChromiumDataObject::setContent):
60766         (WebCore::ChromiumDataObject::contentFileExtension):
60767         (WebCore::ChromiumDataObject::setContentFileExtension):
60768         (WebCore::ChromiumDataObject::contentFileName):
60769         (WebCore::ChromiumDataObject::setContentFileName):
60770         (WebCore::ChromiumDataObject::fileNames):
60771         (WebCore::ChromiumDataObject::setFileNames):
60772         (WebCore::ChromiumDataObject::takeFileNames):
60773
60774 2009-09-08  Pat Bradley  <vincent.bradley@nokia.com>
60775
60776         Reviewed by Ariya Hidayat.
60777
60778         [Qt] locale date displays incorrect date format in symbian.
60779         https://bugs.webkit.org/show_bug.cgi?id=29032
60780
60781         strftime() in Symbian does not support #
60782         Layout tests cannot be run on Symbian yet, so they are not updated.
60783
60784         * runtime/DatePrototype.cpp:
60785         (JSC::formatLocaleDate):
60786
60787 2009-09-09  Rohini Ananth <rohini.ananth@nokia.com>
60788
60789         Reviewed by Simon Hausmann.
60790
60791         NPAPI Plugin NPP_AsFile not working on Qt Webkit
60792         https://bugs.webkit.org/show_bug.cgi?id=29068
60793
60794         * platform/qt/FileSystemQt.cpp:
60795         (WebCore::openTemporaryFile)
60796         Autoremove property of QTemporaryFile has been set to false. Hence closeFile() just closes and does not delete the file.
60797         This solves the deletion of created temp file in PluginStream::destroyStream() before passing to plugin in NPP_AsFile.
60798
60799 2009-09-08  Oliver Hunt  <oliver@apple.com>
60800
60801         Reviewed by NOBODY (Build fix).
60802
60803         Remove a few incorrect changes I left in.
60804
60805         * bindings/scripts/CodeGeneratorJS.pm:
60806
60807 2009-09-08  Oliver Hunt  <oliver@apple.com>
60808
60809         Reviewed by Sam Weinig.
60810
60811         Support numeric index getters in bindings
60812         https://bugs.webkit.org/show_bug.cgi?id=29067
60813
60814         Add HasNumericIndexGetter to indicate a non-custom getter that
60815         returns a number.  The numeric index getter also uses PropertySlot's
60816         setValue rather than setCustomIndex to avoid an additional indirect
60817         call.
60818
60819         * bindings/js/JSCanvasByteArrayCustom.cpp:
60820         * bindings/js/JSCanvasFloatArrayCustom.cpp:
60821         * bindings/js/JSCanvasIntArrayCustom.cpp:
60822         * bindings/js/JSCanvasShortArrayCustom.cpp:
60823         * bindings/js/JSCanvasUnsignedByteArrayCustom.cpp:
60824         * bindings/js/JSCanvasUnsignedIntArrayCustom.cpp:
60825         * bindings/js/JSCanvasUnsignedShortArrayCustom.cpp:
60826         * bindings/scripts/CodeGeneratorJS.pm:
60827         * html/canvas/CanvasByteArray.h:
60828         (WebCore::CanvasByteArray::item):
60829         * html/canvas/CanvasByteArray.idl:
60830         * html/canvas/CanvasFloatArray.h:
60831         (WebCore::CanvasFloatArray::get):
60832         (WebCore::CanvasFloatArray::item):
60833         * html/canvas/CanvasFloatArray.idl:
60834         * html/canvas/CanvasIntArray.h:
60835         (WebCore::CanvasIntArray::get):
60836         (WebCore::CanvasIntArray::item):
60837         * html/canvas/CanvasIntArray.idl:
60838         * html/canvas/CanvasPixelArray.idl:
60839         * html/canvas/CanvasShortArray.h:
60840         (WebCore::CanvasShortArray::get):
60841         (WebCore::CanvasShortArray::item):
60842         * html/canvas/CanvasShortArray.idl:
60843         * html/canvas/CanvasUnsignedByteArray.h:
60844         (WebCore::CanvasUnsignedByteArray::get):
60845         (WebCore::CanvasUnsignedByteArray::item):
60846         * html/canvas/CanvasUnsignedByteArray.idl:
60847         * html/canvas/CanvasUnsignedIntArray.h:
60848         (WebCore::CanvasUnsignedIntArray::get):
60849         (WebCore::CanvasUnsignedIntArray::item):
60850         * html/canvas/CanvasUnsignedIntArray.idl:
60851         * html/canvas/CanvasUnsignedShortArray.h:
60852         (WebCore::CanvasUnsignedShortArray::item):
60853         * html/canvas/CanvasUnsignedShortArray.idl:
60854
60855 2009-09-08  Kevin Ollivier  <kevino@theolliviers.com>
60856
60857         wx build fix for 2.8.
60858
60859         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
60860         (wxRenderer_DrawScrollbar):
60861
60862 2009-09-08  Jens Alfke  <snej@chromium.org>
60863
60864         Reviewed by Eric Seidel.
60865
60866         In Mac Chromium, clicking below the last line of an editable area (textarea or
60867         contenteditable) should put the caret at the end of the last line, as in Mac Safari.
60868
60869         Tests: LayoutTests/editing/selection/click-in-margins-inside-editable-div.html
60870                LayoutTests/editing/selection/click-in-padding-with-multiple-line-boxes.html
60871
60872         * page/Settings.cpp:
60873         (WebCore::Settings::Settings): Change #if PLATFORM_MAC to be Mac-Chrome-inclusive.
60874
60875 2009-09-08  Dave Hyatt  <hyatt@apple.com>
60876
60877         Reviewed by Mark Rowe.
60878
60879         Make sure not to do an early return when a data URL stylesheet successfully loads.  We need to still
60880         clear the old cached sheet out of all existing Frames.  Fixes the data URL stylesheet layout test failure.
60881
60882         * page/Page.cpp:
60883         (WebCore::Page::userStyleSheetLocationChanged):
60884
60885 2009-09-08  Sam Weinig  <sam@webkit.org>
60886
60887         Fix windows build.
60888
60889         * dom/Document.idl:
60890
60891 2009-09-08  Kevin Ollivier  <kevino@theolliviers.com>
60892
60893         More robust wx build fix for 2.9.
60894
60895         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
60896         (wxRenderer_DrawScrollbar):
60897
60898 2009-09-08  Sam Weinig  <sam@webkit.org>
60899
60900         Reviewed by Timothy Hatcher.
60901
60902         Fix for https://bugs.webkit.org/show_bug.cgi?id=27046
60903         Implement CSSOM DocumentView.caretRangeFromPoint
60904
60905         Tests: fast/dom/Document/CaretRangeFromPoint/basic.html
60906                fast/dom/Document/CaretRangeFromPoint/replace-element.html
60907
60908         * dom/Document.cpp:
60909         (WebCore::Document::caretRangeFromPoint):
60910         * dom/Document.h:
60911         * dom/Document.idl:
60912
60913 2009-09-08  Kevin Ollivier  <kevino@theolliviers.com>
60914
60915         wx build fix, generate derived sources earlier in order to make sure
60916         they're found by the build system when generating the list of sources to build.
60917
60918         * wscript:
60919
60920 2009-09-08  Nate Chapin  <japhet@chromium.org>
60921
60922         Reviewed by Dimitri Glazkov.
60923
60924         <iterator> include in V8Proxy.h is spurious and causing ObjC compile issues for Chromium.
60925
60926         Test: Chromium mac canary build is fixed.
60927
60928         * bindings/v8/V8Proxy.h: Remove <iterator> include.
60929
60930 2009-09-08  Xan Lopez  <xlopez@igalia.com>
60931
60932         Unreviewed attempt to fix the GTKbuild.
60933
60934         * GNUmakefile.am:
60935
60936 2009-09-04  Dave Hyatt  <hyatt@apple.com>
60937
60938         Reviewed by Eric Seidel.
60939
60940         https://bugs.webkit.org/show_bug.cgi?id=28987, make the Document cache the page's user stylesheet in
60941         parsed form.  Allows the sheet to survive across destruction/re-creation of the CSSStyleSelector.
60942
60943         * css/CSSStyleSelector.cpp:
60944         (WebCore::CSSStyleSelector::CSSStyleSelector):
60945         * css/CSSStyleSelector.h:
60946         * dom/Document.cpp:
60947         (WebCore::Document::attach):
60948         (WebCore::Document::pageUserSheet):
60949         (WebCore::Document::clearPageUserSheet):
60950         (WebCore::Document::recalcStyleSelector):
60951         * dom/Document.h:
60952         * loader/PlaceholderDocument.cpp:
60953         (WebCore::PlaceholderDocument::attach):
60954         * page/Page.cpp:
60955         (WebCore::Page::userStyleSheetLocationChanged):
60956         * page/Settings.cpp:
60957         (WebCore::Settings::setUserStyleSheetLocation):
60958
60959 2009-09-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
60960
60961         Unreviewed buildfix.
60962
60963         Fix Qt build after 48167, by adding the new cpp/h files
60964         added to WebCore.gypi to WebCore.pro as well.
60965
60966         * WebCore.pro:
60967
60968 2009-09-08  Xan Lopez  <xlopez@igalia.com>
60969
60970         Reviewed by Gustavo Noronha.
60971
60972         should not pass URI fragments to libsoup
60973         https://bugs.webkit.org/show_bug.cgi?id=28687
60974
60975         Strip the fragment from the URI before passing it to soup, since
60976         it forwards it to servers in some cases (like when using a proxy)
60977         which confuses them and makes them return 403/404.
60978
60979         * platform/network/soup/ResourceHandleSoup.cpp:
60980         (WebCore::startHttp):
60981         (WebCore::):
60982
60983 2009-09-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
60984
60985         Reviewed by Simon Hausmann.
60986
60987         Add QGraphicsScene events support to the Qt platform events.
60988
60989         * platform/PlatformMouseEvent.h:
60990         * platform/PlatformWheelEvent.h:
60991         * platform/qt/PlatformMouseEventQt.cpp:
60992         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
60993         * platform/qt/WheelEventQt.cpp:
60994         (WebCore::PlatformWheelEvent::applyDelta):
60995         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
60996
60997 2009-09-08  Michael Nordman  <michaeln@google.com>
60998
60999         Reviewed by Eric Seidel.
61000
61001         [Chromium] Cleanup: remove a few deprecated methods.
61002         https://bugs.webkit.org/show_bug.cgi?id=28960
61003
61004         No new tests, just syntactic sugar.
61005
61006         * platform/network/chromium/ResourceRequest.h:
61007         * platform/network/chromium/ResourceResponse.h:
61008
61009 2009-09-08  Yongjun Zhang  <yongjun.zhang@nokia.com>
61010
61011         Reviewed by Ariya Hidayat.
61012
61013         https://bugs.webkit.org/show_bug.cgi?id=28981
61014
61015         [Qt] make npapi.h compile in winscw compiler.
61016
61017         Add XP_SYMBIAN macro to identify Symbian OS; this macro should be used for Symbian
61018         specific changes in npapi.h.
61019         Undefine XP_WIN when building for Symbian to avoid including Windows specific code.
61020
61021         * bridge/npapi.h:
61022
61023 2009-09-08  Oliver Hunt  <oliver@apple.com>
61024
61025         Reviewed by Geoff Garen.
61026
61027         Web Inspector assertion failure related to marking
61028         https://bugs.webkit.org/show_bug.cgi?id=28997
61029
61030         When wrapping the callback the JSInspectorCallbackWrapper creator was using
61031         inheritorID for the prototype structure which is unsafe for anything other
61032         than a pure JS object.  Instead we now create a new structure, which while
61033         inefficient is not problematic as this code is not hit frequently.
61034
61035         * bindings/js/JSInspectorCallbackWrapper.cpp:
61036         (WebCore::JSInspectorCallbackWrapper::wrap):
61037
61038 2009-09-08  Kelly Norton  <knorton@google.com>
61039
61040         Reviewed by Dimitri Glazkov.
61041
61042         Add missing extension to the file entry in WebCore.vcproj.
61043
61044         * WebCore.vcproj/WebCore.vcproj: Added "cpp".
61045
61046 2009-09-08  Jian Li  <jianli@chromium.org>
61047
61048         Reviewed by David Levin.
61049
61050         dataTransfer.types() should not return Files if file list is empty in the clipboard.
61051         https://bugs.webkit.org/show_bug.cgi?id=28891
61052
61053         We change the behavior to handle the empty file list in order to match the spec.
61054
61055         Tested by clipboard-file-access.html.
61056
61057         * platform/mac/ClipboardMac.mm:
61058         (WebCore::addHTMLClipboardTypesForCocoaType):
61059         (WebCore::ClipboardMac::types):
61060
61061 2009-09-08  Steve VanDeBogart  <vandebo@chromium.org>
61062
61063         Reviewed by Eric Seidel.
61064
61065         Handle middle click in Chromium like QT
61066         https://bugs.webkit.org/show_bug.cgi?id=28696
61067
61068         Tested by middle-click-onpaste.html.
61069
61070         * platform/Pasteboard.h:
61071         * platform/chromium/ChromiumBridge.h:
61072         * platform/chromium/ClipboardChromium.cpp:
61073         (WebCore::ClipboardChromium::getData):
61074         * platform/chromium/PasteboardChromium.cpp:
61075         (WebCore::Pasteboard::Pasteboard):
61076         (WebCore::Pasteboard::isSelectionMode):
61077         (WebCore::Pasteboard::setSelectionMode):
61078         (WebCore::Pasteboard::canSmartReplace):
61079         (WebCore::Pasteboard::plainText):
61080         (WebCore::Pasteboard::documentFragment):
61081         * platform/chromium/PasteboardPrivate.h:
61082         (WebCore::PasteboardPrivate::):
61083
61084 2009-09-08  Kelly Norton  <knorton@google.com>
61085
61086         Reviewed by Eric Seidel.
61087
61088         WebInspector: Adds a timeline agent to InspectorController that collects
61089         high-level timing data about event dispatch, layout, painting and HTML
61090         parsing and makes it available to Inspector.
61091         https://bugs.webkit.org/show_bug.cgi?id=25503
61092
61093         * WebCore.gypi:
61094         * WebCore.xcodeproj/project.pbxproj:
61095         * dom/Document.cpp:
61096         (WebCore::Document::recalcStyle):
61097         * dom/Document.h:
61098         (WebCore::Document::inspectorTimelineAgent):
61099         * dom/Node.cpp:
61100         (WebCore::Node::dispatchGenericEvent):
61101         * html/HTMLTokenizer.cpp:
61102         (WebCore::HTMLTokenizer::write):
61103         * inspector/DOMDispatchTimelineItem.cpp: Added.
61104         (WebCore::DOMDispatchTimelineItem::DOMDispatchTimelineItem):
61105         (WebCore::DOMDispatchTimelineItem::convertToScriptObject):
61106         * inspector/DOMDispatchTimelineItem.h: Added.
61107         (WebCore::DOMDispatchTimelineItem::~DOMDispatchTimelineItem):
61108         * inspector/InspectorBackend.cpp:
61109         (WebCore::InspectorBackend::enableTimeline):
61110         (WebCore::InspectorBackend::disableTimeline):
61111         (WebCore::InspectorBackend::timelineEnabled):
61112         * inspector/InspectorBackend.h:
61113         * inspector/InspectorBackend.idl:
61114         * inspector/InspectorController.cpp:
61115         (WebCore::InspectorController::setFrontendProxyObject):
61116         (WebCore::InspectorController::close):
61117         (WebCore::InspectorController::resetScriptObjects):
61118         (WebCore::InspectorController::enableTimeline):
61119         (WebCore::InspectorController::disableTimeline):
61120         (WebCore::InspectorController::timelineEnabled):
61121         * inspector/InspectorController.h:
61122         (WebCore::InspectorController::timelineAgent):
61123         * inspector/InspectorFrontend.cpp:
61124         (WebCore::InspectorFrontend::timelineWasEnabled):
61125         (WebCore::InspectorFrontend::timelineWasDisabled):
61126         (WebCore::InspectorFrontend::addItemToTimeline):
61127         * inspector/InspectorFrontend.h:
61128         * inspector/InspectorTimelineAgent.cpp: Added.
61129         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
61130         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
61131         (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
61132         (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
61133         (WebCore::InspectorTimelineAgent::willLayout):
61134         (WebCore::InspectorTimelineAgent::didLayout):
61135         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
61136         (WebCore::InspectorTimelineAgent::didRecalculateStyle):
61137         (WebCore::InspectorTimelineAgent::willPaint):
61138         (WebCore::InspectorTimelineAgent::didPaint):
61139         (WebCore::InspectorTimelineAgent::willWriteHTML):
61140         (WebCore::InspectorTimelineAgent::didWriteHTML):
61141         (WebCore::InspectorTimelineAgent::reset):
61142         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
61143         (WebCore::InspectorTimelineAgent::currentTimeInMilliseconds):
61144         (WebCore::InspectorTimelineAgent::sessionTimeInMilliseconds):
61145         * inspector/InspectorTimelineAgent.h: Added.
61146         * inspector/TimelineItem.cpp: Added.
61147         (WebCore::TimelineItem::TimelineItem):
61148         (WebCore::TimelineItem::addToTimeline):
61149         (WebCore::TimelineItem::convertToScriptObject):
61150         (WebCore::TimelineItem::convertChildrenToScriptArray):
61151         (WebCore::TimelineItem::addChildItem):
61152         * inspector/TimelineItem.h: Added.
61153         (WebCore::):
61154         (WebCore::TimelineItem::~TimelineItem):
61155         (WebCore::TimelineItem::previous):
61156         (WebCore::TimelineItem::releasePrevious):
61157         (WebCore::TimelineItem::setEndTime):
61158         (WebCore::TimelineItem::type):
61159         * inspector/front-end/TimelineAgent.js: Added.
61160         (WebInspector.TimelineAgent):
61161         (WebInspector.addItemToTimeline):
61162         (WebInspector.timelineWasEnabled):
61163         (WebInspector.timelineWasDisabled):
61164         * inspector/front-end/inspector.html:
61165         * page/FrameView.cpp:
61166         (WebCore::FrameView::layout):
61167         (WebCore::FrameView::paintContents):
61168         * page/FrameView.h:
61169         (WebCore::FrameView::inspectorTimelineAgent):
61170         * page/Page.cpp:
61171         (WebCore::Page::inspectorTimelineAgent):
61172         * page/Page.h:
61173
61174 2009-09-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
61175
61176         Reviewed by Simon Hausmann.
61177
61178         [Qt] Fix unused variable warnings
61179         https://bugs.webkit.org/show_bug.cgi?id=29018
61180
61181         No functional change, no tests.
61182
61183         * history/qt/HistoryItemQt.cpp:
61184         (WebCore::HistoryItem::restoreState):
61185         * platform/graphics/qt/ImageBufferQt.cpp:
61186         (WebCore::putImageData):
61187         * platform/qt/RenderThemeQt.cpp:
61188         (WebCore::RenderThemeQt::paintMenuList):
61189
61190 2009-09-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
61191
61192         Reviewed by Ariya Hidayat.
61193
61194         [Qt] Use the declaration order in initializer lists
61195         https://bugs.webkit.org/show_bug.cgi?id=29017
61196
61197         No functional change, no new tests.
61198
61199         * platform/graphics/qt/FontCacheQt.cpp:
61200         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
61201         * platform/network/qt/QNetworkReplyHandler.cpp:
61202         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
61203
61204 2009-09-08  Kent Tamura  <tkent@chromium.org>
61205
61206         Reviewed by Eric Seidel.
61207
61208         Implement ValidityState::typeMismatch() for <input type=number>.
61209         https://bugs.webkit.org/show_bug.cgi?id=28934
61210
61211         Test: fast/forms/ValidityState-typeMismatch-number.html
61212
61213         * html/HTMLInputElement.cpp:
61214         (WebCore::HTMLInputElement::formStringToDouble):
61215         * html/HTMLInputElement.h:
61216         * html/ValidityState.cpp:
61217         (WebCore::ValidityState::typeMismatch):
61218         * html/ValidityState.h:
61219
61220 2009-09-08  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
61221
61222         Reviewed by Gustavo Noronha.
61223
61224         [Gtk] Another attempt of a buildfix.
61225
61226         * GNUmakefile.am: Modified. Remove some extra IDL files added in r48153.
61227
61228 2009-09-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
61229
61230         Reviewed by Simon Hausmann.
61231
61232         [Qt] Make cursor set cleaner in QtWebKit Api: eliminate SetCursorEvent hack.
61233         https://bugs.webkit.org/show_bug.cgi?id=28865
61234
61235         Save the QCursor as a property in WidgetQt::setCursor
61236         and actually change the cursor in QWebView::event() by making use
61237         of the QEvent::DynamicPropertyChange event type.
61238         When unsetCursor() is called on the QWidget we can fallback to
61239         the cursor set by WebCore.
61240
61241         Patch by Kenneth Rohde Christiansen <kenneth@webkit.org> and
61242                  Antonio Gomes <antonio.gomes@openbossa.org> on 2009-09-07
61243
61244         * platform/qt/WidgetQt.cpp:
61245         (WebCore::Widget::setCursor):
61246
61247 2009-09-08  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
61248
61249         Reviewed by Gustavo Noronha.
61250
61251         [Gtk] Buildfix for build error introduced in r48150.
61252
61253         * GNUmakefile.am: Modified. Added missing IDL files.
61254
61255 2009-09-08  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
61256
61257         Reviewed by Tor Arne Vestbø.
61258
61259         [Qt] Buildfix. Build error caused by r48150.
61260
61261         * WebCore.pro: missing IDL files added
61262
61263 2009-09-07  Chris Marrin  <cmarrin@apple.com>
61264
61265         Reviewed by Oliver Hunt.
61266
61267         Update Canvas 3D implementation to match spec
61268         https://bugs.webkit.org/show_bug.cgi?id=29010
61269
61270         This adds several new CanvasXXXArray classes each of which has a custom constructor
61271         and custom getters and setters. Also changed CanvasRenderingContext3D and GraphicsContext3D
61272         to match the new and changed API.
61273
61274         * DerivedSources.make:
61275         * WebCore.xcodeproj/project.pbxproj:
61276         * bindings/js/JSCanvasArrayBufferConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
61277         * bindings/js/JSCanvasArrayBufferConstructor.h: Added with properties svn:eol-style and svn:mime-type.
61278         * bindings/js/JSCanvasArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
61279         * bindings/js/JSCanvasByteArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
61280         * bindings/js/JSCanvasByteArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
61281         * bindings/js/JSCanvasByteArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
61282         * bindings/js/JSCanvasFloatArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
61283         * bindings/js/JSCanvasFloatArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
61284         * bindings/js/JSCanvasFloatArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
61285         * bindings/js/JSCanvasIntArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
61286         * bindings/js/JSCanvasIntArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
61287         * bindings/js/JSCanvasIntArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
61288         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
61289         (WebCore::JSCanvasRenderingContext3D::bufferData):
61290         (WebCore::JSCanvasRenderingContext3D::bufferSubData):
61291         (WebCore::JSCanvasRenderingContext3D::texImage2D):
61292         (WebCore::JSCanvasRenderingContext3D::texSubImage2D):
61293         * bindings/js/JSCanvasShortArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
61294         * bindings/js/JSCanvasShortArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
61295         * bindings/js/JSCanvasShortArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
61296         * bindings/js/JSCanvasUnsignedByteArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
61297         * bindings/js/JSCanvasUnsignedByteArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
61298         * bindings/js/JSCanvasUnsignedByteArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
61299         * bindings/js/JSCanvasUnsignedIntArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
61300         * bindings/js/JSCanvasUnsignedIntArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
61301         * bindings/js/JSCanvasUnsignedIntArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
61302         * bindings/js/JSCanvasUnsignedShortArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
61303         * bindings/js/JSCanvasUnsignedShortArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
61304         * bindings/js/JSCanvasUnsignedShortArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
61305         * bindings/js/JSDOMWindowCustom.cpp:
61306         (WebCore::JSDOMWindow::canvasArrayBuffer):
61307         (WebCore::JSDOMWindow::canvasByteArray):
61308         (WebCore::JSDOMWindow::canvasUnsignedByteArray):
61309         (WebCore::JSDOMWindow::canvasIntArray):
61310         (WebCore::JSDOMWindow::canvasUnsignedIntArray):
61311         (WebCore::JSDOMWindow::canvasShortArray):
61312         (WebCore::JSDOMWindow::canvasUnsignedShortArray):
61313         (WebCore::JSDOMWindow::canvasFloatArray):
61314         * html/HTMLCanvasElement.cpp:
61315         (WebCore::HTMLCanvasElement::getContext):
61316         (WebCore::HTMLCanvasElement::paint):
61317         * html/canvas/CanvasArray.cpp: Added with properties svn:eol-style and svn:mime-type.
61318         * html/canvas/CanvasArray.h: Added with properties svn:eol-style and svn:mime-type.
61319         * html/canvas/CanvasArray.idl: Added.
61320         * html/canvas/CanvasArrayBuffer.cpp: Added with properties svn:eol-style and svn:mime-type.
61321         * html/canvas/CanvasArrayBuffer.h: Added with properties svn:eol-style and svn:mime-type.
61322         * html/canvas/CanvasArrayBuffer.idl: Added.
61323         * html/canvas/CanvasByteArray.cpp:
61324         * html/canvas/CanvasByteArray.h:
61325         * html/canvas/CanvasByteArray.idl:
61326         * html/canvas/CanvasFloatArray.cpp: Added with properties svn:eol-style and svn:mime-type.
61327         * html/canvas/CanvasFloatArray.h: Added with properties svn:eol-style and svn:mime-type.
61328         * html/canvas/CanvasFloatArray.idl: Added.
61329         * html/canvas/CanvasIntArray.cpp: Added with properties svn:eol-style and svn:mime-type.
61330         * html/canvas/CanvasIntArray.h: Added with properties svn:eol-style and svn:mime-type.
61331         * html/canvas/CanvasIntArray.idl: Added.
61332         * html/canvas/CanvasRenderingContext3D.cpp:
61333         (WebCore::CanvasRenderingContext3D::CanvasRenderingContext3D):
61334         (WebCore::CanvasRenderingContext3D::markContextChanged):
61335         (WebCore::CanvasRenderingContext3D::beginPaint):
61336         (WebCore::CanvasRenderingContext3D::endPaint):
61337         (WebCore::CanvasRenderingContext3D::reshape):
61338         (WebCore::CanvasRenderingContext3D::sizeInBytes):
61339         (WebCore::CanvasRenderingContext3D::bindTexture):
61340         (WebCore::CanvasRenderingContext3D::bufferData):
61341         (WebCore::CanvasRenderingContext3D::bufferSubData):
61342         (WebCore::CanvasRenderingContext3D::checkFramebufferStatus):
61343         (WebCore::CanvasRenderingContext3D::clear):
61344         (WebCore::CanvasRenderingContext3D::createBuffer):
61345         (WebCore::CanvasRenderingContext3D::createFramebuffer):
61346         (WebCore::CanvasRenderingContext3D::createTexture):
61347         (WebCore::CanvasRenderingContext3D::createProgram):
61348         (WebCore::CanvasRenderingContext3D::createRenderbuffer):
61349         (WebCore::CanvasRenderingContext3D::createShader):
61350         (WebCore::CanvasRenderingContext3D::deleteBuffer):
61351         (WebCore::CanvasRenderingContext3D::deleteFramebuffer):
61352         (WebCore::CanvasRenderingContext3D::deleteProgram):
61353         (WebCore::CanvasRenderingContext3D::deleteRenderbuffer):
61354         (WebCore::CanvasRenderingContext3D::deleteShader):
61355         (WebCore::CanvasRenderingContext3D::deleteTexture):
61356         (WebCore::CanvasRenderingContext3D::drawArrays):
61357         (WebCore::CanvasRenderingContext3D::drawElements):
61358         (WebCore::CanvasRenderingContext3D::getBoolean):
61359         (WebCore::CanvasRenderingContext3D::getBooleanv):
61360         (WebCore::CanvasRenderingContext3D::getBufferParameteri):
61361         (WebCore::CanvasRenderingContext3D::getBufferParameteriv):
61362         (WebCore::CanvasRenderingContext3D::getFloat):
61363         (WebCore::CanvasRenderingContext3D::getFloatv):
61364         (WebCore::CanvasRenderingContext3D::getFramebufferAttachmentParameteri):
61365         (WebCore::CanvasRenderingContext3D::getFramebufferAttachmentParameteriv):
61366         (WebCore::CanvasRenderingContext3D::getInteger):
61367         (WebCore::CanvasRenderingContext3D::getIntegerv):
61368         (WebCore::CanvasRenderingContext3D::getProgrami):
61369         (WebCore::CanvasRenderingContext3D::getProgramiv):
61370         (WebCore::CanvasRenderingContext3D::getProgramInfoLog):
61371         (WebCore::CanvasRenderingContext3D::getRenderbufferParameteri):
61372         (WebCore::CanvasRenderingContext3D::getRenderbufferParameteriv):
61373         (WebCore::CanvasRenderingContext3D::getShaderi):
61374         (WebCore::CanvasRenderingContext3D::getShaderiv):
61375         (WebCore::CanvasRenderingContext3D::getShaderInfoLog):
61376         (WebCore::CanvasRenderingContext3D::getShaderSource):
61377         (WebCore::CanvasRenderingContext3D::getTexParameterf):
61378         (WebCore::CanvasRenderingContext3D::getTexParameterfv):
61379         (WebCore::CanvasRenderingContext3D::getTexParameteri):
61380         (WebCore::CanvasRenderingContext3D::getTexParameteriv):
61381         (WebCore::CanvasRenderingContext3D::getUniformf):
61382         (WebCore::CanvasRenderingContext3D::getUniformfv):
61383         (WebCore::CanvasRenderingContext3D::getUniformi):
61384         (WebCore::CanvasRenderingContext3D::getUniformiv):
61385         (WebCore::CanvasRenderingContext3D::getUniformLocation):
61386         (WebCore::CanvasRenderingContext3D::getVertexAttribf):
61387         (WebCore::CanvasRenderingContext3D::getVertexAttribfv):
61388         (WebCore::CanvasRenderingContext3D::getVertexAttribi):
61389         (WebCore::CanvasRenderingContext3D::getVertexAttribiv):
61390         (WebCore::CanvasRenderingContext3D::getVertexAttribOffset):
61391         (WebCore::CanvasRenderingContext3D::texImage2D):
61392         (WebCore::CanvasRenderingContext3D::texParameterf):
61393         (WebCore::CanvasRenderingContext3D::texParameteri):
61394         (WebCore::CanvasRenderingContext3D::texSubImage2D):
61395         (WebCore::CanvasRenderingContext3D::uniform1f):
61396         (WebCore::CanvasRenderingContext3D::uniform1fv):
61397         (WebCore::CanvasRenderingContext3D::uniform1i):
61398         (WebCore::CanvasRenderingContext3D::uniform1iv):
61399         (WebCore::CanvasRenderingContext3D::uniform2f):
61400         (WebCore::CanvasRenderingContext3D::uniform2fv):
61401         (WebCore::CanvasRenderingContext3D::uniform2i):
61402         (WebCore::CanvasRenderingContext3D::uniform2iv):
61403         (WebCore::CanvasRenderingContext3D::uniform3f):
61404         (WebCore::CanvasRenderingContext3D::uniform3fv):
61405         (WebCore::CanvasRenderingContext3D::uniform3i):
61406         (WebCore::CanvasRenderingContext3D::uniform3iv):
61407         (WebCore::CanvasRenderingContext3D::uniform4f):
61408         (WebCore::CanvasRenderingContext3D::uniform4fv):
61409         (WebCore::CanvasRenderingContext3D::uniform4i):
61410         (WebCore::CanvasRenderingContext3D::uniform4iv):
61411         (WebCore::CanvasRenderingContext3D::uniformMatrix2fv):
61412         (WebCore::CanvasRenderingContext3D::uniformMatrix3fv):
61413         (WebCore::CanvasRenderingContext3D::uniformMatrix4fv):
61414         (WebCore::CanvasRenderingContext3D::useProgram):
61415         (WebCore::CanvasRenderingContext3D::validateProgram):
61416         (WebCore::CanvasRenderingContext3D::vertexAttrib1f):
61417         (WebCore::CanvasRenderingContext3D::vertexAttrib1fv):
61418         (WebCore::CanvasRenderingContext3D::vertexAttrib2f):
61419         (WebCore::CanvasRenderingContext3D::vertexAttrib2fv):
61420         (WebCore::CanvasRenderingContext3D::vertexAttrib3f):
61421         (WebCore::CanvasRenderingContext3D::vertexAttrib3fv):
61422         (WebCore::CanvasRenderingContext3D::vertexAttrib4f):
61423         (WebCore::CanvasRenderingContext3D::vertexAttrib4fv):
61424         (WebCore::CanvasRenderingContext3D::vertexAttribPointer):
61425         (WebCore::CanvasRenderingContext3D::viewport):
61426         * html/canvas/CanvasRenderingContext3D.h:
61427         * html/canvas/CanvasRenderingContext3D.idl:
61428         * html/canvas/CanvasShortArray.cpp: Added with properties svn:eol-style and svn:mime-type.
61429         * html/canvas/CanvasShortArray.h: Added with properties svn:eol-style and svn:mime-type.
61430         * html/canvas/CanvasShortArray.idl: Added.
61431         * html/canvas/CanvasTexture.cpp:
61432         (WebCore::CanvasTexture::CanvasTexture):
61433         * html/canvas/CanvasTexture.h:
61434         (WebCore::CanvasTexture::isCubeMapRWrapModeInitialized):
61435         (WebCore::CanvasTexture::setCubeMapRWrapModeInitialized):
61436         * html/canvas/CanvasUnsignedByteArray.cpp: Added with properties svn:eol-style and svn:mime-type.
61437         * html/canvas/CanvasUnsignedByteArray.h: Added with properties svn:eol-style and svn:mime-type.
61438          * html/canvas/CanvasUnsignedByteArray.idl: Added.
61439         * html/canvas/CanvasUnsignedIntArray.cpp: Added with properties svn:eol-style and svn:mime-type.
61440         * html/canvas/CanvasUnsignedIntArray.h: Added with properties svn:eol-style and svn:mime-type.
61441         * html/canvas/CanvasUnsignedIntArray.idl: Added.
61442         * html/canvas/CanvasUnsignedShortArray.cpp: Added with properties svn:eol-style and svn:mime-type.
61443         * html/canvas/CanvasUnsignedShortArray.h: Added with properties svn:eol-style and svn:mime-type.
61444         * html/canvas/CanvasUnsignedShortArray.idl: Added.
61445         * page/DOMWindow.idl:
61446         * platform/graphics/GraphicsContext3D.h:
61447         * platform/graphics/mac/GraphicsContext3DMac.cpp:
61448         (WebCore::GraphicsContext3D::beginPaint):
61449         (WebCore::GraphicsContext3D::endPaint):
61450         (WebCore::GraphicsContext3D::bindTexture):
61451         (WebCore::GraphicsContext3D::bufferData):
61452         (WebCore::GraphicsContext3D::bufferSubData):
61453         (WebCore::GraphicsContext3D::checkFramebufferStatus):
61454         (WebCore::GraphicsContext3D::drawArrays):
61455         (WebCore::GraphicsContext3D::drawElements):
61456         (WebCore::GraphicsContext3D::texParameterf):
61457         (WebCore::GraphicsContext3D::texParameteri):
61458         (WebCore::GraphicsContext3D::uniform1f):
61459         (WebCore::GraphicsContext3D::uniform1fv):
61460         (WebCore::GraphicsContext3D::uniform2f):
61461         (WebCore::GraphicsContext3D::uniform2fv):
61462         (WebCore::GraphicsContext3D::uniform3f):
61463         (WebCore::GraphicsContext3D::uniform3fv):
61464         (WebCore::GraphicsContext3D::uniform4f):
61465         (WebCore::GraphicsContext3D::uniform4fv):
61466         (WebCore::GraphicsContext3D::uniform1i):
61467         (WebCore::GraphicsContext3D::uniform1iv):
61468         (WebCore::GraphicsContext3D::uniform2i):
61469         (WebCore::GraphicsContext3D::uniform2iv):
61470         (WebCore::GraphicsContext3D::uniform3i):
61471         (WebCore::GraphicsContext3D::uniform3iv):
61472         (WebCore::GraphicsContext3D::uniform4i):
61473         (WebCore::GraphicsContext3D::uniform4iv):
61474         (WebCore::GraphicsContext3D::uniformMatrix2fv):
61475         (WebCore::GraphicsContext3D::uniformMatrix3fv):
61476         (WebCore::GraphicsContext3D::uniformMatrix4fv):
61477         (WebCore::GraphicsContext3D::vertexAttrib1f):
61478         (WebCore::GraphicsContext3D::vertexAttrib1fv):
61479         (WebCore::GraphicsContext3D::vertexAttrib2f):
61480         (WebCore::GraphicsContext3D::vertexAttrib2fv):
61481         (WebCore::GraphicsContext3D::vertexAttrib3f):
61482         (WebCore::GraphicsContext3D::vertexAttrib3fv):
61483         (WebCore::GraphicsContext3D::vertexAttrib4f):
61484         (WebCore::GraphicsContext3D::vertexAttrib4fv):
61485         (WebCore::GraphicsContext3D::vertexAttribPointer):
61486         (WebCore::GraphicsContext3D::getBoolean):
61487         (WebCore::GraphicsContext3D::getBooleanv):
61488         (WebCore::GraphicsContext3D::getFloat):
61489         (WebCore::GraphicsContext3D::getFloatv):
61490         (WebCore::GraphicsContext3D::getInteger):
61491         (WebCore::GraphicsContext3D::getIntegerv):
61492         (WebCore::GraphicsContext3D::getBufferParameteri):
61493         (WebCore::GraphicsContext3D::getBufferParameteriv):
61494         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteri):
61495         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
61496         (WebCore::GraphicsContext3D::getProgrami):
61497         (WebCore::GraphicsContext3D::getProgramiv):
61498         (WebCore::GraphicsContext3D::getRenderbufferParameteri):
61499         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
61500         (WebCore::GraphicsContext3D::getShaderi):
61501         (WebCore::GraphicsContext3D::getShaderiv):
61502         (WebCore::GraphicsContext3D::getTexParameterf):
61503         (WebCore::GraphicsContext3D::getTexParameterfv):
61504         (WebCore::GraphicsContext3D::getTexParameteri):
61505         (WebCore::GraphicsContext3D::getTexParameteriv):
61506         (WebCore::GraphicsContext3D::getUniformf):
61507         (WebCore::GraphicsContext3D::getUniformfv):
61508         (WebCore::GraphicsContext3D::getUniformi):
61509         (WebCore::GraphicsContext3D::getUniformiv):
61510         (WebCore::GraphicsContext3D::getVertexAttribf):
61511         (WebCore::GraphicsContext3D::getVertexAttribfv):
61512         (WebCore::GraphicsContext3D::getVertexAttribi):
61513         (WebCore::GraphicsContext3D::getVertexAttribiv):
61514         (WebCore::GraphicsContext3D::getVertexAttribOffset):
61515         (WebCore::GraphicsContext3D::texImage2D):
61516         (WebCore::GraphicsContext3D::texSubImage2D):
61517         (WebCore::GraphicsContext3D::sizeInBytes):
61518
61519 2009-09-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
61520
61521         Reviewed by Timothy Hatcher.
61522
61523         Make m_windowVisible more consistent with the actual visibility of the inspector.
61524
61525         * inspector/InspectorController.cpp:
61526         (WebCore::InspectorController::setWindowVisible):
61527
61528 2009-09-07  Adam Barth  <abarth@webkit.org>
61529
61530         Unreviewed speculative build fix for Snow Leopard.
61531
61532         * platform/GeolocationService.cpp:
61533         (WebCore::createGeolocationServiceNull):
61534
61535 2009-09-07  Steve Block  <steveblock@google.com>
61536
61537         Reviewed by Adam Barth.
61538
61539         Adds a mock Geolocation service. This will be used to provide predictable behavior of the
61540         Geolocation API for use in LayoutTests. Later changes will integrate the the mock
61541         Geolocation service with DumpRenderTree.
61542         https://bugs.webkit.org/show_bug.cgi?id=28264
61543
61544         The mock Geolocation service returns a fixed position or error. This position or error can be
61545         set through static methods on the GeolocationService class. The position or error is shared
61546         between all instances of the mock Geolocation service.
61547
61548         Implementation details.
61549         The GeolocationService object maintains a pointer to a factory function which it uses to create
61550         Geolocation service instances. Each platform implementing Geolocation sets this pointer
61551         to the factory function for their platform's implementation. When the mock Geolocation service
61552         is activated, the factory function pointer is reset to the factory function for the mock service.
61553
61554         Test: fast/dom/Geolocation/error.html
61555
61556         * WebCore.base.exp: Modified. Exports GeolocationServiceMock methods.
61557         * GNUMakefile.am: Modified. Added GeolocationServiceMock files.
61558         * WebCore.gypi: Modified. Added GeolocationServiceMock files.
61559         * WebCore.pro: Modified. Added GeolocationServiceMock files.
61560         * WebCore.vcproj/WebCore.vcproj: Modified. Added GeolocationServiceMock files.
61561         * WebCore.vcproj/WebCoreCommon.vsprops: Modified. Added mock directory to includes.
61562         * WebCore.xcodeproj/project.pbxproj: Modified. Added GeolocationServiceMock files and exports some headers.
61563         * WebCoreSources.bkl: Modified. Added GeolocationServiceMock files.
61564         * page/ChromeClient.h: Modified. Fixed comment.
61565         * page/Geolocation.cpp: Modified.
61566         (WebCore::Geolocation::setIsAllowed): Modified. Fixed error string.
61567         * platform/GeolocationService.cpp: Modified.
61568         (WebCore::createGeolocationServiceNull): Added. Returns null in place of a Geolocation service. Used to avoid link errors on platforms where Geolocation is not implemented.
61569         (WebCore::GeolocationService::create): Added. Uses the factory function pointer to create a Geolocation service implementation.
61570         (WebCore::GeolocationService::useMock): Added. Configures the GeolocationServie to use the mock implementation.
61571         * platform/GeolocationService.h: Modified.
61572         * platform/mock: Added.
61573         * platform/mock/GeolocationServiceMock.cpp: Added.
61574         (WebCore::GeolocationServiceMock::create): Added. Creates a GeolocationServiceMock object.
61575         (WebCore::GeolocationServiceMock::GeolocationServiceMock): Added. Constructor.
61576         (WebCore::GeolocationServiceMock::~GeolocationServiceMock): Added. Destructor.
61577         (WebCore::GeolocationServiceMock::setPosition): Added. Sets the position that will be returned by the object.
61578         (WebCore::GeolocationServiceMock::setError): Added. Sets the error that will be returned by the object.
61579         (WebCore::GeolocationServiceMock::startUpdating): Added. GeolocationService implementation. Starts the service.
61580         (WebCore::GeolocationServiceMock::stopUpdating): Added. GeolocationService implementation. Stops the service.
61581         (WebCore::GeolocationServiceMock::timerFired): Added. Used to provide an asynchronous callback when the service is started.
61582         (WebCore::GeolocationServiceMock::makeGeolocationCallbackFromAllInstances): Added. Used to call back when the position or error is updated.
61583         (WebCore::GeolocationServiceMock::makeGeolocationCallback): Added. Used to call back when the service starts.
61584         (WebCore::GeolocationServiceMock::initStatics): Added. Initializes statics members with constructors.
61585         (WebCore::GeolocationServiceMock::cleanUpStatics): Added. Cleans up static members with constructors.
61586         * platform/mock/GeolocationServiceMock.h: Added.
61587         (WebCore::GeolocationServiceMock::lastPosition): Added. Returns the fixed position.
61588         (WebCore::GeolocationServiceMock::lastError): Added. Returns the fixed error.
61589         * platform/gtk/GeolocationServiceGtk.cpp: Modified.
61590         (WebCore::GeolocationServiceGtk::create): Added. Creates an instance of GeolocationServiceGtk.
61591         * platform/gtk/GeolocationServiceGtk.h: Modified.
61592         * platform/mac/GeolocationServiceMac.h: Modified.
61593         * platform/mac/GeolocationServiceMac.mm: Modified.
61594         (WebCore::GeolocationServiceMac::create): Added. Creates an instance of GeolocationServiceMac.
61595
61596 2009-09-07  Adam Barth  <abarth@webkit.org>
61597
61598         Reviewed by Dimitri Glazkov.
61599
61600         https://bugs.webkit.org/show_bug.cgi?id=28985
61601
61602         We need to be slightly more careful about how we pick up a script
61603         execution context.  In particular, we were getting the wrong document
61604         for frames that had been navigated somewhere else.
61605
61606         In the long term, we should think about a better algorithm for
61607         computing the script context.
61608
61609         Fixes LayoutTests/http/tests/xmlhttprequest/detaching-frame-2.html
61610
61611         * bindings/v8/V8Proxy.cpp:
61612         (WebCore::V8Proxy::retrieveFrame):
61613
61614 2009-09-07  Kevin Ollivier  <kevino@theolliviers.com>
61615
61616         wx build fix for 2.8 compilation.
61617
61618         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
61619         (wxRenderer_DrawScrollbar):
61620
61621 2009-09-07  Drew Wilson  <atwilson@google.com>
61622
61623         Unreviewed build fix.
61624
61625         Reverting r48121 to fix Windows build errors.
61626
61627         * DerivedSources.cpp:
61628         * GNUmakefile.am:
61629         * WebCore.xcodeproj/project.pbxproj:
61630         * bindings/js/JSDOMWindowCustom.cpp:
61631         * bindings/js/JSEventTarget.cpp:
61632         (WebCore::toJS):
61633         (WebCore::toEventTarget):
61634         * dom/EventTarget.cpp:
61635         * dom/EventTarget.h:
61636         * page/DOMWindow.idl:
61637         * websockets/WebSocket.cpp:
61638         (WebCore::WebSocket::connect):
61639         (WebCore::WebSocket::send):
61640         (WebCore::WebSocket::close):
61641         (WebCore::WebSocket::bufferedAmount):
61642         (WebCore::WebSocket::addEventListener):
61643         (WebCore::WebSocket::removeEventListener):
61644         (WebCore::WebSocket::dispatchEvent):
61645         (WebCore::WebSocket::didConnect):
61646         (WebCore::WebSocket::didReceiveMessage):
61647         (WebCore::WebSocket::didClose):
61648         (WebCore::WebSocket::dispatchOpenEvent):
61649         (WebCore::WebSocket::dispatchMessageEvent):
61650         (WebCore::WebSocket::dispatchCloseEvent):
61651         * websockets/WebSocket.h:
61652         (WebCore::WebSocket::create):
61653         (WebCore::WebSocket::):
61654         (WebCore::WebSocket::setOnopen):
61655         (WebCore::WebSocket::onopen):
61656         (WebCore::WebSocket::setOnmessage):
61657         (WebCore::WebSocket::onmessage):
61658         (WebCore::WebSocket::setOnclose):
61659         (WebCore::WebSocket::onclose):
61660         (WebCore::WebSocket::toWebSocket):
61661         (WebCore::WebSocket::refEventTarget):
61662         (WebCore::WebSocket::derefEventTarget):
61663         * websockets/WebSocketChannel.cpp: Removed.
61664         * websockets/WebSocketChannel.h: Removed.
61665         * websockets/WebSocketChannelClient.h: Removed.
61666         * websockets/WebSocketHandshake.cpp: Removed.
61667         * websockets/WebSocketHandshake.h: Removed.
61668
61669 2009-09-07  Drew Wilson  <atwilson@google.com>
61670
61671         Unreviewed speculative build fix.
61672
61673         Reverted previous build fix as it didn't fix the problem.
61674
61675         * bindings/js/JSEventTarget.cpp:
61676         (WebCore::toEventTarget):
61677
61678 2009-09-07  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
61679
61680         Unreviewed, build fix.
61681
61682         [Qt] Fix build after SHARED_WORKERS are enabled by default (r48131)
61683
61684         * WebCore.pro:
61685
61686 2009-09-07  Drew Wilson  <atwilson@google.com>
61687
61688         Unreviewed build fix.
61689
61690         Temporarily removed depenency between JSEventTarget.cpp and WebSocket.h in an attempt to fix a windows build break.
61691
61692         * bindings/js/JSEventTarget.cpp:
61693         (WebCore::toEventTarget):
61694
61695 2009-09-07  Drew Wilson  <atwilson@google.com>
61696
61697         Reviewed by David Levin.
61698
61699         Enable SHARED_WORKERS by default.
61700         https://bugs.webkit.org/show_bug.cgi?id=28959
61701
61702         Tests (enabled in a separate patch):
61703                fast/workers/shared-worker-constructor.html
61704                fast/workers/shared-worker-context-gc.html
61705                fast/workers/shared-worker-event-listener.html
61706                fast/workers/shared-worker-exception.html
61707                fast/workers/shared-worker-frame-lifecycle.html
61708                fast/workers/shared-worker-gc.html
61709                fast/workers/shared-worker-lifecycle.html
61710                fast/workers/shared-worker-load-error.html
61711                fast/workers/shared-worker-location.html
61712                fast/workers/shared-worker-navigator.html
61713                fast/workers/shared-worker-replace-global-constructor.html
61714                fast/workers/shared-worker-replace-self.html
61715                fast/workers/shared-worker-shared.html
61716                fast/workers/shared-worker-simple.html
61717                http/tests/workers/shared-worker-importScripts.html
61718                http/tests/workers/shared-worker-redirect.html
61719                http/tests/xmlhttprequest/workers/shared-worker-close.html
61720                http/tests/xmlhttprequest/workers/shared-worker-methods-async.html
61721                http/tests/xmlhttprequest/workers/shared-worker-methods.html
61722                http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found.html
61723
61724         * config.h: Removed some whitespace/touched the file to force a full rebuild on the build-bots.
61725         * Configurations/FeatureDefines.xcconfig:
61726         * WebCore.pro:
61727         * WebCore.vcproj/WebCoreCommon.vsprops:
61728         * WebCore.vcproj/build-generated-files.sh:
61729         * dom/DOMWindow.idl: Removed unnecessary whitespace to force a rebuild on the build-bots to pickup the flag change.
61730         * workers/DefaultSharedWorkerRepository.cpp:
61731         (WebCore::SharedWorkerScriptLoader::load):
61732         Clean up bitrot in SharedWorker code - DenyCrossOriginRedirect is now DenyCrossOriginRequests.
61733         * workers/SharedWorkerContext.cpp:
61734         (WebCore::SharedWorkerContext::dispatchConnect):
61735         Clean up bitrot - updated SharedWorker code to reflect new MessageEvent API.
61736
61737 2009-09-07  Xan Lopez  <xlopez@igalia.com>
61738
61739         Unreviewed build fix.
61740
61741         Add new file to sources list.
61742
61743         * GNUmakefile.am:
61744
61745 2009-09-07  Kevin Ollivier  <kevino@theolliviers.com>
61746
61747         wx build fixes for wx SVN trunk. 
61748
61749         * config.h:
61750         * platform/wx/RenderThemeWx.cpp:
61751         (WebCore::RenderThemeWx::paintButton):
61752         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
61753         (WebCore::drawTextWithSpacing):
61754         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
61755         (wxRenderer_DrawScrollbar):
61756
61757 2009-09-07  Chris Hills <chaz@chaz6.com>
61758
61759         Reviewed by Tor Arne Vestbø.
61760
61761         [Qt] Use direct includes for Phonon, not the pretty ones
61762
61763         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
61764
61765 2009-09-07  Fumitoshi Ukai  <ukai@chromium.org>
61766
61767         Reviewed by Alexey Proskuryakov.
61768
61769         WebSocket API implementation.
61770         https://bugs.webkit.org/show_bug.cgi?id=28038
61771         
61772         Add build systems only for GNUmakefile.am and WebCore.xcodeproj now.
61773         Other build systems will be updated once the code is functional.
61774         Tests will be landed once the code is completed and functional.
61775
61776         * DerivedSources.cpp:
61777         * GNUmakefile.am:
61778         * WebCore.xcodeproj/project.pbxproj:
61779         * bindings/js/JSDOMWindowCustom.cpp:
61780         (WebCore::JSDOMWindow::webSocket):
61781         * bindings/js/JSEventTarget.cpp:
61782         (WebCore::toJS):
61783         (WebCore::toEventTarget):
61784         * dom/EventTarget.cpp:
61785         (WebCore::EventTarget::toWebSocket):
61786         * dom/EventTarget.h:
61787         * page/DOMWindow.idl:
61788         * websockets/WebSocket.cpp:
61789         (WebCore::ProcessWebSocketEventTask::create):
61790         (WebCore::ProcessWebSocketEventTask::performTask):
61791         (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
61792         (WebCore::isValidProtocolString):
61793         (WebCore::WebSocket::connect):
61794         (WebCore::WebSocket::send):
61795         (WebCore::WebSocket::close):
61796         (WebCore::WebSocket::bufferedAmount):
61797         (WebCore::WebSocket::addEventListener):
61798         (WebCore::WebSocket::removeEventListener):
61799         (WebCore::WebSocket::dispatchEvent):
61800         (WebCore::WebSocket::didConnect):
61801         (WebCore::WebSocket::didReceiveMessage):
61802         (WebCore::WebSocket::didClose):
61803         (WebCore::WebSocket::dispatchOpenEvent):
61804         (WebCore::WebSocket::dispatchMessageEvent):
61805         (WebCore::WebSocket::dispatchCloseEvent):
61806         * websockets/WebSocket.h:
61807         (WebCore::WebSocket::create):
61808         (WebCore::WebSocket::):
61809         (WebCore::WebSocket::setOnopen):
61810         (WebCore::WebSocket::onopen):
61811         (WebCore::WebSocket::setOnmessage):
61812         (WebCore::WebSocket::onmessage):
61813         (WebCore::WebSocket::setOnclose):
61814         (WebCore::WebSocket::onclose):
61815         (WebCore::WebSocket::toWebSocket):
61816         (WebCore::WebSocket::eventListeners):
61817         (WebCore::WebSocket::refEventTarget):
61818         (WebCore::WebSocket::derefEventTarget):
61819         * websockets/WebSocketChannel.cpp: Added.
61820         * websockets/WebSocketChannel.h: Added.
61821         * websockets/WebSocketChannelClient.h: Added.
61822         * websockets/WebSocketHandshake.cpp: Added.
61823         * websockets/WebSocketHandshake.h: Added.
61824
61825 2009-09-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
61826
61827         Reviewed by Xan Lopez.
61828
61829         https://bugs.webkit.org/show_bug.cgi?id=26854
61830         [GTK] Needs API to allow more control over outgoing requests
61831
61832         Add infrastructure required to provide the new
61833         WebKitNetworkResponse object in our API.
61834
61835         * GNUmakefile.am: Add new files to the build.
61836         * platform/network/soup/ResourceRequestSoup.cpp:
61837         (WebCore::ResourceRequest::updateFromSoupMessage):
61838         * platform/network/soup/ResourceResponse.h:
61839         * platform/network/soup/ResourceResponseSoup.cpp: Added.
61840         (WebCore::ResourceResponse::toSoupMessage):
61841
61842 2009-09-07  Mads Ager  <ager@chromium.org>
61843
61844         Reviewed by Adam Barth.
61845
61846         [V8] Cleanup document/frame null-checking in V8DOMWindowCustom.cpp
61847         https://bugs.webkit.org/show_bug.cgi?id=29009
61848
61849         Be consistent in document and frame null checks.
61850
61851         * bindings/v8/custom/V8DOMWindowCustom.cpp:
61852         (WebCore::V8Custom::WindowSetTimeoutImpl):
61853         (WebCore::ACCESSOR_GETTER):
61854         (WebCore::ACCESSOR_SETTER):
61855         (WebCore::CALLBACK_FUNC_DECL):
61856         (WebCore::NAMED_PROPERTY_GETTER):
61857         (WebCore::V8Custom::ClearTimeoutImpl):
61858
61859 2009-09-07  Xan Lopez  <xlopez@igalia.com>
61860
61861         Reviewed by Gustavo Noronha.
61862
61863         [Soup] Limit the number of connections
61864         https://bugs.webkit.org/show_bug.cgi?id=18431
61865
61866         Increase the maximum number of per host and total connections to
61867         similar values than those used by the other modern browsers. Seems
61868         to significantly improve page loading time in many cases.
61869
61870         * platform/network/soup/ResourceHandleSoup.cpp:
61871         (WebCore::ensureSessionIsInitialized):
61872
61873 2009-09-07  Michael Nordman  <michaeln@google.com>
61874
61875         Reviewed by Darin Fisher.
61876
61877         Various minor chromium appcache modifications.
61878         https://bugs.webkit.org/show_bug.cgi?id=28960
61879
61880         No new tests.
61881
61882         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
61883           Fix a null pointer exception.
61884         (WebCore::ACCESSOR_GETTER):
61885         * platform/network/chromium/ResourceRequest.h:
61886           Switch from appCache 'context' to 'host' terminology.
61887           Note: leaving the old deprecated accessors in place until the matching
61888           change in chrome is landed to use the new accessors.
61889         (WebCore::ResourceRequest::ResourceRequest):
61890         (WebCore::ResourceRequest::appCacheHostID):
61891         (WebCore::ResourceRequest::setAppCacheHostID):
61892         (WebCore::ResourceRequest::appCacheContextID):
61893         (WebCore::ResourceRequest::setAppCacheContextID):
61894         * platform/network/chromium/ResourceResponse.h:
61895           Add an appCacheManifestURL getter/setter.
61896           Drop the 'get' prefix from the appCacheID getter.
61897           Note: leaving the old deprecated 'get' prefixed accessor in place until the matching
61898           change in chrome is landed to use the new accessor.
61899         (WebCore::ResourceResponse::appCacheID):
61900         (WebCore::ResourceResponse::appCacheManifestURL):
61901         (WebCore::ResourceResponse::setAppCacheManifestURL):
61902         (WebCore::ResourceResponse::getAppCacheID):
61903
61904 2009-09-07  Michael Nordman  <michaeln@google.com>
61905
61906         Reviewed by Alexey Proskuryakov.
61907
61908         https://bugs.webkit.org/show_bug.cgi?id=28359
61909         Cleanup: Undo some accidental changes around DOMApplicationCache.
61910         - Restore support for constructing a DOMApplicationCache object with a null frame ptr.
61911         - Return a non-null object for window.applicationCache when the feature is disabled.
61912         - Simplify the swapCache method.
61913
61914         Test: http/tests/appcache/disabled.html
61915
61916         * loader/appcache/DOMApplicationCache.cpp:
61917         (WebCore::DOMApplicationCache::DOMApplicationCache):
61918         (WebCore::DOMApplicationCache::swapCache):
61919         (WebCore::DOMApplicationCache::scriptExecutionContext):
61920         * loader/appcache/DOMApplicationCache.h:
61921         * page/DOMWindow.cpp:
61922         (WebCore::DOMWindow::applicationCache):
61923
61924 2009-09-06  Yael Aharon  <yael.aharon@nokia.com>
61925
61926         Reviewed by Darin Adler.
61927
61928         hostname and host are mixed up when manipulating anchor elements.
61929         https://bugs.webkit.org/show_bug.cgi?id=28954
61930
61931         handle the case of port 0.
61932
61933         * html/HTMLAnchorElement.cpp:
61934         (WebCore::HTMLAnchorElement::host):
61935
61936 2009-09-06  Erik Arvidsson  <arv@chromium.org>
61937
61938         Reviewed by Eric Seidel.
61939
61940         Make hidden elements not focusable.
61941
61942         Clean up supportsFocus and isFocusable.
61943         supportsFocus now strictly means that the node can be focused by default.
61944         This is true for links, form controls and content editable elements for example.
61945         isFocusable means that the user can actually focus it.
61946         All (2) calls to supportsFocus have been updated to take this into account.
61947         
61948         Make a elements without href work correctly as well.
61949
61950         https://bugs.webkit.org/show_bug.cgi?id=27099
61951
61952         Tests: fast/events/click-focus-anchor.html
61953                fast/events/tab-focus-anchor.html
61954                fast/events/tab-focus-hidden.html
61955
61956         * dom/Element.cpp:
61957         (WebCore::Element::focus):
61958         * dom/Node.cpp:
61959         (WebCore::Node::supportsFocus):
61960         (WebCore::Node::isFocusable):
61961         * dom/Node.h:
61962         * html/HTMLAnchorElement.cpp:
61963         (WebCore::HTMLAnchorElement::supportsFocus):
61964         (WebCore::HTMLAnchorElement::isMouseFocusable):
61965         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
61966         * html/HTMLAnchorElement.h:
61967         * html/HTMLAreaElement.cpp:
61968         (WebCore::HTMLAreaElement::supportsFocus):
61969         * html/HTMLAreaElement.h:
61970         * html/HTMLElement.cpp:
61971         (WebCore::HTMLElement::supportsFocus):
61972         * html/HTMLElement.h:
61973         * html/HTMLFieldSetElement.cpp:
61974         (WebCore::HTMLFieldSetElement::supportsFocus):
61975         * html/HTMLFieldSetElement.h:
61976         * html/HTMLFormControlElement.cpp:
61977         (WebCore::HTMLFormControlElement::supportsFocus):
61978         (WebCore::HTMLFormControlElement::isFocusable):
61979         * html/HTMLFrameElementBase.cpp:
61980         (WebCore::HTMLFrameElementBase::supportsFocus):
61981         * html/HTMLFrameElementBase.h:
61982         * html/HTMLLegendElement.cpp:
61983         (WebCore::HTMLLegendElement::supportsFocus):
61984         * html/HTMLLegendElement.h:
61985         * html/HTMLOptGroupElement.cpp:
61986         (WebCore::HTMLOptGroupElement::supportsFocus):
61987         (WebCore::HTMLOptGroupElement::isFocusable):
61988         * html/HTMLOptGroupElement.h:
61989         * html/HTMLOptionElement.cpp:
61990         (WebCore::HTMLOptionElement::supportsFocus):
61991         (WebCore::HTMLOptionElement::isFocusable):
61992         * html/HTMLOptionElement.h:
61993         * page/EventHandler.cpp:
61994         (WebCore::EventHandler::dispatchMouseEvent):
61995         * page/FocusController.cpp:
61996         (WebCore::FocusController::advanceFocus):
61997         * svg/SVGAElement.cpp:
61998         (WebCore::SVGAElement::supportsFocus):
61999         (WebCore::SVGAElement::isFocusable):
62000         * wml/WMLAElement.cpp:
62001         (WebCore::WMLAElement::supportsFocus):
62002         * wml/WMLAElement.h:
62003         * wml/WMLFormControlElement.cpp:
62004         (WebCore::WMLFormControlElement::supportsFocus):
62005         (WebCore::WMLFormControlElement::isFocusable):
62006         * wml/WMLFormControlElement.h:
62007
62008 2009-09-06  Joel Stanley  <joel@jms.id.au>
62009
62010         Reviewed by Dimitri Glazkov.
62011
62012         Expose functions to set the caret blink interval for Linux Chromium.
62013         Default value is set to that of RenderTheme::caretBlankInterval().
62014         Uses caretBlinkIntervalInternal to avoid overriding
62015         RenderThemeChromiumSkia::caretBlankInterval to preserve the disabling
62016         of blinking caret required for layout tests.
62017         https://bugs.webkit.org/show_bug.cgi?id=28931
62018
62019         * rendering/RenderThemeChromiumLinux.cpp:
62020         (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
62021         (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
62022         (WebCore::RenderThemeChromiumLinux::caretBlinkIntervalInternal):
62023         * rendering/RenderThemeChromiumLinux.h:
62024
62025 2009-09-06  Ada Chan  <adachan@apple.com>
62026
62027         Remove an extra </File> in WebCore.vcproj.
62028
62029         * WebCore.vcproj/WebCore.vcproj:
62030
62031 2009-09-06  Timothy Hatcher  <timothy@apple.com>
62032
62033         Adds a persistent setting for color format in the Web Inspector.
62034
62035         https://bugs.webkit.org/show_bug.cgi?id=28889
62036
62037         Reviewed by Dan Bernstein.
62038
62039         * English.lproj/localizedStrings.js: New strings.
62040         * inspector/front-end/Color.js: Minor style fixes.
62041         (WebInspector.Color.prototype.toString): Added. Replaces the individual
62042         "toFoo" functions. Takes a optional arguments for the color format to return.
62043         * inspector/front-end/Images/paneSettingsButtons.png: Added.
62044         * inspector/front-end/StylesSidebarPane.js:
62045         (WebInspector.StylesSidebarPane.prototype._changeColorFormat): Update the sections to show
62046         the new color format.
62047         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay):
62048         Use the new toString function on Color.
62049         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Use the persistent setting
62050         to format colors by default. Add a tooltip for the color swatch.
62051         * inspector/front-end/inspector.css: New styles for the settings menu.
62052         * inspector/front-end/inspector.js:
62053         (WebInspector.loaded): Initilize the colorFormat preference.
62054
62055 2009-09-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
62056
62057         Reviewed by Eric Seidel.
62058
62059         [Qt] Remove Qt v4.6 check from the prefetchDNS implementation
62060         https://bugs.webkit.org/show_bug.cgi?id=28993
62061
62062         * platform/network/qt/DnsPrefetchHelper.cpp:
62063         * platform/network/qt/DnsPrefetchHelper.h:
62064
62065 2009-09-06  Cameron McCormack  <cam@mcc.id.au>
62066
62067         Reviewed by Eric Seidel.
62068
62069         Drop <definition-src> support
62070         https://bugs.webkit.org/show_bug.cgi?id=28991
62071
62072         http://dev.w3.org/SVG/profiles/1.1F2/publish/changes.html#FontsChapter
62073
62074         * DerivedSources.cpp: Remove references to definition-src.
62075         * DerivedSources.make: Ditto.
62076         * GNUmakefile.am: Ditto.
62077         * WebCore.gypi: Ditto.
62078         * WebCore.pro: Ditto.
62079         * WebCore.vcproj/WebCore.vcproj: Ditto.
62080         * WebCore.xcodeproj/project.pbxproj: Ditto.
62081         * bindings/objc/DOM.mm:
62082         (WebCore::createElementClassMap): Ditto.
62083         * bindings/objc/DOMSVG.h: Ditto.
62084         * bindings/v8/DerivedSourcesAllInOne.cpp: Ditto.
62085         * bindings/v8/V8DOMWrapper.cpp: Ditto.
62086         * bindings/v8/V8Index.cpp: Ditto.
62087         * bindings/v8/V8Index.h: Ditto.
62088         * svg/SVGAllInOne.cpp: Ditto.
62089         * svg/SVGDefinitionSrcElement.cpp: Removed.
62090         * svg/SVGDefinitionSrcElement.h: Removed.
62091         * svg/SVGDefinitionSrcElement.idl: Removed.
62092         * svg/SVGFontFaceElement.cpp:
62093         (WebCore::SVGFontFaceElement::rebuildFontFace): Don't search for
62094         definition-src child.
62095         * svg/svgtags.in: Remove definition-src.
62096
62097 2009-09-05  Dimitri Glazkov  <dglazkov@chromium.org>
62098
62099         Unreviewed, build fix.
62100
62101         [Chromium] Roll out http://trac.webkit.org/changeset/48094, because the
62102         logic of retrieving default caret blink interval was incorrect (non-existent)
62103         and caused layout test flakiness.
62104
62105         * rendering/RenderThemeChromiumLinux.cpp:
62106         * rendering/RenderThemeChromiumLinux.h:
62107
62108 2009-09-05  Jian Li  <jianli@chromium.org>
62109
62110         Reviewed by NOBODY (Chromium reliability build break).
62111
62112         Back up partial change in r48072 in order to fix chromium reliability build break.
62113
62114         * bindings/v8/V8AbstractEventListener.cpp:
62115         (WebCore::V8AbstractEventListener::invokeEventHandler):
62116
62117 2009-09-05  Nicolas Weber  <thakis@chromium.org>
62118
62119         Reviewed by Darin Fisher.
62120
62121         https://bugs.webkit.org/show_bug.cgi?id=28975
62122         Fix file upload on chrome/mac. Images that have "Hide Extension" set,
62123         such as screenshots by default, can now be uploaded to sites such as
62124         imgur.com.
62125
62126         * platform/FileSystem.h:
62127         Add pathGetDisplayFileName().
62128         * platform/chromium/FileChooserChromium.cpp:
62129         (WebCore::FileChooser::basenameForWidth):
62130         Call pathGetDisplayFileName() instead of pathGetFileName().
62131         * platform/chromium/FileSystemChromiumLinux.cpp:
62132         (WebCore::pathGetDisplayFileName):
62133         Implement pathGetDisplayFileName() by delegating to pathGetFileName().
62134         * platform/chromium/FileSystemChromiumMac.mm:
62135         (WebCore::pathGetFileName):
62136         Now returns a real filename instead of a presentational one, which
62137         fixes the problem addressed by this change.
62138         (WebCore::pathGetDisplayFileName):
62139         New function that returns a presentational filename; does what
62140         pathGetDisplayFileName() did prior to this patch.
62141         * platform/chromium/FileSystemChromiumWin.cpp:
62142         (WebCore::pathGetDisplayFileName):
62143         Implement pathGetDisplayFileName() by delegating to pathGetFileName().
62144
62145 2009-09-05  Joel Stanley  <joel@jms.id.au>
62146
62147         Reviewed by David Levin.
62148
62149         Expose functions to set the caret blink interval for Linux Chromium.
62150         https://bugs.webkit.org/show_bug.cgi?id=28931
62151
62152         * rendering/RenderThemeChromiumLinux.cpp:
62153         (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
62154         (WebCore::RenderThemeChromiumLinux::caretBlinkInterval):
62155         * rendering/RenderThemeChromiumLinux.h:
62156
62157 2009-09-04  Dmitry Titov  <dimich@chromium.org>
62158
62159         Reviewed by David Levin.
62160
62161         Prevent UI freeze in case when too many timers are in the timer queue.
62162         https://bugs.webkit.org/show_bug.cgi?id=23865
62163
62164         The fix measures the elapsed time while executing timers. If we have too many
62165         timers and it takes significant time to fire, quit the loop and reschedule.
62166         This lets the run loop process user input (close the window for example).
62167
62168         * platform/ThreadTimers.h:
62169         * platform/ThreadTimers.cpp:
62170         (WebCore::ThreadTimers::sharedTimerFiredInternal):
62171         (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
62172         Removed functions and members used before to grab a list of all expired timers.
62173         Now we fetch one by one, measuring time and quitting the loop if it takes too long.
62174         * platform/Timer.cpp:
62175         (WebCore::TimerBase::isActive):
62176         (WebCore::TimerBase::setNextFireTime):
62177         Since timers are now fired one by one, there is no need to keep track of updated timers.
62178         * manual-tests/input-starved-by-timers.html: Manual test that attempts to freeze browser by
62179         creating of enough timers. It then keeps UI frozen and after 10 seconds starts to drain the timers
62180         so the browser un-freezes. This is instead of a regular layout test because we don't have a way
62181         to inject an input events via regular run loop in DRT - instead they are directly dispatched by
62182         eventSender, which does not reproduce the UI freeze that happens with real input.
62183
62184 2009-09-04  Anders Carlsson  <andersca@apple.com>
62185
62186         Reviewed by Adele Peterson.
62187
62188         <rdar://problem/7201063>
62189         
62190         Detach any custom scrollbars before detaching the document.
62191         
62192         * page/Frame.cpp:
62193         (WebCore::Frame::setView):
62194
62195 2009-09-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
62196
62197                 Unreviewed, build fix.
62198
62199                 Remove remaining references to UserStyleSheetLoader after r48075.
62200
62201                 * WebCore.gypi:
62202                 * WebCore.xcodeproj/project.pbxproj:
62203                 * page/qt/FrameQt.cpp:
62204                 * page/wince/FrameWince.cpp:
62205
62206 2009-09-04  Michelangelo De Simone  <micdesim@gmail.com>
62207
62208                 Reviewed by David Levin.
62209
62210                 https://bugs.webkit.org/show_bug.cgi?id=28988
62211                 Minor fix: "novalidate" attribute renamed in "noValidate", according to
62212                 HTML5 specs:
62213                 http://www.whatwg.org/specs/web-apps/current-work/#dom-fs-novalidate
62214
62215                 * html/HTMLFormElement.cpp:
62216                 (WebCore::HTMLFormElement::noValidate):
62217                 (WebCore::HTMLFormElement::setNoValidate):
62218                 * html/HTMLFormElement.h:
62219                 * html/HTMLFormElement.idl:
62220
62221 2009-09-04  Dmitry Titov  <dimich@chromium.org>
62222
62223         Reviewed by David Levin.
62224
62225         Remove unused line of code from WorkerContext
62226         https://bugs.webkit.org/show_bug.cgi?id=28990
62227
62228         * workers/WorkerContext.cpp:
62229         (WebCore::WorkerContext::importScripts):
62230
62231 2009-09-04  Darin Adler  <darin@apple.com>
62232
62233         Reviewed by Oliver Hunt.
62234
62235         Fix assertion seen when running buildbot.
62236
62237         * bindings/js/JSDOMBinding.h:
62238         (WebCore::DOMObjectWithGlobalPointer::createStructure): Create the structure without
62239         the HasDefaultMark bit since this has a custom mark function.
62240
62241 2009-09-04  Dave Hyatt  <hyatt@apple.com>
62242
62243         Reviewed by Adam Roben.
62244
62245         https://bugs.webkit.org/show_bug.cgi?id=28984, remove the remote stylesheet loader on Mac/Qt.
62246         Make sure the other code path (now used by everybody) can handle data URLs.
62247
62248         As per the post on webkit-dev, the ability to work remotely isn't working properly anyway (it doesn't
62249         hold up the pending sheet count, so you'd just FOUC on every Web page), and it's extremely unlikely
62250         that anybody is relying on this support.
62251         
62252         Tor Arne agreed it was ok to disable (he enabled it on the Qt side), and only Mac/Qt were using this
62253         code.
62254
62255         * WebCore.pro:
62256         * WebCore.xcodeproj/project.pbxproj:
62257         * dom/Document.cpp:
62258         (WebCore::Document::userStyleSheet):
62259         * dom/Document.h:
62260         * loader/FrameLoader.cpp:
62261         (WebCore::FrameLoader::begin):
62262         * loader/UserStyleSheetLoader.cpp: Removed.
62263         * loader/UserStyleSheetLoader.h: Removed.
62264         * page/Frame.cpp:
62265         (WebCore::Frame::reapplyStyles):
62266         * page/Frame.h:
62267         * page/Page.cpp:
62268         (WebCore::Page::userStyleSheetLocationChanged):
62269         (WebCore::Page::userStyleSheet):
62270         * page/mac/FrameMac.mm:
62271         * page/qt/FrameQt.cpp:
62272
62273 2009-09-04  Mikhail Naganov  <mnaganov@chromium.org>
62274
62275         Reviewed by Timothy Hatcher.
62276
62277         Add "sampling profiler" preference, simplify data display when it's set.
62278
62279         https://bugs.webkit.org/show_bug.cgi?id=28969
62280
62281         * inspector/front-end/ProfileDataGridTree.js:
62282         (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
62283         (WebInspector.ProfileDataGridNode.prototype.get data):
62284         * inspector/front-end/ProfileView.js:
62285         (WebInspector.ProfileView):
62286         * inspector/front-end/inspector.js:
62287
62288 2009-09-04  Jian Li  <jianli@chromium.org>
62289
62290         Reviewed by Adam Barth.
62291
62292         [V8] Run-time exception in onmessage handler is not forwarded to the worker object.
62293         https://bugs.webkit.org/show_bug.cgi?id=28980
62294
62295         Tested by worker-close.html.
62296
62297         * bindings/v8/ScriptFunctionCall.cpp:
62298         * bindings/v8/V8AbstractEventListener.cpp:
62299         (WebCore::V8AbstractEventListener::invokeEventHandler):
62300         * bindings/v8/V8Utilities.cpp:
62301         (WebCore::getScriptExecutionContext):
62302         (WebCore::reportException):
62303         * bindings/v8/V8Utilities.h:
62304         (WebCore::getScriptExecutionContext):
62305         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
62306         (WebCore::CALLBACK_FUNC_DECL):
62307         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
62308         (WebCore::CALLBACK_FUNC_DECL):
62309         * bindings/v8/custom/V8WorkerCustom.cpp:
62310         (WebCore::CALLBACK_FUNC_DECL):
62311         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
62312         (WebCore::CALLBACK_FUNC_DECL):
62313         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
62314         (WebCore::CALLBACK_FUNC_DECL):
62315
62316 2009-09-04  Dave Hyatt  <hyatt@apple.com>
62317
62318         Reviewed by Anders Carlsson.
62319
62320         Remove unused m_sheet variable and setCSSStyleSheet methods.
62321
62322         * dom/Document.cpp:
62323         * dom/Document.h:
62324
62325 2009-09-04  Anders Carlsson  <andersca@apple.com>
62326
62327         Reviewed by David Hyatt and Adele Peterson.
62328
62329         (Based on a patch from Adele).
62330         
62331         Fix <rdar://problem/7185875>.
62332         
62333         * page/Frame.cpp:
62334         (WebCore::Frame::setView):
62335         Detach any custom scroll bars from the old view.
62336         
62337         * page/FrameView.cpp:
62338         (WebCore::FrameView::detachCustomScrollbars):
62339         Simplify the check (and make it work when body is null) by just checking that the scroll bar owner is
62340         not a RenderPart object.
62341
62342         * rendering/RenderObject.cpp:
62343         (WebCore::RenderObject::destroy):
62344         ASSERT that frame() is not null here and also add a null check so that release builds won't crash.
62345
62346 2009-09-04  Dave Hyatt  <hyatt@apple.com>
62347
62348         Reviewed by Adam Roben.
62349
62350         Make m_userStyleSheetLoader in Frame an OwnPtr.
62351
62352         * page/Frame.cpp:
62353         (WebCore::Frame::Frame):
62354         (WebCore::Frame::~Frame):
62355         * page/Frame.h:
62356         * page/mac/FrameMac.mm:
62357         (WebCore::Frame::setUserStyleSheetLocation):
62358         (WebCore::Frame::setUserStyleSheet):
62359
62360 2009-09-04  Timothy Hatcher  <timothy@apple.com>
62361
62362         Show color swatches in the Web Inspector before the color text so clicking them will not
62363         shift the swatch. Also makes multiple swatches in the single property toggle the color format.
62364
62365         https://bugs.webkit.org/show_bug.cgi?id=28978
62366
62367         Reviewed by Darin Adler.
62368
62369         * inspector/front-end/StylesSidebarPane.js:
62370         (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Some refactoring to consolidate
62371         the processing we do on the property value. This eliminated the old nickname code, since the new
62372         WebInspector.Color class handles this. We could also simplify the color regex since more
62373         is handled by the Color class. Also no longer uses innerHTML for the linkify code.
62374         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processValue): Helper function to
62375         process a value given a regex and processor functions. 
62376         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): Make an anchor for the
62377         URL with "url()" syntax surrounding it.
62378         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Makes a color, if
62379         there was an exception just return a text node.
62380         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay.changeTo):
62381         Moved from later in the file.
62382         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay): Ditto.
62383         * inspector/front-end/inspector.css:
62384
62385 2009-09-04  Mark Mentovai  <mark@chromium.org>
62386
62387         Reviewed by Dave Hyatt.
62388
62389         https://bugs.webkit.org/show_bug.cgi?id=28614
62390
62391         Account for scrollbar state changes that occur during layout.
62392
62393         * platform/ScrollView.cpp:
62394         (WebCore::ScrollView::updateScrollbars):
62395
62396         Perform a layout prior to checking whether the scrollbar modes are
62397         off, on, or automatic.  The modes may change during layout.
62398
62399         * WebCore.base.exp:
62400         * WebCore.order:
62401         * page/Frame.cpp:
62402         (WebCore::Frame::createView):
62403         * page/FrameView.cpp:
62404         (WebCore::FrameView::FrameView):
62405         (WebCore::FrameView::resetScrollbars):
62406         (WebCore::FrameView::layout):
62407         * page/FrameView.h:
62408         * platform/ScrollView.h:
62409
62410         Eliminate duplicated (and incorrect) scrollbar mode tracking between
62411         FrameView and ScrollView.
62412
62413 2009-09-04  Yael Aharon  <yael.aharon@nokia.com>
62414
62415         Reviewed by Darin Adler.
62416
62417         hostname and host are mixed up when manipulating anchor elements.
62418         https://bugs.webkit.org/show_bug.cgi?id=28954
62419
62420         Swapped the implementation of host and hostname, and made sure not to return
62421         the port number if it is default for the given protocol. 
62422         FireFox also avoids returning the protocol number if it is default.
62423
62424         Test: fast/dom/Element/hostname-host.html
62425
62426         * html/HTMLAnchorElement.cpp:
62427         (WebCore::HTMLAnchorElement::host):
62428         (WebCore::HTMLAnchorElement::hostname):
62429         * page/SecurityOrigin.cpp:
62430         (WebCore::SecurityOrigin::isDefaultPortForProtocol):
62431         * page/SecurityOrigin.h:
62432
62433 2009-09-04  Anders Carlsson  <andersca@apple.com>
62434
62435         Reviewed by Darin Adler and Steve Falkenburg.
62436
62437         Fix <rdar://problem/7192902>.
62438
62439         Add the necessary plumbing for having QTMovieWin use WebCore timers.
62440         
62441         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
62442         (WebCore::TaskTimer::initialize):
62443         Create the timer and call QTMovieWin::setTaskTimerFuncs.
62444         
62445         (WebCore::TaskTimer::setTaskTimerDelay):
62446         Start the timer.
62447         
62448         (WebCore::TaskTimer::stopTaskTimer):
62449         Stop the timer.
62450         
62451         (WebCore::TaskTimer::fired):
62452         Call QTMovieWin::taskTimerFired().
62453         
62454         (WebCore::MediaPlayerPrivate::load):
62455         Initialize the Task timer.
62456         
62457         * platform/graphics/win/QTMovieWin.cpp:
62458         (updateTaskTimer):
62459         Call the global stopTaskTimer function and setTaskTimerDelay.
62460         
62461         (QTMovieWin::taskTimerFired):
62462         Make this a member function.
62463         
62464         (QTMovieWin::setTaskTimerFuncs):
62465         Set the global function pointers.
62466         
62467         (QTMovieWin::initializeQuickTime):
62468         (DllMain):
62469         No need to use the QT shared timer.
62470         * platform/graphics/win/QTMovieWin.h:
62471
62472 2009-09-04  Tony Chang  <tony@chromium.org>
62473
62474         Reviewed by David Levin.
62475
62476         Fix Chromium Win compile.  Missing return statement in
62477         WebCore::RenderThemeChromiumSkia::paintSliderThumb.
62478         https://bugs.webkit.org/show_bug.cgi?id=28974
62479
62480         No new tests, build fix.
62481
62482         * rendering/RenderThemeChromiumSkia.cpp:
62483         (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
62484
62485 2009-09-04  Dimitri Glazkov  <dglazkov@chromium.org>
62486
62487         Unreviewed, build fix.
62488
62489         [Chromium] Rolling out http://trac.webkit.org/changeset/48035, because it broke
62490         the build.
62491         https://bugs.webkit.org/show_bug.cgi?id=28696
62492
62493 2009-09-04  Anders Carlsson  <andersca@apple.com>
62494
62495         Fix vcproj file.
62496
62497         * WebCore.vcproj/WebCore.vcproj:
62498
62499 2009-09-03  Dave Hyatt  <hyatt@apple.com>
62500
62501         Reviewed by Adam Roben.
62502
62503         https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
62504         
62505         This patch adds new API for adding and removing user scripts from page groups.  User scripts
62506         are bundled together in isolated worlds (you can have multiple scripts together in the same
62507         world).
62508
62509         Added userscripts/ directory for holding new tests (along with a simple test of script injection).
62510
62511         * WebCore.base.exp:
62512         * WebCore.vcproj/WebCore.vcproj:
62513         * WebCore.xcodeproj/project.pbxproj:
62514         * bindings/js/ScriptController.cpp:
62515         (WebCore::ScriptController::evaluateInIsolatedWorld):
62516         * bindings/js/ScriptController.h:
62517         * bindings/v8/ScriptController.cpp:
62518         (WebCore::ScriptController::evaluateInIsolatedWorld):
62519         * bindings/v8/ScriptController.h:
62520         * loader/FrameLoader.cpp:
62521         (WebCore::FrameLoader::finishedParsing):
62522         (WebCore::FrameLoader::dispatchDocumentElementAvailable):
62523         * page/Frame.cpp:
62524         (WebCore::Frame::injectUserScripts):
62525         (WebCore::Frame::injectUserScriptsForWorld):
62526         * page/Frame.h:
62527         * page/PageGroup.cpp:
62528         (WebCore::PageGroup::~PageGroup):
62529         (WebCore::PageGroup::addUserScript):
62530         (WebCore::PageGroup::removeUserContentForWorld):
62531         (WebCore::PageGroup::removeAllUserContent):
62532         * page/PageGroup.h:
62533         (WebCore::PageGroup::userScripts):
62534         * page/UserScript.h: Added.
62535         (WebCore::UserScript::UserScript):
62536         (WebCore::UserScript::source):
62537         (WebCore::UserScript::url):
62538         (WebCore::UserScript::patterns):
62539         (WebCore::UserScript::worldID):
62540         (WebCore::UserScript::injectionTime):
62541         * page/UserScriptTypes.h: Added.
62542         (WebCore::):
62543
62544 2009-09-04  Alexey Proskuryakov  <ap@apple.com>
62545
62546         Reviewed by Eric Seidel.
62547
62548         https://bugs.webkit.org/show_bug.cgi?id=26402
62549         Crashes when using a detached DocumentType node
62550
62551         Test: fast/dom/DOMImplementation/detached-doctype.html
62552
62553         DocumentType nodes are the only one that can have null document(), and they can never have
62554         children, so they are a degenerate case for NodeLists.
62555
62556         * dom/Node.cpp:
62557         (WebCore::Node::childNodes): Don't try register node list with document if there's no
62558         document. Since there are no changes possible for a DocumentType's node list, this is not
62559         necessary.
62560         (WebCore::Node::registerDynamicNodeList): Ditto.
62561         (WebCore::Node::unregisterDynamicNodeList): Ditto. I couldn't find a scenario where this
62562         was invoked for a DocumentType node, but I also couldn't prove that it can't be (the
62563         de-registration code path that I saw taken was via Node destructor, and that already has
62564         a null check for document).
62565
62566         * bindings/js/JSNodeCustom.cpp:
62567         (WebCore::JSNode::addEventListener): Bail out if there is no document (just as we already do
62568         if there is no window).
62569         (WebCore::JSNode::removeEventListener): Ditto.
62570
62571 2009-09-04  Xan Lopez  <xlopez@igalia.com>
62572
62573         Reviewed by Gustavo Noronha.
62574
62575         [GTK] loadFinished never emitted
62576         https://bugs.webkit.org/show_bug.cgi?id=28935
62577
62578         Do not report errors right away from
62579         ResourceHandle::start. Instead return true and schedule an error
62580         to be reported in the handle later. Otherwise WebCore gets
62581         confused and thinks the resource never finished loading, making it
62582         not emit the finished status.
62583
62584         * platform/network/soup/ResourceHandleSoup.cpp:
62585         (WebCore::startHttp):
62586         (WebCore::):
62587
62588 2009-09-04  Ben Murdoch  <benm@google.com>
62589
62590         Reviewed by Eric Seidel.
62591
62592         [V8] DOM Storage bindings: Event Handler should create StorageEvents
62593         https://bugs.webkit.org/show_bug.cgi?id=28942
62594         
62595         Tests:
62596         Causes the following tests that were failing with V8 to pass:
62597         * storage/domstorage/localstorage/onstorage-attribute-setwindow.html
62598         * storage/domstorage/localstorage/complex-keys.html
62599         * storage/domstorage/localstorage/onstorage-attribute-markup.html
62600         * storage/domstorage/localstorage/simple-events.html
62601         * storage/domstorage/localstorage/onstorage-attribute-set-attribute.html
62602         * storage/domstorage/localstorage/index-get-and-set.html
62603         * storage/domstorage/sessionstorage/onstorage-attribute-setwindow.html
62604         * storage/domstorage/sessionstorage/onstorage-attribute-markup.html
62605         * storage/domstorage/sessionstorage/simple-events.html
62606         * storage/domstorage/sessionstorage/onstorage-attribute-set-attribute.html
62607         * storage/domstorage/sessionstorage/index-get-and-set.html
62608
62609         Code changes:
62610         * bindings/v8/V8DOMWrapper.cpp:
62611         (WebCore::V8DOMWrapper::convertEventToV8Object):  Create StorageEvents.
62612         * bindings/v8/custom/V8StorageCustom.cpp:
62613         (WebCore::storageGetter): Check if we are retrieving the length property and return the number of items in the object rather than a property named length when invoking the getItem() member of local/sessionStorage.
62614
62615 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
62616
62617         Reviewed by Timothy Hatcher.
62618
62619         https://bugs.webkit.org/show_bug.cgi?id=28911
62620
62621         * WebCore.gypi:
62622         * WebCore.vcproj/WebCore.vcproj:
62623         * inspector/InspectorBackend.cpp:
62624         (WebCore::InspectorBackend::dispatchOnInjectedScript):
62625         * inspector/InspectorBackend.h:
62626         * inspector/InspectorBackend.idl:
62627         * inspector/front-end/ConsoleView.js:
62628         (WebInspector.ConsoleView.prototype.doEvalInWindow):
62629         (WebInspector.ConsoleView.prototype._formatarray):
62630         (WebInspector.ConsoleView.prototype._formatnode):
62631         * inspector/front-end/DOMAgent.js:
62632         * inspector/front-end/ElementsPanel.js:
62633         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
62634         (WebInspector.ElementsPanel.prototype.searchCanceled):
62635         (WebInspector.ElementsPanel.prototype.performSearch):
62636         * inspector/front-end/InjectedScript.js:
62637         (InjectedScript.dispatch):
62638         * inspector/front-end/InjectedScriptAccess.js: Added.
62639         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
62640         (InjectedScriptAccess._installHandler):
62641         * inspector/front-end/MetricsSidebarPane.js:
62642         (WebInspector.MetricsSidebarPane.prototype.update):
62643         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
62644         * inspector/front-end/ObjectPropertiesSection.js:
62645         (WebInspector.ObjectPropertiesSection.prototype.update):
62646         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
62647         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
62648         * inspector/front-end/PropertiesSidebarPane.js:
62649         (WebInspector.PropertiesSidebarPane.prototype.update):
62650         * inspector/front-end/ResourcesPanel.js:
62651         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
62652         * inspector/front-end/ScriptsPanel.js:
62653         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
62654         * inspector/front-end/StylesSidebarPane.js:
62655         (WebInspector.StylesSidebarPane.prototype.update):
62656         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
62657         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
62658         (WebInspector.StylePropertyTreeElement.prototype):
62659         * inspector/front-end/inspector.html:
62660
62661 2009-09-04  Tony Chang  <tony@chromium.org>
62662
62663         Reviewed by Eric Seidel.
62664
62665         Implement <input type="range"> for Chromium Linux by painting
62666         the slider and the thumb using skia.
62667         https://bugs.webkit.org/show_bug.cgi?id=28928
62668
62669         Covered by existing tests (we're currently hitting an assert for them).
62670
62671         * rendering/RenderThemeChromiumLinux.cpp:
62672         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
62673         * rendering/RenderThemeChromiumLinux.h:
62674         * rendering/RenderThemeChromiumSkia.cpp:
62675         (WebCore::drawVertLine):
62676         (WebCore::drawHorizLine):
62677         (WebCore::drawBox):
62678         (WebCore::RenderThemeChromiumSkia::paintSliderTrack):
62679         (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
62680         * rendering/RenderThemeChromiumSkia.h:
62681
62682 2009-09-04  Kent Tamura  <tkent@chromium.org>
62683
62684         Reviewed by Eric Seidel.
62685
62686         - Implement <input type=color> as a text field.
62687         - ValidityState::typeMismatch supports for type=color.
62688         https://bugs.webkit.org/show_bug.cgi?id=28966
62689
62690         Tests: fast/forms/ValidityState-patternMismatch-unsupported.html
62691                fast/forms/ValidityState-typeMismatch-color.html
62692
62693         * html/HTMLInputElement.cpp:
62694         (WebCore::HTMLInputElement::valueMissing):
62695         (WebCore::HTMLInputElement::patternMismatch):
62696         (WebCore::HTMLInputElement::setInputType):
62697         (WebCore::HTMLInputElement::formControlType):
62698         (WebCore::HTMLInputElement::saveFormControlState):
62699         (WebCore::HTMLInputElement::restoreFormControlState):
62700         (WebCore::HTMLInputElement::accessKeyAction):
62701         (WebCore::HTMLInputElement::rendererIsNeeded):
62702         (WebCore::HTMLInputElement::createRenderer):
62703         (WebCore::HTMLInputElement::appendFormData):
62704         (WebCore::HTMLInputElement::valueWithDefault):
62705         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
62706         (WebCore::HTMLInputElement::defaultEventHandler):
62707         (WebCore::HTMLInputElement::isRequiredFormControl):
62708         (WebCore::HTMLInputElement::dataList):
62709         * html/HTMLInputElement.h:
62710         (WebCore::HTMLInputElement::):
62711         (WebCore::HTMLInputElement::isTextField):
62712         * html/ValidityState.cpp:
62713         (WebCore::ValidityState::typeMismatch):
62714         (WebCore::ValidityState::isValidColorString):
62715         * html/ValidityState.h:
62716
62717 2009-09-04  Mads Ager  <ager@chromium.org>
62718
62719         Reviewed by David Levin.
62720
62721         [V8] Crash when updating document cache
62722         https://bugs.webkit.org/show_bug.cgi?id=28965
62723
62724         Initialization of a V8 JavaScript context can fail.  When that
62725         happens, do not attempt to update the document wrapper cache.
62726
62727         This code path is exercised by http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html.
62728
62729         * bindings/v8/V8Proxy.cpp:
62730         (WebCore::V8Proxy::updateDocument):
62731
62732 2009-09-04  Yaar Schnitman  <yaar@chromium.org>
62733
62734         Reviewed by Eric Seidel.
62735
62736         Two bugs:
62737
62738         https://bugs.webkit.org/show_bug.cgi?id=25489
62739         CSS property background-position is now serialized in shorthand string as
62740         background-position-x background-position-y, as the specification requires
62741         (See http://www.w3.org/TR/2008/WD-css3-background-20080910/#the-background-position).
62742         
62743
62744         https://bugs.webkit.org/show_bug.cgi?id=26541
62745         CSS background-color is now be serialized before other background properties, 
62746         as CSS specification requires (See http://dev.w3.org/csswg/cssom/#css-value).  
62747
62748         An existing layout test that accepted wrong order and skipped position test 
62749         had to be modified.
62750
62751         * css/CSSMutableStyleDeclaration.cpp:
62752         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
62753
62754 2009-09-03  Kent Tamura  <tkent@chromium.org>
62755
62756         Reviewed by David Levin.
62757
62758         Add support for HTMLTextAreaElement.textLength
62759         https://bugs.webkit.org/show_bug.cgi?id=28929
62760
62761         Test: fast/forms/textarea-textlength.html
62762
62763         * html/HTMLTextAreaElement.h:
62764         (WebCore::HTMLTextAreaElement::textLength):
62765         * html/HTMLTextAreaElement.idl:
62766
62767 2009-09-03  Alexey Proskuryakov  <ap@apple.com>
62768
62769         Reviewed by Darin Adler.
62770
62771         <rdar://problem/7180197>, https://bugs.webkit.org/show_bug.cgi?id=28822
62772         REGRESSION(r31231): Creating document with current document's DOCTYPE causes crashes
62773
62774         Test: fast/dom/DOMImplementation/createDocument-with-used-doctype.html
62775
62776         * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): Even though we
62777         cannot raise an exception immediately out of fear of breaking Acid3, we shouldn't use a
62778         DocumentType node in two documents.
62779
62780 2009-09-03  Brady Eidson  <beidson@apple.com>
62781
62782         Reviewed by Sam Weinig.
62783
62784         Page Cache should support pages with Frames.
62785         https://bugs.webkit.org/show_bug.cgi?id=13631
62786
62787         Tests: fast/events/pageshow-pagehide-on-back-cached-with-frames.html
62788                fast/loader/frames-with-unload-handlers-in-page-cache.html
62789
62790         * loader/FrameLoader.cpp:
62791         (WebCore::FrameLoader::canCachePageContainingThisFrame):
62792         (WebCore::FrameLoader::logCanCacheFrameDecision):
62793
62794 2009-09-03  Steve VanDeBogart  <vandebo@chromium.org>
62795
62796         Reviewed by Eric Seidel.
62797
62798         Handle middle click in Chromium like QT
62799         https://bugs.webkit.org/show_bug.cgi?id=28696
62800
62801         Tested by middle-click-onpaste.html.
62802
62803         * platform/Pasteboard.h:
62804         * platform/chromium/ChromiumBridge.h:
62805         * platform/chromium/ClipboardChromium.cpp:
62806         (WebCore::ClipboardChromium::getData):
62807         * platform/chromium/PasteboardChromium.cpp:
62808         (WebCore::Pasteboard::Pasteboard):
62809         (WebCore::Pasteboard::isSelectionMode):
62810         (WebCore::Pasteboard::setSelectionMode):
62811         (WebCore::Pasteboard::canSmartReplace):
62812         (WebCore::Pasteboard::plainText):
62813         (WebCore::Pasteboard::documentFragment):
62814         * platform/chromium/PasteboardPrivate.h:
62815         (WebCore::PasteboardPrivate::):
62816
62817 2009-09-03  Brady Eidson  <beidson@apple.com>
62818
62819         Reviewed by Sam Weinig.
62820
62821         More partial work towards "Page Cache should support pages with Frames"
62822         https://bugs.webkit.org/show_bug.cgi?id=13631
62823
62824         Fix a bug where subframes weren't asked if they were cacheable.
62825
62826         No new tests, especially since page caching for frames isn't turned on yet.
62827         A layout test will come in my next patch, which enables frames in the page cache.
62828
62829         * loader/FrameLoader.cpp:
62830         (WebCore::FrameLoader::canCachePageContainingThisFrame):
62831
62832 2009-09-03  Adam Barth  <abarth@webkit.org>
62833
62834         Reviewed by eric@webkit.org.
62835
62836         https://bugs.webkit.org/show_bug.cgi?id=24696
62837
62838         Added mixed content methods to FrameLoaderClient.
62839
62840         * loader/EmptyClients.h:
62841         (WebCore::EmptyFrameLoaderClient::didDisplayInsecureContent):
62842         (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
62843         * loader/FrameLoaderClient.h:
62844
62845 2009-09-03  Kevin Watters  <kevinwatters@gmail.com>
62846
62847         Reviewed by Kevin Ollivier.
62848
62849         [wx] Frames support
62850         https://bugs.webkit.org/show_bug.cgi?id=19041
62851
62852         * page/wx/EventHandlerWx.cpp:
62853         (WebCore::EventHandler::passMousePressEventToSubframe):
62854         (WebCore::EventHandler::passMouseMoveEventToSubframe):
62855         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
62856         (WebCore::EventHandler::passWheelEventToWidget):
62857         (WebCore::EventHandler::tabsToAllControls):
62858         (WebCore::EventHandler::passSubframeEventToSubframe):
62859         (WebCore::EventHandler::passMouseDownEventToWidget):
62860         * platform/wx/RenderThemeWx.cpp:
62861         (WebCore::nativeWindowForRenderObject):
62862         (WebCore::RenderThemeWx::paintButton):
62863         (WebCore::RenderThemeWx::paintTextField):
62864         (WebCore::RenderThemeWx::paintMenuList):
62865         (WebCore::RenderThemeWx::paintMenuListButton):
62866         * platform/wx/ScrollbarThemeWx.cpp: Added.
62867         (WebCore::ScrollbarTheme::nativeTheme):
62868         (WebCore::ScrollbarThemeWx::~ScrollbarThemeWx):
62869         (WebCore::ScrollbarThemeWx::scrollbarThickness):
62870         (WebCore::ScrollbarThemeWx::hasThumb):
62871         (WebCore::ScrollbarThemeWx::buttonSize):
62872         (WebCore::ScrollbarThemeWx::backButtonRect):
62873         (WebCore::ScrollbarThemeWx::forwardButtonRect):
62874         (WebCore::ScrollbarThemeWx::trackRect):
62875         (WebCore::ScrollbarThemeWx::paintScrollCorner):
62876         (WebCore::ScrollbarThemeWx::paint):
62877         * platform/wx/ScrollbarThemeWx.h: Added.
62878         (WebCore::ScrollbarThemeWx::hasButtons):
62879         * platform/wx/TemporaryLinkStubs.cpp:
62880         * platform/wx/wxcode/gtk/scrollbar_render.cpp: Added.
62881         (wxStyleForPart):
62882         (GetButtonWidget):
62883         (wxGetGdkWindowForDC):
62884         (wxRenderer_DrawScrollbar):
62885         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: Added.
62886         (wxScrollbarPartToHIPressedState):
62887         (wxRenderer_DrawScrollbar):
62888         * platform/wx/wxcode/scrollbar_render.h: Added.
62889         (calcThumbStartAndLength):
62890         * platform/wx/wxcode/win/non-kerned-drawing.cpp:
62891         (WebCore::drawTextWithSpacing):
62892         * platform/wx/wxcode/win/scrollbar_render.cpp: Added.
62893         (GraphicsHDC::GraphicsHDC):
62894         (GraphicsHDC::~GraphicsHDC):
62895         (GraphicsHDC::operator HDC):
62896         (getTSStateForPart):
62897         (wxRenderer_DrawScrollbar):
62898         * webcore-wx.bkl:
62899
62900 2009-09-03  Yael Aharon  <yael.aharon@nokia.com>
62901
62902         Reviewed by Simon Hausmann.
62903
62904         [Qt] Page content is not displayed in case of HTTP status error
62905         https://bugs.webkit.org/show_bug.cgi?id=28949
62906
62907         If the server sent content, show it to the user instead of an error,
62908         even if the HTTP status code is not success.
62909
62910         * platform/network/qt/QNetworkReplyHandler.cpp:
62911         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
62912         (WebCore::QNetworkReplyHandler::finish):
62913         (WebCore::QNetworkReplyHandler::forwardData):
62914         (WebCore::QNetworkReplyHandler::resetState):
62915         * platform/network/qt/QNetworkReplyHandler.h:
62916
62917 2009-09-03  Drew Wilson  <atwilson@google.com>
62918
62919         Reviewed by Dimitri Glazkov.
62920
62921         Need to update v8 bindings to support passing multiple ports to postMessage()
62922         https://bugs.webkit.org/show_bug.cgi?id=28839
62923
62924         Added support for passing MessagePortArray to v8 bindings.
62925
62926         New tests that now pass with V8:
62927                fast/events/message-port-multi.html
62928                fast/workers/worker-context-multi-port.html
62929                fast/workers/worker-multi-port.html
62930
62931         * WebCore.gypi:
62932         Added V8MessageEventCustom.cpp and V8MessagePortCustom.h
62933         * bindings/v8/custom/V8CustomBinding.h:
62934         Added custom postMessage() handlers for various classes.
62935         * bindings/v8/custom/V8DOMWindowCustom.cpp:
62936         (WebCore::DOMWindowPostMessage):
62937         Added custom handler that supports MessagePortArray.
62938         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
62939         (WebCore::DedicatedWorkerContextPostMessage):
62940         Added custom handler that supports MessagePortArray.
62941         * bindings/v8/custom/V8MessageEventCustom.cpp: Added.
62942         (WebCore::MessageEventPorts):
62943         Added getter for ports attribute.
62944         (WebCore::MessageEventInitMessageEvent):
62945         Added custom handler that supports MessagePortArray.
62946         * bindings/v8/custom/V8MessagePortCustom.cpp:
62947         (WebCore::MessagePortPostMessage):
62948         Added custom handler that supports MessagePortArray.
62949         (WebCore::getMessagePortArray):
62950         Added helper function that supports converting from a sequence-like object to a MessagePortArray.
62951         * bindings/v8/custom/V8MessagePortCustom.h: Added.
62952         Added declaration for getMessagePortArray().
62953         * bindings/v8/custom/V8WorkerCustom.cpp:
62954         (WebCore::WorkerPostMessage):
62955         Added custom handler that supports MessagePortArray.
62956
62957 2009-09-03  Drew Wilson  <atwilson@google.com>
62958
62959         Reviewed by Sam Weinig.
62960
62961         Need to update JS bindings and IDL files to support multiple message ports in postMessage()
62962         https://bugs.webkit.org/show_bug.cgi?id=28460
62963
62964         Added new toJSSequence() API which validates that a JSValue meets the WebIDL criteria for a sequence.
62965
62966         Tests: fast/events/message-port-multi.html
62967                fast/workers/worker-context-multi-port.html
62968                fast/workers/worker-multi-port.html
62969
62970         * GNUmakefile.am:
62971         * WebCore.gypi:
62972         * WebCore.pro:
62973         * WebCore.vcproj/WebCore.vcproj:
62974         * WebCore.xcodeproj/project.pbxproj:
62975         * WebCoreSources.bkl:
62976         Added JSMessagePortCustom.h and JSMessageEventCustom.cpp.
62977         * bindings/js/JSDOMBinding.cpp:
62978         (WebCore::toJSSequence):
62979         Added toJSSequence() API to do validation on sequence-like objects per WebIDL.
62980         * bindings/js/JSDOMBinding.h:
62981         * bindings/js/JSDOMWindowCustom.cpp:
62982         (WebCore::JSDOMWindow::postMessage):
62983         Added custom handler for postMessage() that handles being passed MessagePortArrays.
62984         * bindings/js/JSDedicatedWorkerContextCustom.cpp:
62985         (WebCore::JSDedicatedWorkerContext::postMessage):
62986         Added custom handler for postMessage() that handles being passed MessagePortArrays.
62987         * bindings/js/JSMessageEventCustom.cpp: Added.
62988         (WebCore::JSMessageEvent::ports):
62989         Added custom ports() getter that converts from MessagePortArray to JSArray.
62990         (WebCore::JSMessageEvent::initMessageEvent):
62991         Added support for passing a MessagePortArray.
62992         * bindings/js/JSMessagePortCustom.cpp:
62993         (WebCore::JSMessagePort::postMessage):
62994         Added custom handler for postMessage() that handles being passed MessagePortArray.
62995         (WebCore::fillMessagePortArray):
62996         New helper routine that validates/converts from a JS sequence o a WebCore::MessagePortArray.
62997         * bindings/js/JSMessagePortCustom.h: Added.
62998         * bindings/js/JSWorkerCustom.cpp:
62999         (WebCore::JSWorker::postMessage):
63000         Added custom handler for postMessage() that handles being passed MessagePortArray.
63001         * dom/MessageEvent.cpp:
63002         * dom/MessageEvent.h:
63003         (WebCore::MessageEvent::ports):
63004         Changed ports() to return a MessagePortArray* since this value can be null.
63005         * dom/MessageEvent.idl:
63006         Updated IDL to match HTML5 spec (now accepts MessagePortArrays instead of a solitary MessagePort).
63007         * dom/MessagePort.cpp:
63008         * dom/MessagePort.h:
63009         * dom/MessagePort.idl:
63010         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
63011         * page/DOMWindow.h:
63012         * page/DOMWindow.idl:
63013         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
63014         * workers/DedicatedWorkerContext.cpp:
63015         * workers/DedicatedWorkerContext.h:
63016         * workers/DedicatedWorkerContext.idl:
63017         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
63018         * workers/Worker.cpp:
63019         * workers/Worker.h:
63020         * workers/Worker.idl:
63021         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
63022
63023 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
63024
63025         Reviewed by Timothy Hatcher.
63026
63027         WebInspector: Do not query non-function call frames for function name.
63028
63029         https://bugs.webkit.org/show_bug.cgi?id=28799
63030
63031         * inspector/front-end/InjectedScript.js:
63032         (InjectedScript.CallFrameProxy):
63033         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
63034
63035 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
63036
63037         Reviewed by Timothy Hatcher.
63038
63039         Crash after typing "clear" and pressing return in inspector console.
63040
63041         https://bugs.webkit.org/show_bug.cgi?id=28684
63042
63043         * inspector/front-end/InjectedScript.js:
63044         (InjectedScript._clearConsoleMessages):
63045         (InjectedScript._inspectObject):
63046         (InjectedScript._ensureCommandLineAPIInstalled):
63047
63048 2009-09-03  Vitaly Repeshko  <vitalyr@chromium.org>
63049
63050         Reviewed by Adam Barth.
63051
63052         [V8] Squeezed out some performance from string conversion.
63053         https://bugs.webkit.org/show_bug.cgi?id=28945
63054
63055         * bindings/v8/V8Binding.cpp:
63056         (WebCore::WebCoreStringResource::WebCoreStringResource):
63057         (WebCore::WebCoreStringResource::~WebCoreStringResource):
63058         (WebCore::WebCoreStringResource::data):
63059         (WebCore::WebCoreStringResource::length):
63060         (WebCore::WebCoreStringResource::atomicString):
63061         (WebCore::WebCoreStringResource::string):
63062         Avoid calling virtual length method. Be more explicit with
63063         external memory computation. Avoid function calls in data and
63064         length.
63065         (WebCore::):
63066         (WebCore::v8StringToWebCoreString):
63067         (WebCore::v8StringToAtomicWebCoreString):
63068         (WebCore::v8NonStringValueToWebCoreString):
63069         (WebCore::v8NonStringValueToAtomicWebCoreString):
63070         Avoid extra calls of WebCoreStringResource::toString. When
63071         AtomicString is computed pass it immediately when constructing
63072         WebCoreStringResource. Use inline buffer for small strings.
63073         * bindings/v8/V8Binding.h:
63074         (WebCore::v8ValueToWebCoreString):
63075         (WebCore::v8ValueToAtomicWebCoreString):
63076         (WebCore::toString):
63077         Inline dispatch of string vs. non-string values.
63078
63079 2009-09-03  Vitaly Repeshko  <vitalyr@chromium.org>
63080
63081         Reviewed by Adam Barth.
63082
63083         [V8] Inlined common case of V8IsolatedWorld::getEntered to speed
63084         up V8Proxy lookup.
63085         https://bugs.webkit.org/show_bug.cgi?id=28946
63086
63087         * bindings/v8/V8IsolatedWorld.cpp:
63088         (WebCore::V8IsolatedWorld::getEnteredImpl):
63089         * bindings/v8/V8IsolatedWorld.h:
63090         (WebCore::V8IsolatedWorld::getEntered):
63091
63092 2009-09-03  Kent Tamura  <tkent@chromium.org>
63093
63094         Reviewed by Eric Seidel.
63095
63096         Fix a regression bug that maxLength doesn't work for IME input.
63097         https://bugs.webkit.org/show_bug.cgi?id=25253
63098
63099         Tests: fast/forms/input-maxlength-ime-completed.html
63100                fast/forms/input-maxlength-ime-preedit.html
63101
63102         * dom/InputElement.cpp:
63103         (WebCore::InputElement::handleBeforeTextInsertedEvent):
63104         * dom/InputElement.h:
63105         * html/HTMLInputElement.cpp:
63106         (WebCore::HTMLInputElement::defaultEventHandler):
63107         * wml/WMLInputElement.cpp:
63108         (WebCore::WMLInputElement::defaultEventHandler):
63109
63110 2009-09-03  Cameron McCormack  <cam@mcc.id.au>
63111
63112         Reviewed by Eric Seidel.
63113
63114         Make SVGStyleElement title/media/type setters do something
63115         https://bugs.webkit.org/show_bug.cgi?id=28828
63116
63117         Test: svg/dom/style-reflect.html
63118
63119         * svg/SVGStyleElement.cpp:
63120         (WebCore::SVGStyleElement::setXmlspace): Actually change the attribute.
63121         (WebCore::SVGStyleElement::setType): Ditto.
63122         (WebCore::SVGStyleElement::setMedia): Ditto.
63123         (WebCore::SVGStyleElement::setTitle): Ditto.
63124
63125 2009-09-03  Ben Murdoch  <benm@google.com>
63126
63127         https://bugs.webkit.org/show_bug.cgi?id=28872
63128         
63129         Fixes a bug where handleEvent() in the V8 Custom SQL Statement Error binding would not return the correct result to WebCore after invoking the callback.
63130
63131         Test: storage/statement-error-callback.html
63132
63133         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
63134         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): Return true from handleEvent() if the callback raised an exception or the callback itself returned true.
63135
63136 2009-09-03  Maxime Simon  <simon.maxime@gmail.com>
63137
63138         Reviewed by Eric Seidel.
63139
63140         [Haiku] Adding three font-specific files to WebCore:
63141         FontCustomPlatformData.cpp, FontCustomPlatformData.h,
63142         and FontPlatformData.h
63143         https://bugs.webkit.org/show_bug.cgi?id=28131
63144
63145         * platform/graphics/haiku/FontCustomPlatformData.cpp: Added.
63146         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
63147         (WebCore::FontCustomPlatformData::fontPlatformData):
63148         (WebCore::createFontCustomPlatformData):
63149         * platform/graphics/haiku/FontCustomPlatformData.h: Added.
63150         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
63151         * platform/graphics/haiku/FontPlatformData.h: Added.
63152         (WebCore::FontPlatformData::FontPlatformData):
63153         (WebCore::FontPlatformData::font):
63154         (WebCore::FontPlatformData::size):
63155         (WebCore::FontPlatformData::bold):
63156         (WebCore::FontPlatformData::oblique):
63157         (WebCore::FontPlatformData::hashTableDeletedFontValue):
63158
63159 2009-09-02  Brady Eidson  <beidson@apple.com>
63160
63161         Reviewed by Darin Adler.
63162
63163         More partial work towards "Page Cache should support pages with Frames"
63164         https://bugs.webkit.org/show_bug.cgi?id=13631
63165
63166         No new tests. (No change in behavior, current tests pass).
63167
63168         * loader/DocumentLoader.cpp:
63169         (WebCore::DocumentLoader::stopLoading): Adopt the new enum form for FrameLoader::stopLoading().
63170
63171         * loader/FrameLoader.cpp:
63172         (WebCore::FrameLoader::stopLoading): Take an enum to decide whether to dispatch no unload events,
63173           only unload, or unload and pagehide.
63174         (WebCore::FrameLoader::closeURL):
63175         (WebCore::FrameLoader::scheduleRedirection):
63176         (WebCore::FrameLoader::cachePageForHistoryItem): Call pageHidden().
63177         (WebCore::FrameLoader::pageHidden): Add to dispatch the pagehide event to all frames in the case
63178           where a page is added to the PageCache.
63179         * loader/FrameLoader.h:
63180
63181         * loader/FrameLoaderTypes.h: Add an UnloadEventPolicy enum.
63182
63183 2009-09-02  Brady Eidson  <beidson@apple.com>
63184
63185         Reviewed by Darin Adler.
63186
63187         More partial work towards "Page Cache should support pages with Frames"
63188         https://bugs.webkit.org/show_bug.cgi?id=13631
63189
63190         - More CachedFrame destruction work.
63191         - Including related Frame and FrameLoader changes and cleanup.
63192
63193         No new tests. (No change in behavior, current tests pass).
63194
63195         * history/CachedFrame.cpp:
63196         (WebCore::CachedFrameBase::restore): Rebuild up the whole FrameTree when restoring.
63197         (WebCore::CachedFrame::CachedFrame): Tear down the entire FrameTree when caching.
63198         (WebCore::CachedFrame::destroy): For child frames that are being destroyed while in
63199           the PageCache, do lightweight cleanup to:
63200           A - Prevent referring to a stale Page object.
63201           B - Prevent World Leaks of WebKit objects.
63202
63203         * loader/FrameLoader.cpp:
63204         (WebCore::FrameLoader::stopAllLoaders): stopAllLoaders() should never be called on Frames that are
63205           in the PageCache. ASSERT that fact.
63206         (WebCore::FrameLoader::open): Remove a bogus release-build workaround, as the comment right above it
63207           explains it is not effective, and it'd be better to see the crash locally instead of downstream.
63208         (WebCore::FrameLoader::closeAndRemoveChild): Make sure the owner element has a page pointer before
63209           referencing it.
63210         (WebCore::FrameLoader::detachFromParent): Use the new detachViewsAndDocumentLoader() call
63211         (WebCore::FrameLoader::detachViewsAndDocumentLoader): Does lightweight cleanup of client (WebKit) objects.
63212         * loader/FrameLoader.h:
63213
63214         * page/Frame.cpp:
63215         (WebCore::Frame::detachFromPage): Simply clear the Page pointer without doing any other work.
63216         (WebCore::Frame::pageDestroyed): Use the new detachFromPage().
63217         * page/Frame.h:
63218
63219 2009-09-02  Jungshik Shin  <jshin@chromium.org>
63220
63221         Reviewed by Dimitri Glazkov
63222
63223         [Chromium] Add 'icu::' qualifier in preparation for ICU upgrade to 4.2
63224         in Chromium. This is to fix a new file added in r28742 since the
63225         last patch for this issue.
63226
63227         https://bugs.webkit.org/show_bug.cgi?id=28410
63228
63229         No change in the test result.
63230
63231         * platform/graphics/chromium/FontLinux.cpp:
63232         (WebCore::TextRunWalker::getNormalizedTextRun):
63233
63234 2009-09-02  Dimitri Glazkov  <dglazkov@chromium.org>
63235
63236         Unreviewed, build fix.
63237
63238         [Chromium] Correct a typo to fix bustage, caused by r47991.
63239         https://bugs.webkit.org/show_bug.cgi?id=27933
63240
63241         * platform/graphics/skia/ImageBufferSkia.cpp: Changed "Unpremultipled" to "Unmultiplied".
63242
63243 2009-09-02  Dimitri Glazkov  <dglazkov@chromium.org>
63244
63245         Unreviewed, build fix.
63246
63247         [Chromium] Add a missing include to fix bustage, caused by r47991.
63248         https://bugs.webkit.org/show_bug.cgi?id=27933
63249
63250         * platform/graphics/skia/ImageBufferSkia.cpp: Added SkColorPriv include.
63251
63252 2009-09-02  Jian Li  <jianli@chromium.org>
63253
63254         Reviewed by Dimitri Glazkov.
63255
63256         [Chromium] Implement file support for DragData.
63257         https://bugs.webkit.org/show_bug.cgi?id=28896
63258
63259         * platform/chromium/DragDataChromium.cpp:
63260         (WebCore::DragData::containsURL):
63261         (WebCore::DragData::asURL):
63262         (WebCore::DragData::containsCompatibleContent):
63263
63264 2009-09-02  Kevin Watters  <kevinwatters@gmail.com>
63265
63266         Reviewed by Kevin Ollivier.
63267
63268         Protect libcurl shared data with Mutex objects via curl_set_share_opt.
63269         https://bugs.webkit.org/show_bug.cgi?id=28920
63270
63271         * platform/network/curl/ResourceHandleManager.cpp:
63272         (WebCore::sharedResourceMutex):
63273         (WebCore::curl_lock_callback):
63274         (WebCore::curl_unlock_callback):
63275         (WebCore::ResourceHandleManager::ResourceHandleManager):
63276
63277 2009-09-02  Evan Stade  <estade@chromium.org>
63278
63279         Reviewed by Eric Seidel.
63280
63281         Expose functions to change the focus ring color for Linux Chromium
63282
63283         https://bugs.webkit.org/show_bug.cgi?id=28887
63284
63285         * rendering/RenderThemeChromiumLinux.cpp:
63286         (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
63287         (WebCore::RenderThemeChromiumLinux::setFocusRingColor):
63288         (WebCore::RenderThemeChromiumLinux::platformFocusRingColor):
63289         * rendering/RenderThemeChromiumLinux.h:
63290
63291 2009-09-02  Dirk Schulze  <krit@webkit.org>
63292
63293         Reviewed by Eric Seidel.
63294
63295         SVG Filter premultiplied color support for getImageDate/putImageData
63296         [https://bugs.webkit.org/show_bug.cgi?id=27933]
63297
63298         Patch to get premultiplied color support for Skia on getImageDate/putImageData.
63299
63300         * platform/graphics/skia/ImageBufferSkia.cpp:
63301         (WebCore::getImageData):
63302         (WebCore::putImageData):
63303
63304 2009-09-02  Brady Eidson  <beidson@apple.com>
63305
63306         Forget to rename openInFrameloader() to open(), which was requested in Darin's review of my last patch.
63307
63308         * history/CachedFrame.cpp:
63309         (WebCore::CachedFrameBase::restore):
63310         (WebCore::CachedFrame::open):
63311         * history/CachedFrame.h:
63312         * history/CachedPage.cpp:
63313         (WebCore::CachedPage::restore):
63314
63315 2009-09-02  Brady Eidson  <beidson@apple.com>
63316
63317         Reviewed by Darin Adler.
63318
63319         In http://trac.webkit.org/changeset/47943 I added new header dependencies to FrameLoader.h.
63320         Removing them is a little trouble, but worth it going forward.
63321         The pattern of creating a "CachedFrameBase" as the interface CachedFrame provides to FrameLoader
63322         was suggested by Darin Adler.
63323
63324         No new tests. (No change in behavior)
63325
63326         Make CachedFrame inherit privately from CachedFrameBase, which becomes the interface FrameLoader uses:
63327         * history/CachedFrame.cpp:
63328         (WebCore::CachedFrameBase::CachedFrameBase):
63329         (WebCore::CachedFrameBase::~CachedFrameBase):
63330         (WebCore::CachedFrameBase::restore):
63331         (WebCore::CachedFrame::CachedFrame):
63332         (WebCore::CachedFrame::openInFrameLoader):
63333         * history/CachedFrame.h:
63334         (WebCore::CachedFrameBase::document):
63335         (WebCore::CachedFrameBase::view):
63336         (WebCore::CachedFrameBase::domWindow):
63337         (WebCore::CachedFrame::create):
63338         (WebCore::CachedFrame::documentLoader):
63339         (WebCore::CachedFrame::mousePressNode):
63340
63341         Call the new ::openInFrameLoader() method on the CachedFrame, as CachedFrameBase is now the only
63342         thing capable of interacting with FrameLoader::open(CachedFrameBase):
63343         * history/CachedPage.cpp:
63344         (WebCore::CachedPage::restore):
63345         * history/CachedPage.h:
63346         (WebCore::CachedPage::documentLoader):
63347
63348         Make ::open(CachedFrame) public, and change it to ::open(CachedFrameBase):
63349         * loader/FrameLoader.cpp:
63350         (WebCore::FrameLoader::open):
63351         * loader/FrameLoader.h:
63352
63353 2009-09-02  Ryosuke Niwa  <rniwa@webkit.org>
63354
63355         Reviewed by Eric Seidel.
63356
63357         Cannot pres Enter to escape from bulleted list when <ul> is a child of <li>.
63358         https://bugs.webkit.org/show_bug.cgi?id=24866
63359
63360         This patch modifies breakOutOfEmptyListItem to break out of a properly nested list
63361         (a list to break out of is inside another list item).
63362
63363         When the empty list item appears at the end of another list item, WebKit breaks out of
63364         the outer list item, and adds new item below the outer list item.
63365         Otherwise, WebKit breaks out of the the inner list item and inserts new paragraph.
63366
63367         Test: editing/execCommand/break-out-of-empty-list-item.html
63368
63369         * editing/CompositeEditCommand.cpp:
63370         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
63371
63372 2009-09-02  Brady Eidson  <beidson@apple.com>
63373
63374         Reviewed by Sam Weinig.
63375
63376         More partial work towards "Page Cache should support pages with Frames"
63377         https://bugs.webkit.org/show_bug.cgi?id=13631
63378
63379         This patch is primarily about the "CachedFrame tree" and making slightly different decisions
63380         based on whether a CachedFrame is the main frame or a subframe.
63381
63382         - Store whether a CachedFrame represents the main frame or a subframe.
63383         - "Chop off the frame tree" for the main frame when creating its CachedFrame, as main frames 
63384           are reused and need to start new page loads with an empty frame tree.
63385         - Reattach the frame tree to the main frame when restoring it.
63386         - open() the cached subframes in their respective loaders when restoring.
63387         - Properly clear() and destroy() cached subframes.
63388         - When committing to a new page load, and after caching the previous page, only clear the
63389           FrameView for the main frame.
63390
63391         Note that all of above will eventually be necessary as I continue to land this work in pieces,
63392         but doesn't actually change any behavior right now because we still refuse to even *try* to
63393         cache pages with frames.
63394
63395         No new tests. No change in behavior, and current tests continue to pass.
63396
63397         * history/CachedFrame.cpp:
63398         (WebCore::CachedFrame::CachedFrame):
63399         (WebCore::CachedFrame::restore):
63400         (WebCore::CachedFrame::clear):
63401         (WebCore::CachedFrame::destroy):
63402         * history/CachedFrame.h:
63403         (WebCore::CachedFrame::isMainFrame):
63404
63405         * loader/FrameLoader.cpp:
63406         (WebCore::FrameLoader::clear):
63407         (WebCore::FrameLoader::open):
63408         * loader/FrameLoader.h:
63409
63410 2009-09-02  Brady Eidson  <beidson@apple.com>
63411
63412         No review, build fix.
63413
63414         http://trac.webkit.org/changeset/47976 broke the build.  
63415         Let's try compiling before we land things, shall we?
63416
63417         * platform/graphics/SimpleFontData.cpp:
63418         (WebCore::SimpleFontData::SimpleFontData): Order the initialization list correctly.
63419
63420 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
63421
63422         waf build fixes for Windows/MSVC.
63423
63424         * wscript:
63425
63426 2009-09-02  Ben Murdoch  <benm@google.com>
63427
63428         Unreviewed build fix for Chromium.
63429
63430         Missed #including V8Proxy.h in WebCore/bindings/v8/V8Binding.cpp.
63431
63432         * bindings/v8/V8Binding.cpp: add V8Proxy.h as an include
63433
63434 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
63435
63436         waf build fix, don't define symbols we now grab from other sources.
63437
63438         * platform/wx/TemporaryLinkStubs.cpp:
63439
63440 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
63441
63442         Build fixes for PluginViewNone.cpp and a wx build fix for PluginView.cpp.
63443
63444         * plugins/PluginView.cpp:
63445         (WebCore::PluginView::stop):
63446         * plugins/PluginViewNone.cpp:
63447         (WebCore::PluginView::platformDestroy):
63448
63449 2009-09-02  Charles Wei  <charles.wei@torchmobile.com.cn>
63450
63451         Reviewed by Eric Seidel.
63452
63453         Fix the build failure of WebKit for Linux/Qt when WML is enabled
63454
63455         No test cases needed since this just fixes the build problem.
63456
63457         * wml/WMLElement.cpp:
63458         (WebCore::WMLElement::create):
63459         * wml/WMLTableElement.cpp:
63460         (WebCore::WMLTableElement::joinSuperflousColumns):
63461         (WebCore::WMLTableElement::padWithEmptyColumns):
63462
63463 2009-09-02 Yong Li <yong.li@torchmobile.com>
63464
63465         Reviewed by Adam Barth.
63466
63467         WINCE PORT: use shared buffer for custom font data
63468         https://bugs.webkit.org/show_bug.cgi?id=27734
63469
63470         Refactored by Joe Mason <joe.mason@torchmobile.com>
63471
63472         * loader/CachedFont.cpp:
63473         add WINCE to platforms using cached custom data
63474         * platform/graphics/opentype/OpenTypeUtilities.cpp:
63475         (WebCore::renameFont): implement for WinCE
63476         * platform/graphics/opentype/OpenTypeUtilities.h:
63477         build fixes
63478         * platform/graphics/wince/FontCustomPlatformData.cpp:
63479         (WebCore::setCustomFontCache): add accessor
63480         (WebCore::createFontCustomPlatformData): change param to SharedBuffer
63481         * platform/graphics/wince/FontCustomPlatformData.h:
63482         update function signatures 
63483  
63484 2009-09-02 Yong Li <yong.li@torchmobile.com>
63485
63486         Reviewed by Adam Barth.
63487
63488         WINCE PORT: font-related build fixes and minor bugfixes
63489         https://bugs.webkit.org/show_bug.cgi?id=27734
63490
63491         * platform/graphics/FontCache.h: declare functions added in https://bugs.webkit.org/show_bug.cgi?id=27509
63492         * platform/graphics/GlyphPageTreeNode.cpp:
63493         (WebCore::GlyphPageTreeNode::initializePage): fix ambiguous overload error in min/max on Windows
63494         * platform/graphics/SimpleFontData.cpp:
63495         (WebCore::SimpleFontData::SimpleFontData): initialize member vars
63496         * platform/graphics/SimpleFontData.h: disable unused members on Wince to save space 
63497
63498 2009-09-02  Jeremy Orlow  <jorlow@chromium.org>
63499
63500         Reviewed by Adam Barth.
63501
63502         Another pass at releasing the storage mutex.
63503         https://bugs.webkit.org/show_bug.cgi?id=28904
63504
63505         Another pass at releasing the storage mutex (when applicable) when we finish
63506         executing JavaScript.  http://dev.w3.org/html5/spec/Overview.html#storage-mutex
63507         describes the required behavior.
63508
63509         As it turns out, https://bugs.webkit.org/show_bug.cgi?id=28789 didn't solve
63510         the problem correctly.  First of all, I missed that events and timeouts go
63511         through a different call path.  Second of all, I didn't consider recursion
63512         correctly.  Third of all, my check to see if LocalStorage is alive actually
63513         instantiates it if it isn't yet.  Fourth, I forgot DOM_STORAGE guards around
63514         it.  So I'm reverting that change completely and doing it more cleanly.
63515         Unfortunately, the solution isn't as portable (and thus I've left out the JSC
63516         implementation for now).
63517
63518         NOTE: This change now tracks recursion on function callbacks in V8.  I ran this
63519         by Mads Ager and Mike Belshe and they seemed to think adding the checks were
63520         fine.  Most callbacks are asynchronous and thus wouldn't be nested.  The few
63521         scenareos where you can have nested callbacks probably should have always been
63522         protected by a recursion guard.
63523
63524         Unfortunately, this can't be tested without a hook added to the layout test
63525         controllers since the lock is (by design) not supposed to be observable by
63526         JavaScript.  https://bugs.webkit.org/show_bug.cgi?id=28906
63527
63528         * bindings/js/ScriptController.cpp:
63529         (WebCore::ScriptController::evaluate): revert
63530         * bindings/v8/ScriptController.cpp:
63531         (WebCore::ScriptController::evaluate): revert
63532         * bindings/v8/V8Proxy.cpp:
63533         (WebCore::V8Proxy::runScript):
63534             Add releaseStorageMutex call.  A small amount of clean up.
63535         (WebCore::V8Proxy::callFunction):
63536             Add releaseStorageMutex call.  A small amount of clean up.
63537         (WebCore::V8Proxy::releaseStorageMutex):
63538             Check to see if localStorage has been instantiated.  If so, tell it to
63539             unlock all storage areas.
63540         * bindings/v8/V8Proxy.h:
63541         * page/PageGroup.h:
63542         (WebCore::PageGroup::hasLocalStorage):  Make hasLocalStorage public.
63543
63544 2009-09-02  Yong Li  <yong.li@torchmobile.com>
63545
63546         Reviewed by Adam Barth.
63547
63548         WINCE PORT: Implement ImageBuffer for WINCE
63549         Implement Image interface with a light class BufferedImage
63550         for rendering ImageBuffer
63551         https://bugs.webkit.org/show_bug.cgi?id=28167
63552
63553         * platform/graphics/wince/ImageBufferData.h: Added.
63554         * platform/graphics/wince/ImageBufferWince.cpp: Added.
63555
63556 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
63557
63558         Reviewed by Eric Seidel.
63559
63560         Join the various PluginView destructors into one shared implementation
63561
63562         https://bugs.webkit.org/show_bug.cgi?id=27706
63563
63564         The Qt port used to delete the platform plugin widget as the last step.
63565         Now this is done before cleaning up the script objects and unloading the
63566         plugin package, similar to how the Win port does it.
63567
63568         * plugins/PluginView.cpp:
63569         * plugins/PluginViewNone.cpp:
63570         * plugins/gtk/PluginViewGtk.cpp:
63571         * plugins/mac/PluginViewMac.cpp:
63572         * plugins/qt/PluginViewQt.cpp:
63573         * plugins/win/PluginViewWin.cpp:
63574
63575 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
63576
63577         Reviewed by Eric Seidel.
63578
63579         Share PluginView::init() between ports
63580
63581         https://bugs.webkit.org/show_bug.cgi?id=27706
63582
63583         The port-spesific bits are moved to platformStart(), which now returns
63584         a bool based on the success of the platformStart.
63585
63586         m_hasPendingGeometryChange is now initialized in the initializer list
63587         instead of in PluginViewQt's init()
63588
63589         PluginViewMac (currently used only by the Qt port) used to manually call
63590         stop() in the case where an unsupported drawing or event model was detected.
63591         This was wrong, as the m_status and m_isStarted fields should be used to
63592         guard against doing operations on a plugin in this intermediate state.
63593
63594         * plugins/PluginView.cpp:
63595         * plugins/PluginView.h:
63596         * plugins/PluginViewNone.cpp:
63597         * plugins/gtk/PluginViewGtk.cpp:
63598         * plugins/mac/PluginViewMac.cpp:
63599         * plugins/qt/PluginViewQt.cpp:
63600         * plugins/win/PluginViewWin.cpp:
63601
63602 2009-09-02  Ben Murdoch  <benm@google.com>
63603
63604         https://bugs.webkit.org/show_bug.cgi?id=28737
63605         
63606         Update JavaScript bindings in JSC and V8 for SQLTransaction to throw exceptions in the right places.
63607
63608         * bindings/js/JSSQLTransactionCustom.cpp:
63609         (WebCore::JSSQLTransaction::executeSql): Throw an exception if no parameters are passed to executeSql().
63610         * bindings/v8/V8Binding.cpp:
63611         (WebCore::v8ValueToWebCoreString): Catch an exception if thrown from toString().
63612         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
63613         (WebCore::CALLBACK_FUNC_DECL): Allow "arrayish objects" to be passed to executeSql.
63614
63615 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
63616
63617         Reviewed by Timothy Hatcher.
63618
63619         WebInspector: Migrate Databases tab to InjectedScript /
63620         serialized interaction.
63621
63622         https://bugs.webkit.org/show_bug.cgi?id=28873
63623
63624         * inspector/InspectorDOMAgent.cpp:
63625         (WebCore::InspectorDOMAgent::handleEvent):
63626         * inspector/front-end/Database.js:
63627         (WebInspector.Database.prototype.isDB):
63628         (WebInspector.Database.prototype.runWithTableNames.sortingCallback):
63629         (WebInspector.Database.prototype.runWithTableNames):
63630         (WebInspector.Database.prototype.executeSql):
63631         (WebInspector.Database.prototype.executeSql.errorCallback):
63632         (WebInspector.Database.prototype.executeSql.queryTransaction):
63633         * inspector/front-end/DatabaseQueryView.js:
63634         (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
63635         (WebInspector.DatabaseQueryView.prototype._queryFinished):
63636         * inspector/front-end/DatabaseTableView.js:
63637         (WebInspector.DatabaseTableView):
63638         * inspector/front-end/StoragePanel.js:
63639         (WebInspector.StoragePanel.prototype.selectDatabase):
63640         (WebInspector.StoragePanel.prototype.updateDatabaseTables.withTableNames):
63641         (WebInspector.StoragePanel.prototype.updateDatabaseTables):
63642         (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate.withTableNames):
63643         (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate):
63644
63645 2009-09-02  Pavel Feldman  <pfeldman@chromium.org>
63646
63647         Not reviewed (trivial followup fix). 
63648         
63649         Web Inspector: Trivial follow up fix to r47944.
63650
63651         https://bugs.webkit.org/show_bug.cgi?id=28800
63652
63653         * inspector/InspectorBackend.cpp:
63654         (WebCore::InspectorBackend::nodeForId):
63655
63656 2009-09-01  Brian Weinstein  <bweinstein@apple.com>
63657
63658         Reviewed by John Sullivan.
63659
63660         Fixed a bug in handling of isReadOnly, where textareas were casted to HTMLInputElements.
63661
63662         * accessibility/AccessibilityRenderObject.cpp:
63663         (WebCore::AccessibilityRenderObject::isReadOnly):
63664
63665 2009-09-01  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
63666
63667         Reviewed by Timothy Hatcher.
63668
63669         https://bugs.webkit.org/show_bug.cgi?id=28047
63670         add utility method to enable logging messages for inspector development
63671
63672         manual test case added (see below)
63673
63674         * inspector/front-end/ConsoleView.js:
63675         (WebInspector.ConsoleMessage.prototype.toMessageElement):
63676         (WebInspector.ConsoleMessage.prototype.toString):
63677         * inspector/front-end/inspector.css:
63678         * inspector/front-end/inspector.js:
63679         (WebInspector.log):
63680         * manual-tests/inspector/webinspector-log.html: Added.
63681         * page/Console.cpp:
63682         (WebCore::printMessageSourceAndLevelPrefix):
63683         * page/Console.h:
63684         (WebCore::):
63685
63686 2009-09-01  Alexey Proskuryakov  <ap@apple.com>
63687
63688         Reviewed by Darin Adler.
63689
63690         https://bugs.webkit.org/show_bug.cgi?id=21990
63691         When a rare EUC-JP character is present, explicitly (and correctly) labelled EUC-JP document
63692         is mistreated as Shift_JIS
63693
63694         <rdar://problem/5828506> Safari should not try auto-detecting if charset information exists
63695
63696         WebKit used to unconditionally auto-detect document encoding if it was one of Japanese ones.
63697         This didn't really match any browser, and did cause problems on some sites.
63698
63699         Our detector is very quick to label an EUC-JP page as Shift_JIS if it notices a byte that
63700         cannot be part of EUC-JP source. However, such bytes do appear in Web pages sometimes,
63701         especially in comments. Also, some valid EUC-JP sequences are not known to it.
63702
63703         Some pages that are fixed by this change:
63704
63705         <rdar://problem/5934750> Encoding in incorrect at http://cocodeparis.blog45.fc2.com/. This
63706         page has incorrect encoding in title, so no browser displays it 100% fine. We now match
63707         Firefox and IE.
63708
63709         <rdar://problem/6007713> The web page http://www.sf.us.emb-japan.go.jp/top.htm is garbled
63710         in Safari. There is a stray byte in comments that was makes charset detector think it can't
63711         be EUC-JP.
63712
63713         <rdar://problem/6965711> A Japanese web page www.nippontv.studiolegend.tv is garbled in
63714         Safari. Many comments on this page are encoded as Shift_JIS - IE magically displays that
63715         fine in View Source mode (it doesn't seem to have an ability to switch between EUC-JP and
63716         Shift_JIS in normal HTML view though).
63717
63718         Test: fast/encoding/japanese-encoding-mix.html
63719
63720         * loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::decode): Only invoke auto-
63721         detection if there is no solid charset information yet.
63722
63723 2009-09-01  Jian Li  <jianli@chromium.org>
63724
63725         Reviewed by Dimitri Glazkov.
63726
63727         [V8] FileList cannot be accessed via index in Chromium.
63728         https://bugs.webkit.org/show_bug.cgi?id=28883
63729
63730         Tested by clipboard-file-access.html.
63731
63732         * WebCore.gypi:
63733         * bindings/v8/V8DOMWrapper.cpp:
63734         (WebCore::V8DOMWrapper::getTemplate):
63735         * bindings/v8/custom/V8CustomBinding.h:
63736         * bindings/v8/custom/V8FileListCustom.cpp: Added.
63737
63738 2009-08-31  Jon Honeycutt  <jhoneycutt@apple.com>
63739
63740         Remove the workaround added in r47316.
63741
63742         Reviewed by Sam Weinig.
63743
63744         * accessibility/AXObjectCache.cpp:
63745         (WebCore::AXObjectCache::AXObjectCache):
63746
63747         * accessibility/AXObjectCache.h:
63748         Remove the Document argument to the AXObjectCache constructor and the
63749         m_document member variable, and replace the no-parameter
63750         handleFocusedUIElementChanged() with the two-parameter GTK function.
63751         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
63752
63753         * accessibility/chromium/AXObjectCacheChromium.cpp:
63754         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
63755
63756         * accessibility/gtk/AXObjectCacheAtk.cpp:
63757         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
63758
63759         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
63760         (fallbackObject):
63761         Don't pass a null Document when constructing the AXObjectCache.
63762
63763         * accessibility/mac/AXObjectCacheMac.mm:
63764         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
63765
63766         * accessibility/win/AXObjectCacheWin.cpp:
63767         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
63768         Get the document from the RenderObject; m_document was removed.
63769
63770         * dom/Document.cpp:
63771         (WebCore::Document::axObjectCache):
63772         Don't pass the Document when constructing the AXObjectCache.
63773         (WebCore::Document::setFocusedNode):
63774         Pass the old and new focused RenderObjects when calling
63775         handleFocusedUIElementChanged().
63776
63777 2009-09-01  Yury Semikhatsky  <yurys@chromium.org>
63778
63779         Reviewed by Timothy Hatcher.
63780
63781         Check that InspectorDOMAgent and InspectorFrontend are not null
63782         before accessing them in InspectorBackend. They may be null if
63783         InspectorController is closed before an asynchronous operation is
63784         started.
63785
63786         https://bugs.webkit.org/show_bug.cgi?id=28800
63787
63788         * inspector/InspectorBackend.cpp:
63789         (WebCore::InspectorBackend::getCookies):
63790         (WebCore::InspectorBackend::getChildNodes):
63791         (WebCore::InspectorBackend::setAttribute):
63792         (WebCore::InspectorBackend::removeAttribute):
63793         (WebCore::InspectorBackend::setTextNodeValue):
63794         (WebCore::InspectorBackend::highlight):
63795         (WebCore::InspectorBackend::nodeForId):
63796         (WebCore::InspectorBackend::pushNodePathToFrontend):
63797         (WebCore::InspectorBackend::addNodesToSearchResult):
63798         (WebCore::InspectorBackend::selectDatabase):
63799         (WebCore::InspectorBackend::selectDOMStorage):
63800         (WebCore::InspectorBackend::inspectorDOMAgent):
63801         (WebCore::InspectorBackend::inspectorFrontend):
63802         * inspector/InspectorBackend.h:
63803
63804 2009-09-01  Brady Eidson  <beidson@apple.com>
63805
63806         Reviewed by Sam Weinig.
63807
63808         Page Cache should support pages with frames
63809         https://bugs.webkit.org/show_bug.cgi?id=13631
63810
63811         Things learned in the full task that this patch addresses:
63812         - The notions of clearing a CachedFrame and destroying a CachedFrame were two concepts that 
63813           needed to be managed separately.
63814         - Once we start restoring pages with multiple CachedFrames, we'll have to be calling
63815           FrameLoader::open(CachedFrame&) multiple times with different CachedFrames, and this process
63816           will be guided by the CachedFrames themselves.
63817
63818         No new tests. (No change in behavior, current layout tests pass)
63819         
63820         * history/CachedFrame.cpp:
63821         (WebCore::CachedFrame::CachedFrame):
63822         (WebCore::CachedFrame::~CachedFrame):
63823         (WebCore::CachedFrame::clear): Only clear pointers out.
63824         (WebCore::CachedFrame::destroy): Perform the destructive cleanup work here - Things that shouldn't
63825           occur simply by navigating back to a page with a CachedFrame.
63826         * history/CachedFrame.h:
63827
63828         * history/CachedPage.cpp:
63829         (WebCore::CachedPage::~CachedPage):
63830         (WebCore::CachedPage::restore): Call clear() after restoring.
63831         (WebCore::CachedPage::clear):
63832         (WebCore::CachedPage::destroy):
63833         * history/CachedPage.h:
63834
63835         * history/PageCache.cpp:
63836         (WebCore::PageCache::releaseAutoreleasedPagesNow): destroy() CachedPages that are being pruned,
63837           instead of clearing them.
63838
63839         * loader/FrameLoader.cpp:
63840         (WebCore::FrameLoader::commitProvisionalLoad): Let the CachedPage clear() itself after restoring.
63841         (WebCore::FrameLoader::open): Don't ::open() the CachedFrame, as the CachedPage does that now.
63842         * loader/FrameLoader.h:  Add the friending so CachedPage and CachedFrame can better guide the process.
63843           Even though CachedFrame::restore() isn't used for now, it will be soon.
63844
63845 2009-09-01  Andrei Popescu  <andreip@google.com>
63846
63847         Reviewed by David Levin.
63848
63849         Add a "lowMemoryNotification" method to the V8 ScriptController class.
63850         This is needed in order to allow the host application (Android Web browser in this case)
63851         to call the v8::V8::LowMemoryNotification() method added to V8 in
63852         http://code.google.com/p/v8/source/detail?spec=svn2777&r=2725
63853         
63854         https://bugs.webkit.org/show_bug.cgi?id=28776
63855
63856
63857         * bindings/v8/ScriptController.cpp:
63858         (WebCore::ScriptController::lowMemoryNotification):
63859         * bindings/v8/ScriptController.h:
63860
63861 2009-09-01  Fumitoshi Ukai  <ukai@chromium.org>
63862
63863         Reviewed by Adam Barth.
63864
63865         V8 Bindings for WebSocket API.
63866         https://bugs.webkit.org/show_bug.cgi?id=28844
63867
63868         * bindings/v8/DOMObjectsInclude.h:
63869         * bindings/v8/DerivedSourcesAllInOne.cpp:
63870         * bindings/v8/V8DOMWrapper.cpp:
63871         (WebCore::V8DOMWrapper::getTemplate):
63872         (WebCore::V8DOMWrapper::convertToV8Object):
63873         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
63874         * bindings/v8/V8DOMWrapper.h:
63875         * bindings/v8/V8Index.cpp:
63876         * bindings/v8/V8Index.h:
63877         * bindings/v8/WorkerContextExecutionProxy.cpp:
63878         * bindings/v8/custom/V8CustomBinding.h:
63879         * bindings/v8/custom/V8WebSocketCustom.cpp: Added.
63880
63881 2009-09-01  Peter Kasting  <pkasting@google.com>
63882
63883         Unreviewed (build fix).
63884
63885         Missed a "." -> "->" conversion.
63886
63887         * platform/graphics/qt/ImageDecoderQt.cpp:
63888         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
63889
63890 2009-09-01  Peter Kasting  <pkasting@google.com>
63891
63892         Unreviewed (build fix).
63893
63894         Try to fix Qt build, take 2.  The Qt code had what looks like a
63895         broken virtual function override.
63896
63897         * platform/graphics/qt/ImageDecoderQt.cpp:
63898         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
63899         (WebCore::ImageDecoderQt::setData):
63900         * platform/graphics/qt/ImageDecoderQt.h:
63901
63902 2009-09-01  Adam Barth  <abarth@webkit.org>
63903
63904         Reviewed by Sam Weinig.
63905
63906         Uninitialized variable in XSSAuditor
63907         https://bugs.webkit.org/show_bug.cgi?id=28874
63908
63909         One ought to initialize variables before use even when it doesn't
63910         matter.  No behavior change.
63911
63912         * page/XSSAuditor.h:
63913         (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):
63914
63915 2009-09-01  Peter Kasting  <pkasting@google.com>
63916
63917         Unreviewed (build fix).
63918
63919         Try to fix Qt build.
63920
63921         * platform/graphics/ImageSource.cpp:
63922
63923 2009-08-28  Peter Kasting  <pkasting@google.com>
63924
63925         Reviewed by Eric Seidel.
63926
63927         https://bugs.webkit.org/show_bug.cgi?id=27965
63928         Eliminate most of ImageSourceQt.cpp in favor of ImageSource.cpp.
63929
63930         * WebCore.pro:
63931         * platform/graphics/ImageSource.cpp:
63932         (WebCore::ImageSource::frameHasAlphaAtIndex):
63933         * platform/graphics/qt/ImageSourceQt.cpp:
63934         (WebCore::ImageSource::createFrameAtIndex):
63935         (WebCore::ImageSource::frameHasAlphaAtIndex):
63936         (WebCore::ImageSource::frameIsCompleteAtIndex):
63937
63938 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
63939
63940         Reviewed by Timothy Hatcher.
63941
63942         WebInspector: Make InjectedScript self-contained (move necessary
63943         methods from utilities.js into InjectedScript).
63944
63945         https://bugs.webkit.org/show_bug.cgi?id=28871
63946
63947         * inspector/front-end/ElementsPanel.js:
63948         (WebInspector.ElementsPanel.prototype.generateStylesheet):
63949         * inspector/front-end/InjectedScript.js:
63950         (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
63951         (InjectedScript._ensureCommandLineAPIInstalled):
63952         (InjectedScript.pushNodeToFrontend):
63953         (InjectedScript.createProxyObject):
63954         (Object.type):
63955         (Object.hasProperties):
63956         (Object.className):
63957         (String.prototype.escapeCharacters):
63958         * inspector/front-end/utilities.js:
63959
63960 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
63961
63962         Reviewed by Timothy Hatcher.
63963
63964         WebInspector: console log message repeat count double.
63965
63966         https://bugs.webkit.org/show_bug.cgi?id=28856
63967
63968         * inspector/front-end/InjectedScript.js:
63969         (InjectedScript._evaluateOn):
63970
63971 2009-09-01  Jan Michael Alonzo  <jmalonzo@webkit.org>
63972
63973         Reviewed by Mark Rowe.
63974
63975         [Gtk] Fix DATALIST build
63976         https://bugs.webkit.org/show_bug.cgi?id=28826
63977
63978         Add ENABLE_DATALIST to FEATURE_DEFINES.
63979
63980         * GNUmakefile.am:
63981
63982 2009-09-01  Cameron McCormack  <cam@mcc.id.au>
63983
63984         Reviewed by Eric Seidel.
63985
63986         SVGSVGElement suspend methods argument/return types incorrect
63987         https://bugs.webkit.org/show_bug.cgi?id=28860
63988
63989         Also fix the style of the argument names.
63990
63991         * svg/SVGSVGElement.cpp:
63992         (WebCore::SVGSVGElement::suspendRedraw):
63993         (WebCore::SVGSVGElement::unsuspendRedraw):
63994         * svg/SVGSVGElement.h:
63995
63996 2009-09-01  Roland Steiner  <rolandsteiner@google.com>
63997
63998         Reviewed by Eric Seidel.
63999
64000         Fix bug 28808:  [Skia] Fix flaky layout test svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html [DEBUG]
64001         (https://bugs.webkit.org/show_bug.cgi?id=28808)
64002
64003         The bug fix adds an explicit check for the validity of the path when it is 
64004         transformed into local coordinates. 
64005         This was the most suitable place I could find that didn't cause an inordinate 
64006         amount of refactoring. Also, it seems pertinent and may also catch other cases 
64007         that are not limited to clipping paths.
64008
64009         TEST: existing svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html
64010
64011         * platform/graphics/skia/GraphicsContextSkia.cpp: make isPathSkiaSafe accessible
64012         (WebCore::):
64013         * platform/graphics/skia/PlatformContextSkia.cpp:
64014         (PlatformContextSkia::currentPathInLocalCoordinates): check Skia safety of path
64015
64016 2009-09-01  Yusuke Sato  <yusukes@chromium.org>
64017
64018         Reviewed by Eric Seidel.
64019
64020         [Chromium] Combining Diacritical Marks (U+0300..) are not handled correctly.
64021         https://bugs.webkit.org/show_bug.cgi?id=28742 
64022
64023         Normalize (NFC) a TextRun when the run contains combining diacritical marks
64024         so that Skia can pick a correct glyph without relying on GSUB table in a font.
64025         This change is for Chromium Linux.
64026
64027         * platform/graphics/chromium/FontLinux.cpp:
64028         (WebCore::TextRunWalker::getTextRun): Added.
64029         (WebCore::TextRunWalker::getNormalizedTextRun): Added.
64030
64031         This function is called when the run contains U+0300..U+036F and converts characters in
64032         the run to the combined form (NFC) using ICU.
64033
64034 2009-09-01  Vitaly Repeshko  <vitalyr@chromium.org>
64035
64036         Reviewed by Dimitri Glazkov.
64037
64038         [V8] Inlined fast paths of V8DOMWrapper::convertNodeToV8Object and
64039         V8Proxy::createWrapperFromCache.
64040         https://bugs.webkit.org/show_bug.cgi?id=28848
64041
64042         * bindings/v8/V8DOMWrapper.cpp:
64043         (WebCore::V8DOMWrapper::convertDocumentToV8Object): Special
64044         function for document wrapping.
64045         (WebCore::V8DOMWrapper::convertNewNodeToV8Object): Slow case of
64046         wrapping a new node.
64047         * bindings/v8/V8DOMWrapper.h:
64048         (WebCore::V8DOMWrapper::convertNodeToV8Object): Extracted fast
64049         path from V8DOMWrapper.cpp.
64050         * bindings/v8/V8Proxy.cpp:
64051         (WebCore::V8Proxy::createWrapperFromCacheSlowCase):
64052         * bindings/v8/V8Proxy.h:
64053         (WebCore::V8Proxy::createWrapperFromCache): Extracted fast path
64054         from V8Proxy.cpp.
64055
64056 2009-09-01  Eric Seidel  <eric@webkit.org>
64057
64058         No review, windows build fix only.  Clearly I should have read the patch closer. :(
64059
64060         Allow excluding certain plugins from loading
64061         https://bugs.webkit.org/show_bug.cgi?id=28677
64062
64063         * plugins/PluginDatabase.cpp:
64064         (WebCore::PluginDatabase::refresh):
64065
64066 2009-09-01  Alexander Pavlov  <apavlov@chromium.org>
64067
64068         Reviewed by Timothy Hatcher.
64069
64070         Implement conditional breakpoints in the Web Inspector backend
64071         and add frontend JavaScript stubs.
64072         https://bugs.webkit.org/show_bug.cgi?id=28846
64073
64074         * inspector/InspectorBackend.cpp:
64075         (WebCore::InspectorBackend::profiles):
64076         (WebCore::InspectorBackend::addBreakpoint):
64077         (WebCore::InspectorBackend::updateBreakpoint):
64078         * inspector/InspectorBackend.h:
64079         * inspector/InspectorBackend.idl:
64080         * inspector/JavaScriptDebugServer.cpp:
64081         (WebCore::JavaScriptDebugServer::BreakpointInfo::condition):
64082         (WebCore::JavaScriptDebugServer::BreakpointInfo::setCondition):
64083         (WebCore::JavaScriptDebugServer::addBreakpoint):
64084         (WebCore::JavaScriptDebugServer::breakpointInfo):
64085         (WebCore::JavaScriptDebugServer::updateBreakpoint):
64086         (WebCore::JavaScriptDebugServer::updateBreakpointInfo):
64087         (WebCore::JavaScriptDebugServer::removeBreakpoint):
64088         (WebCore::JavaScriptDebugServer::hasBreakpoint):
64089         (WebCore::JavaScriptDebugServer::clearBreakpoints):
64090         * inspector/JavaScriptDebugServer.h:
64091         (WebCore::JavaScriptDebugServer::BreakpointInfo::BreakpointInfo):
64092         * inspector/front-end/Breakpoint.js:
64093         (WebInspector.Breakpoint):
64094         (WebInspector.Breakpoint.prototype.get id):
64095         (WebInspector.Breakpoint.prototype.get condition):
64096         (WebInspector.Breakpoint.prototype.set condition):
64097         * inspector/front-end/BreakpointsSidebarPane.js:
64098         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
64099         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
64100         * inspector/front-end/ScriptsPanel.js:
64101         (WebInspector.ScriptsPanel.prototype.addScript):
64102
64103 2009-09-01  Marius Renn  <damarvy@gmail.com>
64104
64105         Reviewed by Eric Seidel.
64106
64107         Added delegate to PluginDatabase to disable loading certain plugins.
64108         This is useful when you want to load from the standard plugin
64109         directory, but want to exclude certain plugins. Plugins may be
64110         excluded early on by name, so that no plugin code is executed (which
64111         may have caused a crash).
64112
64113         * plugins/PluginDatabase.cpp:
64114         (WebCore::PluginDatabase::PluginDatabase):
64115         (WebCore::PluginDatabase::refresh):
64116         * plugins/PluginDatabase.h:
64117         (WebCore::PluginDatabase::setClient):
64118         * plugins/PluginDatabaseClient.h: Added.
64119         (WebCore::PluginDatabaseClient::~PluginDatabaseClient):
64120
64121 2009-08-31  Brady Eidson  <beidson@apple.com>
64122
64123         Rubberstamped by Sam Weinig
64124
64125         * WebCore.base.exp: Removed an unneeded symbol export.
64126
64127 2009-08-31  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
64128
64129         Reviewed by Alexey Proskuryakov.
64130
64131         https://bugs.webkit.org/show_bug.cgi?id=28466
64132         When downloading a file, two GET requests are sent to the HTTP server
64133
64134         Can't think of a way to test this.
64135
64136         * loader/ResourceLoader.cpp:
64137         (WebCore::ResourceLoader::releaseResources): only nullify the
64138         handle's client when it is the ResourceLoader, to support the case
64139         in which a download API uses a different client
64140
64141 2009-08-31  Brian Weinstein  <bweinstein@apple.com>
64142
64143         Reviewed by Darin Adler.
64144
64145         Text Fields and Text Areas are reported as read-only by inspect32.exe.
64146         https://bugs.webkit.org/show_bug.cgi?id=28854
64147
64148         Added another case in AcccessibiltyRenderObject::isReadOnly to test if text fields
64149         and texts areas are read-only.
64150
64151         * accessibility/AccessibilityRenderObject.cpp:
64152         (WebCore::AccessibilityRenderObject::isReadOnly):
64153         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
64154
64155 2009-08-31  Drew Wilson  <atwilson@google.com>
64156
64157         Reviewed by Alexey Proskuryakov.
64158
64159         fast/workers/worker-lifecycle.html crashes intermittently on snowleopard
64160         https://bugs.webkit.org/show_bug.cgi?id=28795
64161
64162         Changed WorkerContext::close() to no longer stop the worker thread.
64163         It is now the parent's responsibility to shut down the worker thread when it is notified that the context is closed.
64164
64165         * workers/AbstractWorker.cpp:
64166         Updated dispatchScriptErrorEvent to pass-through the "handled" value from dispatchEvent(), to allow event handlers added with addEventListener() to mark events as handled.
64167         * workers/DefaultSharedWorkerRepository.cpp:
64168         (WebCore::SharedWorkerProxy::workerContextClosed):
64169         Now shuts down the worker thread when notified that the context is closed.
64170         (WebCore::SharedWorkerProxy::close):
64171         Now handles being invoked when the context is already in the process of shutting down.
64172         * workers/WorkerContext.cpp:
64173         (WebCore::WorkerContext::close):
64174         No longer calls WorkerThread::stop() to avoid race conditions with shutting down the thread while the parent is still interacting with it.
64175         * workers/WorkerContext.h:
64176         (WebCore::WorkerContext::isClosing):
64177         isClosing() is now public so WorkerRunLoop can call it to determine whether to process tasks.
64178         * workers/WorkerMessagingProxy.cpp:
64179         (WebCore::WorkerExceptionTask::performTask):
64180         Error events should still be delivered even if the worker thread is closing.
64181         Also fixed problem where error events were not dispatched if error handlers were added via addEventListener().
64182         (WebCore::WorkerTerminateTask::create):
64183         New task that invokes terminateWorkerContext() on the parent thread when the context is closed.
64184         (WebCore::WorkerTerminateTask::WorkerTerminateTask):
64185         (WebCore::WorkerTerminateTask::performTask):
64186         (WebCore::WorkerMessagingProxy::workerContextClosed):
64187         Now fires off a WorkerTerminateTask to shut down the thread when the context is closed.
64188         * workers/WorkerMessagingProxy.h:
64189         WorkerMessagingProxy now overrides workerContextClosed().
64190         * workers/WorkerRunLoop.cpp:
64191         (WebCore::WorkerRunLoop::runInMode):
64192         Now drops tasks on the floor if the WorkerContext is closing.
64193
64194 2009-08-31  Ojan Vafai  <ojan@chromium.org>
64195
64196         Not reviewed (build fix)
64197
64198         Build fix for Chromium to match r49707.
64199
64200         * bindings/v8/ScriptCallFrame.cpp:
64201         (WebCore::ScriptCallFrame::ScriptCallFrame):
64202         * bindings/v8/ScriptSourceCode.h:
64203         (WebCore::ScriptSourceCode::ScriptSourceCode):
64204         * platform/KURLGoogle.cpp:
64205         (WebCore::KURL::KURL):
64206         (WebCore::blankURL):
64207
64208 2009-08-31  Alexey Proskuryakov  <ap@webkit.org>
64209
64210         Reviewed by Darin Adler.
64211
64212         https://bugs.webkit.org/show_bug.cgi?id=28858
64213         Element.baseURI parses xml:base attribute incorrectly
64214
64215         Test: fast/dom/base-attribute-parsing.xhtml
64216
64217         * dom/Element.cpp: (WebCore::Element::baseURI): Avoid assertion failure (no change in
64218         release mode).
64219
64220 2009-08-31  Dimitri Glazkov  <dglazkov@chromium.org>
64221
64222         Reverting http://trac.webkit.org/changeset/47904, because it caused
64223         layout test failure.
64224
64225         Test: fast/dom/Window/new-window-opener.html
64226
64227 2009-08-31  Alexey Proskuryakov  <ap@webkit.org>
64228
64229         Reviewed by Darin Adler.
64230
64231         https://bugs.webkit.org/show_bug.cgi?id=28852
64232         Rename KURL single argument constructor to avoid confusion
64233
64234         * platform/KURL.h: The constructor that used to be single argument should now be invoked
64235         as KURL(ParsedURLString, myString).
64236
64237         * WebCore.base.exp:
64238         * bindings/js/JSDOMWindowCustom.cpp:
64239         (WebCore::createWindow):
64240         * bindings/js/ScriptCallFrame.cpp:
64241         (WebCore::ScriptCallFrame::ScriptCallFrame):
64242         * bindings/v8/NPV8Object.cpp:
64243         (_NPN_EvaluateHelper):
64244         * bindings/v8/custom/V8DOMWindowCustom.cpp:
64245         (WebCore::createWindow):
64246         * css/CSSCursorImageValue.cpp:
64247         (WebCore::isSVGCursorIdentifier):
64248         * css/CSSImageValue.cpp:
64249         (WebCore::CSSImageValue::cachedImage):
64250         * css/CSSImportRule.cpp:
64251         (WebCore::CSSImportRule::insertedIntoParent):
64252         * css/StyleBase.cpp:
64253         (WebCore::StyleBase::baseURL):
64254         * dom/Document.cpp:
64255         (WebCore::Document::initSecurityContext):
64256         * dom/Element.cpp:
64257         (WebCore::Element::baseURI):
64258         * editing/markup.cpp:
64259         (WebCore::completeURLs):
64260         * history/HistoryItem.cpp:
64261         (WebCore::HistoryItem::url):
64262         (WebCore::HistoryItem::originalURL):
64263         * inspector/InspectorController.cpp:
64264         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
64265         * inspector/InspectorResource.cpp:
64266         (WebCore::InspectorResource::createCached):
64267         * loader/Cache.cpp:
64268         (WebCore::Cache::revalidateResource):
64269         * loader/DocLoader.cpp:
64270         (WebCore::DocLoader::requestResource):
64271         * loader/DocumentLoader.cpp:
64272         (WebCore::DocumentLoader::getSubresources):
64273         * loader/FrameLoader.cpp:
64274         (WebCore::FrameLoader::init):
64275         (WebCore::FrameLoader::iconURL):
64276         (WebCore::FrameLoader::scheduleLocationChange):
64277         (WebCore::FrameLoader::redirectionTimerFired):
64278         (WebCore::FrameLoader::loadURLIntoChildFrame):
64279         (WebCore::FrameLoader::startRedirectionTimer):
64280         * loader/appcache/ApplicationCache.cpp:
64281         (WebCore::ApplicationCache::resourceForURL):
64282         * loader/appcache/ApplicationCacheGroup.cpp:
64283         (WebCore::ApplicationCacheGroup::startLoadingEntry):
64284         (WebCore::ApplicationCacheGroup::addEntry):
64285         * loader/appcache/ApplicationCacheStorage.cpp:
64286         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
64287         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
64288         (WebCore::ApplicationCacheStorage::loadCache):
64289         (WebCore::ApplicationCacheStorage::manifestURLs):
64290         * loader/archive/cf/LegacyWebArchive.cpp:
64291         (WebCore::LegacyWebArchive::createResource):
64292         (WebCore::LegacyWebArchive::create):
64293         * loader/loader.cpp:
64294         (WebCore::Loader::load):
64295         * notifications/NotificationCenter.h:
64296         (WebCore::NotificationCenter::createHTMLNotification):
64297         * platform/KURL.cpp:
64298         (WebCore::KURL::KURL):
64299         (WebCore::blankURL):
64300         * platform/KURLHash.h:
64301         * platform/chromium/ClipboardChromium.cpp:
64302         (WebCore::ClipboardChromium::setData):
64303         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
64304         (WebCore::MediaPlayerPrivate::createQTMovie):
64305         * platform/network/cf/ResourceErrorCF.cpp:
64306         (WebCore::ResourceError::operator CFErrorRef):
64307         * platform/network/cf/ResourceRequest.h:
64308         (WebCore::ResourceRequest::ResourceRequest):
64309         * platform/network/chromium/ResourceRequest.h:
64310         (WebCore::ResourceRequest::ResourceRequest):
64311         * platform/network/curl/ResourceHandleManager.cpp:
64312         (WebCore::handleLocalReceiveResponse):
64313         (WebCore::headerCallback):
64314         * platform/network/curl/ResourceRequest.h:
64315         (WebCore::ResourceRequest::ResourceRequest):
64316         * platform/network/mac/ResourceErrorMac.mm:
64317         (WebCore::ResourceError::operator NSError*):
64318         * platform/network/mac/ResourceRequest.h:
64319         (WebCore::ResourceRequest::ResourceRequest):
64320         * platform/network/qt/ResourceRequest.h:
64321         (WebCore::ResourceRequest::ResourceRequest):
64322         * platform/network/soup/ResourceRequest.h:
64323         (WebCore::ResourceRequest::ResourceRequest):
64324         * platform/win/ClipboardWin.cpp:
64325         (WebCore::filesystemPathFromUrlOrTitle):
64326         (WebCore::ClipboardWin::setData):
64327         * svg/graphics/SVGImage.cpp:
64328         (WebCore::SVGImage::dataChanged):
64329         * xml/XSLImportRule.cpp:
64330         (WebCore::XSLImportRule::loadSheet):
64331         * xml/XSLTProcessor.cpp:
64332         (WebCore::docLoaderFunc):
64333         Adapt to the change everywhere the single argument constructor was used. I did a very
64334         cursory check of whether these locations were using this constructor properly, and didn't
64335         notice any obvious mistakes. The new explicit name will hopefully suggest checking this
64336         better when refactoring any such code.
64337
64338 2009-08-31  Beth Dakin  <bdakin@apple.com>
64339
64340         Reviewed by Darin Adler.
64341
64342         Fix for https://bugs.webkit.org/show_bug.cgi?id=28635 [CSS3 
64343         Backgrounds and Borders] Add support for 2-keyword values for 
64344         background-repeat
64345
64346         This patch allows background-repeat to take two values by making 
64347         background-repeat just like background-position internally. There 
64348         is a little extra legwork for background-repeat because the spec 
64349         indicates that its computed value should be equivalent to how it 
64350         was specified. I keep track of the specified thing by setting the 
64351         implicit flag whenever background-repeat is defined with only one 
64352         value (since internally, we now store this as 2 values.)
64353         
64354         Here we can't access the implicit flag, so for backwards-
64355         compatibility's sake, we always return one value when that makes 
64356         sense.
64357         * css/CSSComputedStyleDeclaration.cpp:
64358         (WebCore::fillRepeatToCSSValue):
64359         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
64360
64361         Here we check for the implicit flag and return one value when it is 
64362         set.
64363         * css/CSSMutableStyleDeclaration.cpp:
64364         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
64365         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
64366         (WebCore::CSSMutableStyleDeclaration::cssText):
64367
64368         Add support for CSSPropertyBackgroundRepeatX and 
64369         CSSPropertyBackgroundRepeatY
64370         * css/CSSParser.cpp:
64371         (WebCore::CSSParser::parseValue):
64372         (WebCore::CSSParser::parseFillShorthand):
64373         (WebCore::CSSParser::parseFillRepeat):
64374         (WebCore::CSSParser::parseFillProperty):
64375         * css/CSSParser.h:
64376
64377         Get rid of mappings to RepeatXFill and RepeatYFill since we don't 
64378         need those parts of the EFillRepeat enum anymore.
64379         * css/CSSPrimitiveValueMappings.h:
64380         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
64381         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
64382
64383         Add CSSPropertyBackgroundRepeatX and CSSPropertyBackgroundRepeatY
64384         * css/CSSPropertyLonghand.cpp:
64385         (WebCore::initShorthandMap):
64386
64387         Add background-repeat-x and -y.
64388         * css/CSSPropertyNames.in:
64389
64390         Break repeat into x and y.
64391         * css/CSSStyleSelector.cpp:
64392         (WebCore::CSSStyleSelector::applyProperty):
64393         (WebCore::CSSStyleSelector::mapFillRepeatX):
64394         (WebCore::CSSStyleSelector::mapFillRepeatY):
64395         * css/CSSStyleSelector.h:
64396
64397         There is no more RepeatXFill. Instead, look for 
64398         fillLayer->repeatX() == RepeatFill
64399         * rendering/RenderBoxModelObject.cpp:
64400         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
64401
64402         Break m_repeat into m_repeatX and m_repeatY
64403         * rendering/style/FillLayer.cpp:
64404         (WebCore::FillLayer::FillLayer):
64405         (WebCore::FillLayer::operator=):
64406         (WebCore::FillLayer::operator==):
64407         (WebCore::FillLayer::fillUnsetProperties):
64408         (WebCore::FillLayer::cullEmptyLayers):
64409         * rendering/style/FillLayer.h:
64410         (WebCore::FillLayer::repeatX):
64411         (WebCore::FillLayer::repeatY):
64412         (WebCore::FillLayer::isRepeatXSet):
64413         (WebCore::FillLayer::isRepeatYSet):
64414         (WebCore::FillLayer::setRepeatX):
64415         (WebCore::FillLayer::setRepeatY):
64416         (WebCore::FillLayer::clearRepeatX):
64417         (WebCore::FillLayer::clearRepeatY):
64418         (WebCore::FillLayer::initialFillRepeatX):
64419         (WebCore::FillLayer::initialFillRepeatY):
64420
64421         Again, break backgroundRepeat into backgroundRepeatX and 
64422         backgroundRepeatY
64423         * rendering/style/RenderStyle.h:
64424         (WebCore::InheritedFlags::backgroundRepeatX):
64425         (WebCore::InheritedFlags::backgroundRepeatY):
64426         (WebCore::InheritedFlags::maskRepeatX):
64427         (WebCore::InheritedFlags::maskRepeatY):
64428
64429         We don't need RepeatXFill or RepeatYFill. Now that we store two 
64430         values, they are represented by Repeat-NoRepeat and NoRepeat-
64431         Repeat, respectively.
64432         * rendering/style/RenderStyleConstants.h:
64433         (WebCore::):
64434
64435 2009-08-31  Simon Fraser  <simon.fraser@apple.com>
64436
64437         Reviewed by Dan Bernstein.
64438
64439         Compositing layer size needs to take into account software reflections on children.
64440         https://bugs.webkit.org/show_bug.cgi?id=28837
64441         
64442         When computing the bounds of a composited layer, take software-rendered
64443         reflections into account.
64444
64445         Test: compositing/reflections/reflection-in-composited.html
64446
64447         * rendering/RenderLayerCompositor.cpp:
64448         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
64449
64450 2009-08-31  Mark Mentovai  <mark@chromium.org>
64451
64452         Reviewed by Dave Hyatt.
64453
64454         https://bugs.webkit.org/show_bug.cgi?id=28614
64455
64456         Perform a layout prior to checking whether the scrollbar modes are
64457         off, on, or automatic.  The modes may change during layout.
64458
64459         * platform/ScrollView.cpp:
64460         (WebCore::ScrollView::updateScrollbars):
64461
64462 2009-08-31  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
64463
64464         Reviewed by Timothy Hatcher.
64465
64466         Inspector Request Headers Should Show Data Sent With Request
64467         https://bugs.webkit.org/show_bug.cgi?id=22920
64468
64469         Manual test added - see below.
64470
64471         * English.lproj/localizedStrings.js:
64472         * inspector/InspectorResource.cpp:
64473         (WebCore::InspectorResource::updateRequest):
64474         (WebCore::InspectorResource::createScriptObject):
64475         (WebCore::InspectorResource::updateScriptObject):
64476         * inspector/InspectorResource.h:
64477         * inspector/front-end/Resource.js:
64478         (WebInspector.Resource):
64479         * inspector/front-end/ResourceView.js:
64480         (WebInspector.ResourceView):
64481         (WebInspector.ResourceView.prototype._refreshURL):
64482         (WebInspector.ResourceView.prototype._refreshQueryString):
64483         (WebInspector.ResourceView.prototype._refreshFormData):
64484         (WebInspector.ResourceView.prototype._refreshRequestPayload):
64485         (WebInspector.ResourceView.prototype._refreshParms):
64486         (WebInspector.ResourceView.prototype._toggleURLdecoding):
64487         (WebInspector.ResourceView.prototype._getHeaderValue):
64488         (WebInspector.ResourceView.prototype._refreshRequestHeaders):
64489         * inspector/front-end/inspector.css:
64490         * inspector/front-end/inspector.js:
64491         (WebInspector.addResource):
64492         (WebInspector.updateResource):
64493         * manual-tests/inspector/display-form-data.html: Added.
64494
64495 2009-08-31  Pavel Feldman  <pfeldman@chromium.org>
64496
64497         Reviewed by Timothy Hatcher.
64498
64499         WebInspector: pass call frames into the frontend as a part of
64500         pausedScript event.
64501
64502         https://bugs.webkit.org/show_bug.cgi?id=28847
64503
64504         * inspector/InspectorController.cpp:
64505         (WebCore::InspectorController::didPause):
64506         * inspector/InspectorFrontend.cpp:
64507         (WebCore::InspectorFrontend::pausedScript):
64508         * inspector/InspectorFrontend.h:
64509         * inspector/front-end/ScriptsPanel.js:
64510         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
64511         * inspector/front-end/inspector.js:
64512         (WebInspector.pausedScript):
64513
64514 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
64515
64516         Reviewed by Ariya Hidayat.
64517
64518         [Qt] Un-blacklist Silverlight on Mac
64519
64520         Does not seem to crash anymore, probably due to how we now handle
64521         drawing and event model handshake better.
64522
64523         * plugins/mac/PluginPackageMac.cpp:
64524         (WebCore::PluginPackage::isPluginBlacklisted):
64525
64526 2009-08-31  Cameron McCormack  <cam@mcc.id.au>
64527
64528         Reviewed by Eric Seidel.
64529
64530         https://bugs.webkit.org/show_bug.cgi?id=28827
64531         SVGSVGElement.unsuspendRedraw() shouldn't throw
64532
64533         * svg/SVGSVGElement.cpp:
64534         (WebCore::SVGSVGElement::unsuspendRedraw):
64535         * svg/SVGSVGElement.h:
64536         * svg/SVGSVGElement.idl:
64537
64538 2009-08-31  Kent Tamura  <tkent@chromium.org>
64539
64540         Reviewed by Eric Seidel.
64541
64542         - Change the reutrn type of HTMLInputElement::list so that it
64543           conforms to the standard.
64544         - Add HTMLInputElement::dataList()
64545         https://bugs.webkit.org/show_bug.cgi?id=28769
64546
64547
64548         * html/HTMLInputElement.cpp:
64549         (WebCore::HTMLInputElement::list):
64550         (WebCore::HTMLInputElement::dataList):
64551         (WebCore::HTMLInputElement::selectedOption):
64552         * html/HTMLInputElement.h:
64553         * html/HTMLInputElement.idl:
64554
64555 2009-08-31  Kwang Yul Seo  <skyul@company100.net>
64556
64557         Reviewed by Eric Seidel.
64558
64559         Remove ASSERT(frame) in ResourceHandle::start (ResourceHandleCurl.cpp)
64560         https://bugs.webkit.org/show_bug.cgi?id=28802
64561
64562         Remove ASSERT because the frame could be null if the
64563         ResourceHandle is not associated with any frame, e.g. if we are
64564         downloading a file.
64565         If the frame is not null but the page is null this must be an
64566         attempted load from an onUnload handler, so let's just block it.
64567
64568         * platform/network/curl/ResourceHandleCurl.cpp:
64569         (WebCore::ResourceHandle::start):
64570
64571 2009-08-31  Maxime Simon  <simon.maxime@gmail.com>
64572
64573         Reviewed by Eric Seidel.
64574
64575         Build fix for platforms which don't enable DOM_STORAGE.
64576         https://bugs.webkit.org/show_bug.cgi?id=28834
64577
64578         * bindings/js/ScriptController.cpp:
64579         (WebCore::ScriptController::evaluate):
64580         * bindings/v8/ScriptController.cpp:
64581         (WebCore::ScriptController::evaluate):
64582
64583 2009-08-29  Adele Peterson  <adele@apple.com>
64584
64585         Reviewed by Dan Bernstein.
64586
64587         Fix for https://bugs.webkit.org/show_bug.cgi?id=28829
64588         Crash in AccessibilityRenderObject::activeDescendant when trying to set aria-activedescendant to something without a renderer
64589
64590         Test: accessibility/aria-activedescendant-crash.html
64591
64592         * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::activeDescendant): Nil check.
64593
64594 2009-08-28  Jan Michael Alonzo  <jmalonzo@webkit.org>
64595
64596         Reviewed by Oliver Hunt.
64597
64598         Gtk Build broken for OSX Quartz
64599         https://bugs.webkit.org/show_bug.cgi?id=28727
64600
64601         Check for XP_UNIX instead of GTK or X11 to ease building of the Gtk
64602         port in Mac and Unix/Linux.
64603
64604         * plugins/PluginView.cpp:
64605         (WebCore::PluginView::PluginView):
64606         * plugins/PluginView.h:
64607         * plugins/gtk/PluginViewGtk.cpp:
64608         (WebCore::PluginView::setNPWindowIfNeeded):
64609         (WebCore::PluginView::getValueStatic):
64610         (WebCore::PluginView::getValue):
64611         (WebCore::PluginView::init):
64612
64613 2009-08-28  Simon Fraser  <simon.fraser@apple.com>
64614
64615         Reviewed by Dan Bernstein.
64616
64617         Fix positioning error when a compositing, absolutely-positioned element has an ancestor with opacity.
64618         https://bugs.webkit.org/show_bug.cgi?id=28754
64619         
64620         For absolutely-positioned layers, convertToLayerCoords() jumps to the positioned
64621         ancestor, since the layer x and y are relative to that ancestor. However, this could
64622         skip over the ancestorLayer, thus giving the wrong result.
64623         
64624         Fix by duplicating the enclosingPositionedAncestor() logic in convertToLayerCoords(),
64625         and checking for ancestorLayer along the way. If found, compute offset of both to
64626         the enclosingPositionedAncestor() and subtract.
64627         
64628         This also fixes a positioning bug with abs. positioned elements in reflections,
64629         so there is a new reflection test with a pixel result.
64630
64631         Tests: compositing/geometry/abs-position-inside-opacity.html
64632                fast/reflections/abs-position-in-reflection.html
64633
64634         * rendering/RenderLayer.cpp:
64635         (WebCore::isPositionedContainer):
64636         (WebCore::RenderLayer::enclosingPositionedAncestor):
64637         (WebCore::RenderLayer::enclosingTransformedAncestor):
64638         (WebCore::RenderLayer::convertToLayerCoords):
64639
64640 2009-08-28  Simon Fraser  <simon.fraser@apple.com>
64641
64642         Reviewed by Mark Rowe
64643
64644         Wrap WebkitCSSTransformValues in the correct class of DOM wrapper.
64645         https://bugs.webkit.org/show_bug.cgi?id=27727
64646
64647         When fetching the DOM wrapper for a WebkitCSSTransformValue (which is a kind of 
64648         CSSValueList), we need to ask the value list whether it's a WebkitCSSTransformValue,
64649         because there is not a unique enum value for WebkitCSSTransformValue.
64650
64651         * bindings/objc/DOMCSS.mm:
64652         (kitClass):
64653
64654 2009-08-28  Peter Kasting  <pkasting@google.com>
64655
64656         Reviewed by Jan Michael Alonzo.
64657
64658         https://bugs.webkit.org/show_bug.cgi?id=28308
64659         Fix some warnings introduced by r47381.
64660
64661         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
64662         (WebCore::convertCMYKToRGBA):
64663         (WebCore::convertRGBToRGBA):
64664
64665 2009-08-28  Ada Chan  <adachan@apple.com>
64666
64667         Reviewed by Adam Roben.
64668
64669         https://bugs.webkit.org/show_bug.cgi?id=21442
64670         Make sure filesystemPathFromUrlOrTitle() returns a string with length
64671         <= MAX_PATH - 1.
64672
64673         * platform/win/ClipboardWin.cpp:
64674         (WebCore::filesystemPathFromUrlOrTitle):
64675
64676 2009-08-28  Dumitru Daniliuc  <dumi@chromium.org>
64677
64678         Reviewed by Dimitri Glazkov.
64679
64680         Adding Chromium's VFS for Linux and Mac.
64681
64682         https://bugs.webkit.org/show_bug.cgi?id=28750
64683
64684         * WebCore.gypi:
64685         * platform/chromium/ChromiumBridge.h:
64686         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
64687         (WebCore::SQLiteFileSystem::openDatabase):
64688         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
64689         * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Removed.
64690         * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Removed.
64691         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: Added.
64692         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
64693
64694 2009-08-28  Vitaly Repeshko  <vitalyr@chromium.org>
64695
64696         Reviewed by Dimitri Glazkov.
64697
64698         [V8] Made bindings use Node::setOnEvent functions for Node descendants
64699         instead of Node::setAttributeEventListener.
64700
64701         Node::setAttributeEventListener is an internal function and
64702         doesn't do the forwarding to DOM window that is required for some
64703         HTML elements.
64704         https://bugs.webkit.org/show_bug.cgi?id=28709
64705
64706         Tests added in http://trac.webkit.org/changeset/47326 now pass with V8.
64707
64708         * bindings/scripts/CodeGeneratorV8.pm:
64709         Now generates EventListener accessors for Node descendants instead
64710         of using custom callbacks.
64711         * bindings/v8/V8DOMWrapper.cpp:
64712         (WebCore::V8DOMWrapper::getEventListener): Moved from V8NodeCustom.cpp.
64713         * bindings/v8/V8DOMWrapper.h:
64714         (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Fixed a bug in
64715         signature.
64716         * bindings/v8/V8Utilities.cpp:
64717         (WebCore::createHiddenDependency):
64718         (WebCore::removeHiddenDependency):
64719         Changed signature to accept Handle instead of Local.
64720         * bindings/v8/V8Utilities.h:
64721         * bindings/v8/custom/V8CustomBinding.h:
64722         * bindings/v8/custom/V8NodeCustom.cpp:
64723         (WebCore::CALLBACK_FUNC_DECL):
64724         Removed custom callbacks for EventListener accessors.
64725
64726 2009-08-28  Ben Murdoch  <benm@google.com>
64727
64728         https://bugs.webkit.org/show_bug.cgi?id=28803
64729         
64730         Implements V8CustomVoidCallback reporting any exceptions that were thrown from the callback function.
64731
64732         * bindings/v8/custom/V8CustomVoidCallback.cpp:
64733         (WebCore::invokeCallback): Checks if the callback raised an exception and reports it to WebCore if so.
64734
64735 2009-08-28  Peter Kasting  <pkasting@google.com>
64736
64737         Not reviewed (build fix).
64738
64739         * platform/graphics/qt/ImageDecoderQt.cpp: Accidentally added some spaces.
64740         (WebCore::ImageDecoder::create):
64741         (WebCore::ImageDecoderQt::ImageDecoderQt):
64742         * platform/graphics/qt/ImageDecoderQt.h: Make constructor public so factory function can access it (this seemed better than making ImageDecoder a friend).
64743
64744 2009-08-28  Peter Kasting  <pkasting@google.com>
64745
64746         Reviewed by Eric Seidel.
64747
64748         https://bugs.webkit.org/show_bug.cgi?id=27965
64749         Move ImageDecoder creation function to a factory function on
64750         ImageDecoder.  This is arguably where it makes the most sense anyway,
64751         and it will (soon) allow ImageSourceQt.cpp to have one less dedicated
64752         function.
64753
64754         * platform/graphics/ImageSource.cpp:
64755         * platform/graphics/qt/ImageDecoderQt.cpp:
64756         (WebCore::ImageDecoder::create):
64757         * platform/graphics/qt/ImageDecoderQt.h:
64758         * platform/graphics/qt/ImageSourceQt.cpp:
64759         (WebCore::ImageSource::setData):
64760         * platform/image-decoders/ImageDecoder.cpp:
64761         * platform/image-decoders/ImageDecoder.h:
64762
64763 2009-08-28  Peter Kasting  <pkasting@google.com>
64764
64765         Reviewed by Eric Seidel.
64766
64767         https://bugs.webkit.org/show_bug.cgi?id=28785
64768         Combine duplicated code from ImageDecoder*.cpp into the main
64769         ImageDecoder.cpp.
64770
64771         * platform/image-decoders/ImageDecoder.cpp:
64772         (WebCore::RGBA32Buffer::RGBA32Buffer):
64773         (WebCore::RGBA32Buffer::clear):
64774         (WebCore::RGBA32Buffer::zeroFill):
64775         (WebCore::RGBA32Buffer::copyBitmapData):
64776         (WebCore::RGBA32Buffer::setSize):
64777         (WebCore::RGBA32Buffer::hasAlpha):
64778         (WebCore::RGBA32Buffer::setHasAlpha):
64779         (WebCore::RGBA32Buffer::setStatus):
64780         (WebCore::RGBA32Buffer::operator=):
64781         (WebCore::RGBA32Buffer::width):
64782         (WebCore::RGBA32Buffer::height):
64783         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
64784         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
64785         * platform/image-decoders/wx/ImageDecoderWx.cpp:
64786
64787 2009-08-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
64788
64789         Reviewed by Holger Freyther.
64790
64791         https://bugs.webkit.org/show_bug.cgi?id=25889
64792         [GTK] scrollbar policy for main frame is not implementable
64793
64794         Override setScrollbarModes to correctly forward scrollbar modes
64795         policy changes to client code, via a new platform-specific method,
64796         scrollbarsPolicyDidChange.
64797
64798         * page/ChromeClient.h:
64799         (WebCore::ChromeClient::scrollbarsPolicyDidChange):
64800         * platform/ScrollView.cpp:
64801         (WebCore::ScrollView::createScrollbar):
64802         * platform/ScrollView.h:
64803         * platform/gtk/ScrollViewGtk.cpp:
64804         (WebCore::ScrollView::setScrollbarModes):
64805
64806 2009-08-28  Cédric Luthi <cedric.luthi@gmail.com>
64807
64808         Reviewed by Tor Arne Vestbø
64809
64810         [Qt/Mac] Un-blacklist the QuickTime plugin
64811
64812         https://bugs.webkit.org/show_bug.cgi?id=28768
64813
64814         Now that the drawing model is properly negotiated, there is no need the
64815         blacklist the QuickTime plugin anymore.
64816
64817         This revealed a bug in PluginView::performRequest: it should not initiate a
64818         request if the plugin has been stopped, which is what happens when a plugin
64819         only supports the QuickDraw drawing model.
64820
64821         * plugins/PluginView.cpp:
64822         * plugins/mac/PluginPackageMac.cpp:
64823
64824 2009-08-28  Yury Semikhatsky  <yurys@chromium.org>
64825
64826         Reviewed by Timothy Hatcher.
64827
64828         Set DOM agent document to 0 in InspectorController::close to
64829         make DOM agent remove DOM listeners from the inspected document.
64830
64831         Replace windowVisible checks with m_frontend checks to as inspector
64832         window lives in a different process in Chromium while frontend proxy
64833         is in the inspected page process.
64834
64835         https://bugs.webkit.org/show_bug.cgi?id=28800
64836
64837         * inspector/InspectorController.cpp:
64838         (WebCore::InspectorController::inspect):
64839         (WebCore::InspectorController::addConsoleMessage):
64840         (WebCore::InspectorController::close):
64841         (WebCore::InspectorController::pruneResources):
64842         (WebCore::InspectorController::didCommitLoad):
64843         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
64844         (WebCore::InspectorController::identifierForInitialRequest):
64845         (WebCore::InspectorController::willSendRequest):
64846         (WebCore::InspectorController::didReceiveResponse):
64847         (WebCore::InspectorController::didReceiveContentLength):
64848         (WebCore::InspectorController::didFinishLoading):
64849         (WebCore::InspectorController::didFailLoading):
64850         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
64851         (WebCore::InspectorController::scriptImported):
64852         (WebCore::InspectorController::didOpenDatabase):
64853         (WebCore::InspectorController::didUseDOMStorage):
64854         (WebCore::InspectorController::addProfile):
64855         * inspector/InspectorController.h:
64856
64857 2009-08-28  Mikhail Naganov  <mnaganov@chromium.org>
64858
64859         Reviewed by Timothy Hatcher.
64860
64861         Remove dependency of SummaryBar on WebInspector.resourceCategories.
64862
64863         https://bugs.webkit.org/show_bug.cgi?id=28801
64864
64865         * inspector/front-end/ResourcesPanel.js:
64866         (WebInspector.ResourcesPanel):
64867         (WebInspector.ResourcesPanel.prototype.toolbarItemClass.get categories):
64868         * inspector/front-end/SummaryBar.js:
64869         (WebInspector.SummaryBar):
64870         (WebInspector.SummaryBar.prototype.update):
64871
64872 2009-08-28  Pavel Feldman  <pfeldman@chromium.org>
64873
64874         Not reviewed (patching in l18n change that was missing due to
64875         the git binary diff format).
64876
64877         https://bugs.webkit.org/show_bug.cgi?id=28429
64878
64879         * English.lproj/localizedStrings.js:
64880
64881 2009-08-28  Adam Barth  <abarth@webkit.org>
64882
64883         Reviewed by Eric Seidel.
64884
64885         Make XSSAuditor go fast
64886         https://bugs.webkit.org/show_bug.cgi?id=28667
64887
64888         Make the XSSAuditor go faster by implementing two optimizations:
64889
64890         1) We avoid canonicalizing scripts that are larger than the page's URL.
64891            This saves a bunch of time for large inline scripts.
64892
64893         2) We memoize canonicalizing the page's URL because it's silly to
64894            canonicalize repeated for each inline event listener.
64895
64896         These optimizations have a measurable affect on the intl1 page cycler.
64897
64898         No behavior change.
64899
64900         * page/XSSAuditor.cpp:
64901         (WebCore::XSSAuditor::MemoizingURLCanonicalizer::canonicalizeURL):
64902         (WebCore::XSSAuditor::canEvaluate):
64903         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
64904         (WebCore::XSSAuditor::canCreateInlineEventListener):
64905         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
64906         (WebCore::XSSAuditor::canLoadObject):
64907         (WebCore::XSSAuditor::canSetBaseElementURL):
64908         (WebCore::XSSAuditor::decodeURL):
64909         (WebCore::XSSAuditor::findInRequest):
64910         * page/XSSAuditor.h:
64911
64912 2009-08-27  Dimitri Glazkov  <dglazkov@chromium.org>
64913
64914         Unreviewed, build fix.
64915
64916         Removed ASSERT_NOT_REACHED, because indeed this ASSERT is reached in
64917         fast/canvas/change-context.html. And it's alright to reach it.
64918
64919         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
64920         (WebCore::CALLBACK_FUNC_DECL): Removed assertion.
64921
64922 2009-08-27  Jeremy Orlow  <jorlow@chromium.org>
64923
64924         Not reviewed.  Build fix for http://trac.webkit.org/changeset/47840
64925
64926         Peter's change forgot one m_decoder->
64927
64928         * platform/graphics/ImageSource.cpp:
64929         (WebCore::ImageSource::frameSizeAtIndex):
64930
64931 2009-08-27  Dimitri Glazkov  <dglazkov@chromium.org>
64932
64933         Unreviewed, build fix.
64934
64935         [V8] Add NULL-check, since the context ain't changeable no more, and
64936         thus getContext could return 0.
64937
64938         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
64939         (WebCore::CALLBACK_FUNC_DECL): Added NULL-check.
64940
64941 2009-08-27  Noel Gordon  <noel.gordon@gmail.com>
64942
64943         Reviewed by Eric Seidel.
64944
64945         dataTransfer.types() should include type "Files" when files are present in the clipboard.
64946         https://bugs.webkit.org/show_bug.cgi?id=28780
64947
64948         Add dataTransfer type "Files" to the chromium port.  Add eseidel's
64949         patch for same for the mac port.
64950
64951         * platform/chromium/ClipboardChromium.cpp:
64952
64953 2009-08-27  Chris Marrin  <cmarrin@apple.com>
64954
64955         Reviewed by Simon Fraser.
64956
64957         Removed GL_ from all constants, and gl prefix from all calls
64958         https://bugs.webkit.org/show_bug.cgi?id=28773
64959
64960         This was done for the external API in CanvasRenderingContext3D and
64961         the internal API in GraphicsContext3D.
64962
64963         * html/canvas/CanvasRenderingContext3D.cpp:
64964         * html/canvas/CanvasRenderingContext3D.h:
64965         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
64966         * html/canvas/CanvasRenderingContext3D.idl:
64967         * platform/graphics/GraphicsContext3D.h:
64968         * platform/graphics/mac/GraphicsContext3DMac.cpp:
64969
64970 2009-08-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
64971
64972         Qt and Gtk build fixes. Not reviewed.
64973
64974         Add CanvasRenderingContext3D.idl to the build scripts.
64975
64976         * GNUmakefile.am:
64977         * WebCore.pro:
64978
64979 2009-08-27  Jeremy Orlow  <jorlow@chromium.org>
64980
64981         Reviewed by Darin Fisher.
64982
64983         Release the storage mutex whenever leaving JavaScript execution.
64984         https://bugs.webkit.org/show_bug.cgi?id=28789
64985
64986         http://dev.w3.org/html5/spec/Overview.html#storage-mutex describes the
64987         required behavior.  After we leave JavaScript, we must be sure the storage
64988         mutex has been released.  At the end of evaluate(), if localStorage has been
64989         instantiated, tell it to release any locks that may be applicable.
64990
64991         * bindings/js/ScriptController.cpp:
64992         (WebCore::ScriptController::evaluate):
64993         * bindings/v8/ScriptController.cpp:
64994         (WebCore::ScriptController::evaluate):
64995
64996 2009-08-27  Alexey Proskuryakov  <ap@apple.com>
64997
64998         Reviewed by Oliver Hunt.
64999
65000         https://bugs.webkit.org/show_bug.cgi?id=28753
65001         <rdar://problem/7173448> Excessive number of threads (and a crash)
65002
65003         Coalesce DNS prefetch requests to reduce strain on CFHost. Currently, the algorithm is as follows:
65004         - when resolver is idle, the first few requests are sent immediately (they may or may not
65005         hit the wire);
65006         - if there are a few requests in flight already, coalesce all requests for one second;
65007         - to avoid pathological cases with lots of links to different sites on a page, only ask
65008         CFHost about a handful of names (dropping the rest).
65009
65010         Coalescing reduces the number of requests dramatically, as prefetchDNS is called for each
65011         link, and these tend to have identical host name.
65012
65013         * platform/network/cf/DNSCFNet.cpp:
65014         (WebCore::DNSResolveQueue::DNSResolveQueue):
65015         (WebCore::DNSResolveQueue::shared):
65016         (WebCore::DNSResolveQueue::add):
65017         (WebCore::DNSResolveQueue::decrementRequestCount):
65018         (WebCore::DNSResolveQueue::fired):
65019         (WebCore::clientCallback):
65020         (WebCore::DNSResolveQueue::resolve):
65021         (WebCore::prefetchDNS):
65022
65023 2009-08-27  Chris Marrin  <cmarrin@apple.com>
65024
65025         Reviewed by Simon Fraser.
65026
65027         Final patch for Canvas 3D support
65028         https://bugs.webkit.org/show_bug.cgi?id=28018
65029
65030         This hooks everything up and provides a working implementation of
65031         Canvas 3D. I plumb the creation of the 3D canvas down to GraphicsLayer,
65032         passing the opaque context and texture pointers so a Canvas3DLayer can be
65033         created (more on that later). It also plumbs changes to the 3D canvas so
65034         that Canvas3DLayer can recomposite the results.
65035         
65036         A 3D Canvas element needs a RenderLayer and compositing layer to render.
65037         This is because it renders to an off-screen texture in the GPU and then
65038         hands it to a Canvas3DLayer, which is a subclass of CAOpenGLLayer, to
65039         render that texture as a 3D quad. This keeps everything in GPU memory to 
65040         maximize performance. When a CanvasRenderingContext3D is created it 
65041         forces a style recalc which creates the RenderLayer and compositing 
65042         layer if needed. 
65043         
65044         I repurposed an existing flag which was put in place for animation to accomplish 
65045         this. This flag is passed to setNeedsStyleRecalc(), and I renamed it from 
65046         AnimationStyleChange to SyntheticStyleChange. It essentially says that you need
65047         to do a complete style recalc, even though the style itself has not really
65048         changed.
65049         
65050         This patch also fixes a couple of bugs discovered when testing with 3d-canvas
65051         turned on. I also added a constructor DOMWindow.idl for CanvasRenderingContext3D.
65052         This is needed when making a JS wrapper for the object so the prototype 
65053         property can be set.
65054
65055         Test: fast/canvas/change-context.html
65056
65057         * WebCore.xcodeproj/project.pbxproj:
65058         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
65059         (WebCore::JSCanvasRenderingContext3D::glDrawElements):
65060         * bindings/js/JSCanvasRenderingContextCustom.cpp:
65061         (WebCore::toJS):
65062         * dom/Element.cpp:
65063         (WebCore::Element::recalcStyle):
65064         * dom/Node.cpp:
65065         (WebCore::Node::setNeedsStyleRecalc):
65066         * dom/Node.h:
65067         (WebCore::):
65068         * html/HTMLCanvasElement.cpp:
65069         (WebCore::HTMLCanvasElement::getContext):
65070         (WebCore::HTMLCanvasElement::is3D):
65071         * html/HTMLCanvasElement.h:
65072         * html/canvas/CanvasBuffer.cpp:
65073         (WebCore::CanvasBuffer::create):
65074         (WebCore::CanvasBuffer::CanvasBuffer):
65075         (WebCore::CanvasBuffer::_deleteObject):
65076         * html/canvas/CanvasBuffer.h:
65077         * html/canvas/CanvasFramebuffer.cpp:
65078         (WebCore::CanvasFramebuffer::create):
65079         (WebCore::CanvasFramebuffer::CanvasFramebuffer):
65080         (WebCore::CanvasFramebuffer::_deleteObject):
65081         * html/canvas/CanvasFramebuffer.h:
65082         * html/canvas/CanvasObject.cpp:
65083         (WebCore::CanvasObject::CanvasObject):
65084         (WebCore::CanvasObject::~CanvasObject):
65085         (WebCore::CanvasObject::deleteObject):
65086         * html/canvas/CanvasObject.h:
65087         (WebCore::CanvasObject::context):
65088         * html/canvas/CanvasProgram.cpp:
65089         (WebCore::CanvasProgram::create):
65090         (WebCore::CanvasProgram::CanvasProgram):
65091         (WebCore::CanvasProgram::_deleteObject):
65092         * html/canvas/CanvasProgram.h:
65093         * html/canvas/CanvasRenderbuffer.cpp:
65094         (WebCore::CanvasRenderbuffer::create):
65095         (WebCore::CanvasRenderbuffer::CanvasRenderbuffer):
65096         (WebCore::CanvasRenderbuffer::_deleteObject):
65097         * html/canvas/CanvasRenderbuffer.h:
65098         * html/canvas/CanvasRenderingContext3D.cpp:
65099         (WebCore::CanvasRenderingContext3D::createBuffer):
65100         (WebCore::CanvasRenderingContext3D::createFramebuffer):
65101         (WebCore::CanvasRenderingContext3D::createTexture):
65102         (WebCore::CanvasRenderingContext3D::createProgram):
65103         (WebCore::CanvasRenderingContext3D::createRenderbuffer):
65104         (WebCore::CanvasRenderingContext3D::createShader):
65105         * html/canvas/CanvasRenderingContext3D.h:
65106         (WebCore::CanvasRenderingContext3D::graphicsContext3D):
65107         * html/canvas/CanvasShader.cpp:
65108         (WebCore::CanvasShader::create):
65109         (WebCore::CanvasShader::CanvasShader):
65110         (WebCore::CanvasShader::_deleteObject):
65111         * html/canvas/CanvasShader.h:
65112         * html/canvas/CanvasTexture.cpp:
65113         (WebCore::CanvasTexture::create):
65114         (WebCore::CanvasTexture::CanvasTexture):
65115         (WebCore::CanvasTexture::_deleteObject):
65116         * html/canvas/CanvasTexture.h:
65117         * page/DOMWindow.idl:
65118         * page/animation/AnimationBase.cpp:
65119         (WebCore::AnimationBase::setNeedsStyleRecalc):
65120         * page/animation/AnimationController.cpp:
65121         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
65122         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
65123         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
65124         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
65125         (WebCore::AnimationController::cancelAnimations):
65126         * platform/graphics/GraphicsContext3D.h:
65127         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
65128         (WebCore::GraphicsContext3D::platformTexture):
65129         * platform/graphics/GraphicsLayer.h:
65130         (WebCore::GraphicsLayer::setContentsToGraphicsContext3D):
65131         (WebCore::GraphicsLayer::setGraphicsContext3DNeedsDisplay):
65132         * platform/graphics/mac/GraphicsContext3DMac.cpp:
65133         (WebCore::GraphicsContext3D::~GraphicsContext3D):
65134         (WebCore::GraphicsContext3D::reshape):
65135         * platform/graphics/mac/GraphicsLayerCA.h:
65136         (WebCore::GraphicsLayerCA::):
65137         * platform/graphics/mac/GraphicsLayerCA.mm:
65138         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
65139         (WebCore::GraphicsLayerCA::commitLayerChanges):
65140         (WebCore::GraphicsLayerCA::updateContentsGraphicsContext3D):
65141         (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
65142         (WebCore::GraphicsLayerCA::setGraphicsContext3DNeedsDisplay):
65143         * rendering/RenderHTMLCanvas.cpp:
65144         (WebCore::RenderHTMLCanvas::requiresLayer):
65145         * rendering/RenderHTMLCanvas.h:
65146         (WebCore::RenderHTMLCanvas::isCanvas):
65147         * rendering/RenderLayerBacking.cpp:
65148         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
65149         (WebCore::RenderLayerBacking::canUseDirectCompositing):
65150         (WebCore::RenderLayerBacking::rendererContentChanged):
65151         * rendering/RenderLayerCompositor.cpp:
65152         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
65153         (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
65154         * rendering/RenderLayerCompositor.h:
65155         * rendering/RenderObject.h:
65156         (WebCore::RenderObject::isCanvas):
65157
65158 2009-08-27  Peter Kasting  <pkasting@google.com>
65159
65160         Reviewed by Eric Seidel.
65161
65162         https://bugs.webkit.org/show_bug.cgi?id=28751
65163         Clean up ImageDecoder*.cpp a bit.
65164
65165         * platform/image-decoders/ImageDecoder.cpp: Put functions in the same
65166           order as in the header file.  Also, since there's already an anonymous
65167           namespace in this file, use it to enclose the local helper functions.
65168         (WebCore::):
65169         (WebCore::ImageDecoder::upperBoundScaledX):
65170         (WebCore::ImageDecoder::lowerBoundScaledX):
65171         (WebCore::ImageDecoder::scaledY):
65172         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
65173         (WebCore::RGBA32Buffer::width): Style fix.
65174         (WebCore::RGBA32Buffer::height): Style fix.
65175         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
65176         (WebCore::RGBA32Buffer::copyBitmapData): Ensure m_size is set correctly.
65177         (WebCore::RGBA32Buffer::asNewNativeImage): Remove unneeded temp.
65178         (WebCore::RGBA32Buffer::operator=): Simplify.
65179         * platform/image-decoders/wx/ImageDecoderWx.cpp:
65180         (WebCore::RGBA32Buffer::asNewNativeImage): Try and collect spaced-out temps under loop comment to show they're all related.  Use size_t for iterating over elements of a Vector.
65181         (WebCore::RGBA32Buffer::width): Style fix.
65182         (WebCore::RGBA32Buffer::height): Style fix.
65183
65184 2009-08-27  Peter Kasting  <pkasting@google.com>
65185
65186         Reviewed by Eric Seidel.
65187
65188         https://bugs.webkit.org/show_bug.cgi?id=28751
65189         Clean up ImageSource.* in preparation for more fixes on bug 27965.
65190
65191         * platform/graphics/ImageSource.cpp: Put functions in the same order as in header file.
65192         (WebCore::ImageSource::isSizeAvailable): Shorten.
65193         (WebCore::ImageSource::size): Shorten.
65194         (WebCore::ImageSource::frameSizeAtIndex): Shorten.
65195         (WebCore::ImageSource::repetitionCount): Shorten.
65196         (WebCore::ImageSource::frameIsCompleteAtIndex):
65197         * platform/graphics/ImageSource.h: Shorten #ifdef section a bit by sharing common typedefs.
65198
65199 2009-08-27  Peter Kasting  <pkasting@google.com>
65200
65201         Reviewed by Eric Seidel.
65202
65203         https://bugs.webkit.org/show_bug.cgi?id=28785
65204         Add ImageDecoder.cpp to various build files so platforms will be able to
65205         use it.  Move an ENABLE to not cover the whole file, in preparation for
65206         adding a bunch of code.  Simplify #ifdefs in ImageDecoder.h to be "Skia
65207         vs. everyone else", which also gives new platforms a reasonable default
65208         behavior.
65209
65210         * GNUmakefile.am:
65211         * WebCore.gypi:
65212         * WebCore.vcproj/WebCore.vcproj:
65213         * WebCoreSources.bkl:
65214         * platform/image-decoders/ImageDecoder.cpp:
65215         (WebCore::):
65216         * platform/image-decoders/ImageDecoder.h:
65217         (WebCore::RGBA32Buffer::getAddr):
65218
65219 2009-08-27  Antti Koivisto  <antti@apple.com>
65220
65221         Reviewed by Dave Kilzer.
65222         
65223         https://bugs.webkit.org/show_bug.cgi?id=28784
65224         
65225         Add an exported method to flush pending repaints.
65226
65227         * WebCore.base.exp:
65228         * page/FrameView.cpp:
65229         (WebCore::FrameView::layoutIfNeededRecursive):
65230         (WebCore::FrameView::flushDeferredRepaints):
65231         * page/FrameView.h:
65232
65233 2009-08-27  Noel Gordon  <noel.gordon@gmail.com>
65234
65235         Reviewed by Eric Seidel.
65236
65237         [V8] Expose files from the pasteboard in drop events.
65238         https://bugs.webkit.org/show_bug.cgi?id=28782
65239
65240         Update chromium port to expose dataTransfer.files() as per
65241         HTML5 drag drop (Aug 2009 edition).
65242
65243         * platform/chromium/ClipboardChromium.cpp:
65244
65245 2009-08-27  Yury Semikhatsky  <yurys@chromium.org>
65246
65247         Reviewed by Dmitry Glazkov.
65248
65249         ScriptState now keeps explicit Handle of devtools front-end
65250         utility context instead of trying to retrieve it from inspected
65251         Frame.
65252
65253         https://bugs.webkit.org/show_bug.cgi?id=28772
65254
65255         * bindings/v8/ScriptController.cpp:
65256         (WebCore::ScriptController::ScriptController):
65257         * bindings/v8/ScriptController.h:
65258         * bindings/v8/ScriptObjectQuarantine.cpp:
65259         (WebCore::getQuarantinedScriptObject):
65260         * bindings/v8/ScriptScope.cpp:
65261         (WebCore::ScriptScope::ScriptScope):
65262         * bindings/v8/ScriptState.cpp:
65263         (WebCore::ScriptState::ScriptState):
65264         (WebCore::ScriptState::~ScriptState):
65265         (WebCore::scriptStateFromPage):
65266         * bindings/v8/ScriptState.h:
65267         (WebCore::ScriptState::context):
65268         * bindings/v8/ScriptValue.h:
65269         (WebCore::ScriptValue::~ScriptValue):
65270         * inspector/InspectorController.h:
65271         (WebCore::InspectorController::frontendScriptState):
65272
65273 2009-08-27  Pavel Feldman  <pfeldman@chromium.org>
65274
65275         Reviewed by Timothy Hatcher.
65276
65277         WebInspector: Console won't close.
65278
65279         https://bugs.webkit.org/show_bug.cgi?id=28778
65280
65281         * inspector/front-end/ElementsPanel.js:
65282         (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
65283         * inspector/front-end/utilities.js:
65284         (Node.prototype.isAncestor):
65285
65286 2009-08-27  Eric Seidel  <eric@webkit.org>
65287
65288         Reviewed by Adam Barth.
65289
65290         Fix a typo in files() causing image drags to have junk file arrays.
65291         https://bugs.webkit.org/show_bug.cgi?id=28755
65292
65293         Test: editing/pasteboard/files-during-page-drags.html
65294
65295         * platform/mac/ClipboardMac.mm:
65296         (WebCore::ClipboardMac::files):
65297
65298 2009-08-27  Jeremy Orlow  <jorlow@chromium.org>
65299
65300         Not reviewed.  Build fix for Chromium.
65301
65302         * bindings/v8/DOMObjectsInclude.h:
65303         * bindings/v8/DerivedSourcesAllInOne.cpp:
65304         * bindings/v8/V8Index.cpp:
65305         * bindings/v8/V8Index.h:
65306
65307 2009-08-27  Alexey Proskuryakov  <ap@apple.com>
65308
65309         Windows build fix.
65310
65311         * DerivedSources.cpp: Added JSPageTransitionEvent.cpp to DerivedSources.cpp.
65312
65313 2009-08-26  Alexey Proskuryakov  <ap@apple.com>
65314
65315         Reviewed by Adele Peterson.
65316
65317         https://bugs.webkit.org/show_bug.cgi?id=28758
65318         <rdar://problem/6440869> Implement pageshow and pagehide events for b/f cache (28758)
65319
65320         Tests: fast/events/pageshow-pagehide-on-back-cached.html
65321                fast/events/pageshow-pagehide-on-back-uncached.html
65322                fast/events/pageshow-pagehide.html
65323
65324         * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): Dispatch pagehide event
65325         (this function is called both when a document goes away, and when it goes to b/f cache).
65326
65327         * page/DOMWindow.cpp:
65328         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Dispatch pagehide right before unload.
65329         (WebCore::DOMWindow::dispatchPageTransitionEvent): Do what it takes to add a new event handler
65330         that can be installed on Window object.
65331         (WebCore::DOMWindow::onpagehide): Ditto.
65332         (WebCore::DOMWindow::setOnpagehide): Ditto.
65333         (WebCore::DOMWindow::onpageshow): Ditto.
65334         (WebCore::DOMWindow::setOnpageshow): Ditto.
65335
65336         * history/CachedFrame.cpp: (WebCore::CachedFrame::restore): Dispatch pageshow for a page
65337         that isn't being restored from cache.
65338
65339         * dom/PageTransitionEvent.cpp: Added.
65340         (WebCore::PageTransitionEvent::PageTransitionEvent):
65341         (WebCore::PageTransitionEvent::~PageTransitionEvent):
65342         (WebCore::PageTransitionEvent::initPageTransitionEvent):
65343         * dom/PageTransitionEvent.h: Added.
65344         (WebCore::PageTransitionEvent::create):
65345         (WebCore::PageTransitionEvent::isPageTransitionEvent):
65346         (WebCore::PageTransitionEvent::persisted):
65347         * dom/PageTransitionEvent.idl: Added.
65348         Add event class implementation.
65349
65350         * html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::parseMappedAttribute): Support
65351         inline listener definition (note that adding listeners to document.body programmatically
65352         is not supported, matching Firefox).
65353
65354         * dom/Document.cpp:
65355         (WebCore::Document::implicitClose): Dispatch pageshow event right before load event.
65356         (WebCore::Document::dispatchPageTransitionEvent): Do what it takes to add a new event for
65357         Docuemnt.
65358         (WebCore::Document::createEvent): Ditto.
65359
65360         * dom/Document.h: Added dispatchPageTransitionEvent.
65361
65362         * DerivedSources.make:
65363         * GNUmakefile.am:
65364         * WebCore.gypi:
65365         * WebCore.pro:
65366         * WebCore.vcproj/WebCore.vcproj:
65367         * WebCore.xcodeproj/project.pbxproj:
65368         * WebCoreSources.bkl:
65369         * bindings/js/JSEventCustom.cpp: (WebCore::toJS):
65370         * dom/Event.cpp: (WebCore::Event::isPageTransitionEvent):
65371         * dom/Event.h:
65372         * dom/EventNames.h:
65373         * html/HTMLAttributeNames.in:
65374         * page/DOMWindow.h:
65375         * page/DOMWindow.idl:
65376         Do what it takes to add a new event type.
65377
65378 2009-08-27  Pavel Feldman  <pfeldman@chromium.org>
65379
65380         Reviewed by NOBODY (build fix).
65381
65382         Adding missing file from previous commit.
65383
65384         https://bugs.webkit.org/show_bug.cgi?id=28740
65385
65386         * inspector/front-end/SummaryBar.js: Added.
65387         (WebInspector.SummaryBar):
65388         (WebInspector.SummaryBar.prototype.get calculator):
65389         (WebInspector.SummaryBar.prototype.set calculator):
65390         (WebInspector.SummaryBar.prototype.reset):
65391         (WebInspector.SummaryBar.prototype.update):
65392         (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare):
65393         (WebInspector.SummaryBar.prototype._drawSwatch):
65394         (WebInspector.SummaryBar.prototype._drawSummaryGraph.var):
65395         (WebInspector.SummaryBar.prototype._drawSummaryGraph):
65396         (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
65397         (WebInspector.SummaryBar.prototype._fadeOutRect):
65398         (WebInspector.SummaryBar.prototype._makeLegendElement):
65399
65400 2009-08-27  Mikhail Naganov  <mnaganov@chromium.org>
65401
65402         Reviewed by Timothy Hatcher.
65403
65404         Factor out Factor out summary bar from Resources panel.
65405
65406         https://bugs.webkit.org/show_bug.cgi?id=28740
65407
65408         * WebCore.gypi:
65409         * WebCore.vcproj/WebCore.vcproj:
65410         * inspector/front-end/ResourcesPanel.js:
65411         (WebInspector.ResourcesPanel.prototype.reset):
65412         (WebInspector.ResourcesPanel.prototype._updateSummaryGraph):
65413         (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition):
65414         (WebInspector.ResourcesPanel.prototype._changeSortingFunction):
65415         * inspector/front-end/SummaryBar.js: Added.
65416         (WebInspector.SummaryBar):
65417         (WebInspector.SummaryBar.prototype.get calculator):
65418         (WebInspector.SummaryBar.prototype.set calculator):
65419         (WebInspector.SummaryBar.prototype.reset):
65420         (WebInspector.SummaryBar.prototype.update):
65421         (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare):
65422         (WebInspector.SummaryBar.prototype._drawSwatch):
65423         (WebInspector.SummaryBar.prototype._drawSummaryGraph.var):
65424         (WebInspector.SummaryBar.prototype._drawSummaryGraph):
65425         (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
65426         (WebInspector.SummaryBar.prototype._fadeOutRect):
65427         (WebInspector.SummaryBar.prototype._makeLegendElement):
65428         * inspector/front-end/WebKit.qrc:
65429         * inspector/front-end/inspector.css:
65430         * inspector/front-end/inspector.html:
65431
65432 2009-08-26  Mikhail Naganov  <mnaganov@chromium.org>
65433
65434         Reviewed by Timothy Hatcher.
65435
65436         Start adding heap profiler to Inspector (hidden behind a flag.)
65437
65438         https://bugs.webkit.org/show_bug.cgi?id=28429
65439
65440         * English.lproj/localizedStrings.js:
65441         * inspector/front-end/ProfilesPanel.js:
65442         (WebInspector.ProfilesPanel):
65443         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
65444         (WebInspector.ProfilesPanel.prototype.reset):
65445         (WebInspector.ProfilesPanel.prototype.addProfile):
65446         (WebInspector.ProfilesPanel.prototype._updateInterface):
65447         (WebInspector.ProfilesPanel.prototype._snapshotClicked):
65448         * inspector/front-end/inspector.css:
65449         * inspector/front-end/inspector.js: added Preferences.heapProfilerPresent flag.
65450
65451 2009-08-27  Pavel Feldman  <pfeldman@chromium.org>
65452
65453         Reviewed by Timothy Hatcher.
65454
65455         WebInspector: Metrics sidebar editing is broken.
65456
65457         https://bugs.webkit.org/show_bug.cgi?id=28434
65458
65459         * inspector/front-end/MetricsSidebarPane.js:
65460         (WebInspector.MetricsSidebarPane.prototype.update):
65461
65462 2009-08-27  Darin Fisher  <darin@chromium.org>
65463
65464         Reviewed by Dimitri Glazkov.
65465
65466         https://bugs.webkit.org/show_bug.cgi?id=28767
65467
65468         Make KURLGoogle.cpp's decodeURLEscapeSequences decode %00 to match
65469         KURL.cpp.  This makes the XSSAuditor tests pass when using KURLGoogle.
65470
65471         * platform/KURLGoogle.cpp:
65472         (WebCore::decodeURLEscapeSequences):
65473
65474 2009-08-27  Ariya Hidayat  <ariya.hidayat@nokia.com>
65475
65476         Reviewed by Tor Arne Vestbø.
65477
65478         [Qt] Build fix, missing functions after r47763.
65479
65480         * platform/qt/Localizations.cpp:
65481         (WebCore::localizedMediaControlElementString):
65482         (WebCore::localizedMediaControlElementHelpText):
65483         (WebCore::localizedMediaTimeDescription):
65484
65485 2009-08-26  Dumitru Daniliuc  <dumi@chromium.org>
65486
65487         Reviewed by Adam Barth.
65488
65489         Removing trailing whitespaces from all storage classes.
65490
65491         https://bugs.webkit.org/show_bug.cgi?id=28075
65492
65493         * storage/ChangeVersionWrapper.cpp:
65494         * storage/Database.cpp:
65495         * storage/Database.h:
65496         * storage/DatabaseDetails.h:
65497         * storage/DatabaseThread.cpp:
65498         * storage/DatabaseTracker.cpp:
65499         * storage/DatabaseTracker.h:
65500         * storage/LocalStorageTask.cpp:
65501         * storage/LocalStorageTask.h:
65502         * storage/LocalStorageThread.cpp:
65503         * storage/LocalStorageThread.h:
65504         * storage/OriginQuotaManager.cpp:
65505         * storage/OriginUsageRecord.cpp:
65506         * storage/OriginUsageRecord.h:
65507         * storage/SQLError.h:
65508         * storage/SQLResultSetRowList.h:
65509         * storage/SQLStatement.cpp:
65510         * storage/SQLStatement.h:
65511         * storage/SQLStatementCallback.h:
65512         * storage/SQLStatementErrorCallback.h:
65513         * storage/SQLTransaction.cpp:
65514         * storage/SQLTransaction.h:
65515         * storage/SQLTransactionCallback.h:
65516         * storage/SQLTransactionErrorCallback.h:
65517         * storage/Storage.cpp:
65518         * storage/Storage.h:
65519         * storage/StorageArea.h:
65520         * storage/StorageAreaImpl.cpp:
65521         * storage/StorageAreaImpl.h:
65522         * storage/StorageAreaSync.cpp:
65523         * storage/StorageAreaSync.h:
65524         * storage/StorageEvent.cpp:
65525         * storage/StorageEvent.h:
65526         * storage/StorageMap.cpp:
65527         * storage/StorageMap.h:
65528         * storage/StorageNamespaceImpl.cpp:
65529         * storage/StorageSyncManager.cpp:
65530         * storage/StorageSyncManager.h:
65531
65532 2009-08-26  Dave Hyatt  <hyatt@apple.com>
65533
65534         Reviewed by Anders Carlsson.
65535
65536         https://bugs.webkit.org/show_bug.cgi?id=28763, flickering when opacity changes.
65537
65538         Make opacity changes from < 1 to 1 and from 1 to < 1 cause a relayout to happen.  We need
65539         to do this in order for overflow information to be properly recomputed.
65540
65541         * rendering/style/RenderStyle.cpp:
65542         (WebCore::RenderStyle::diff):
65543
65544 2009-08-26  Eric Carlson  <eric.carlson@apple.com>
65545
65546         Reviewed by Simon Fraser.
65547
65548         HTMLMediaElement sometimes loses events
65549         https://bugs.webkit.org/show_bug.cgi?id=28762
65550         <rdar://problem/7172437>
65551
65552         A media element triggers the resource selection algorithm if 
65553         play() is called when the networkState attribute is NETWORK_EMPTY, but
65554         it also immediately queues 'play' and either 'waiting' or 'playing' events.
65555         One of the steps in preparing to load is to flush pending events, so those 
65556         events were lost if the load timer fired quickly enough. Fixed by deleting
65557         pending events before scheduling the load timer.
65558
65559         Test: media/audio-play-event.html
65560
65561         * html/HTMLMediaElement.cpp:
65562         (WebCore::HTMLMediaElement::scheduleLoad):
65563             Do nothing if the load timer is already scheduled. Call prepareForLoad so queue of 
65564             pending events is flushed immediately.
65565         (WebCore::HTMLMediaElement::scheduleNextSourceChild):
65566             New, start the load timer without flushing pending events.
65567         (WebCore::HTMLMediaElement::load):
65568             Call prepareForLoad();
65569         (WebCore::HTMLMediaElement::prepareForLoad):
65570             New, load setup code moved from loadInternal.
65571         (WebCore::HTMLMediaElement::loadInternal):
65572             Moved some setup code to prepareForLoad so it can be invoked immediately before
65573             arming the load timer.
65574         (WebCore::HTMLMediaElement::setNetworkState):
65575             Call scheduleNextSourceChild instead of scheduleLoad as the later now clears
65576             pending events.
65577         * html/HTMLMediaElement.h:
65578             Declare scheduleNextSourceChild.
65579
65580 2009-08-26  Peter Kasting  <pkasting@google.com>
65581
65582         Reviewed by Eric Seidel.
65583
65584         https://bugs.webkit.org/show_bug.cgi?id=28751
65585         Switch ICO decoder from a Vector of raw pointers to a Vector of
65586         OwnPtrs now that that is possible.  Makes code slightly simpler.
65587
65588         * platform/image-decoders/ico/ICOImageDecoder.cpp:
65589         (WebCore::ICOImageDecoder::decodeAtIndex):
65590         (WebCore::ICOImageDecoder::processDirectory):
65591         * platform/image-decoders/ico/ICOImageDecoder.h:
65592
65593 2009-08-26  Dave Hyatt  <hyatt@apple.com>
65594
65595         Reviewed by Dan Bernstein.
65596
65597         https://bugs.webkit.org/show_bug.cgi?id=28718, image inside relpositioned inline doesn't paint.
65598         Make sure vertical overflow is still computed across self-painting layers, even though it isn't
65599         propagated to parents.
65600
65601         Added fast/repaint/rel-positioned-inline-with-overflow.html
65602
65603         * rendering/InlineFlowBox.cpp:
65604         (WebCore::InlineFlowBox::computeVerticalOverflow):
65605
65606 2009-08-26  David Levin  <levin@chromium.org>
65607
65608         Reviewed by Darin Fisher.
65609
65610         ResourceRequestBase::*[Aa]llowHTTPCookies shouldn't mention http.
65611         https://bugs.webkit.org/show_bug.cgi?id=28735
65612
65613         Renaming the method to imply its wider implications of affecting cookies
65614         over any protocol that supports them.
65615
65616         No change in functionality so no new tests.
65617
65618         * WebCore.order:
65619         * loader/DocumentThreadableLoader.cpp:
65620         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
65621         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
65622         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
65623         * platform/network/ResourceRequestBase.cpp:
65624         (WebCore::ResourceRequestBase::adopt):
65625         (WebCore::ResourceRequestBase::copyData):
65626         (WebCore::ResourceRequestBase::allowCookies):
65627         (WebCore::ResourceRequestBase::setAllowCookies):
65628         (WebCore::equalIgnoringHeaderFields):
65629         * platform/network/ResourceRequestBase.h:
65630         (WebCore::ResourceRequestBase::ResourceRequestBase):
65631         * platform/network/cf/ResourceRequestCFNet.cpp:
65632         (WebCore::ResourceRequest::doUpdatePlatformRequest):
65633         (WebCore::ResourceRequest::doUpdateResourceRequest):
65634         * platform/network/mac/ResourceRequestMac.mm:
65635         (WebCore::ResourceRequest::doUpdateResourceRequest):
65636         (WebCore::ResourceRequest::doUpdatePlatformRequest):
65637         * platform/network/soup/ResourceRequestSoup.cpp:
65638         (WebCore::ResourceRequest::updateFromSoupMessage):
65639
65640 2009-08-26  Dan Bernstein  <mitz@apple.com>
65641
65642         Reviewed by Dave Hyatt.
65643
65644         Made RenderInline::clippedOverflowRectForRepaint() actually include
65645         overflow.
65646
65647         Test: fast/repaint/inline-overflow.html
65648
65649         * rendering/RenderInline.cpp:
65650         (WebCore::RenderInline::linesVisibleOverflowBoundingBox): Added. Returns
65651             the bounding box of all lines’ visible overflow boxes (under the
65652             assumption that the first and last lines determine the top and
65653             bottom, respectively).
65654         (WebCore::RenderInline::clippedOverflowRectForRepaint): Changed to use
65655             linesVisibleOverflowBoundingBox() instead of linesBoundingBox().
65656         * rendering/RenderInline.h:
65657
65658 2009-08-26  John Gregg  <johnnyg@google.com>
65659
65660         Reviewed by David Levin.
65661
65662         minor style correction and include fix for notifications
65663         https://bugs.webkit.org/show_bug.cgi?id=28745
65664
65665         No change in behavior, so no tests.
65666
65667         * bindings/js/JSDesktopNotificationsCustom.cpp: add include of Error.h
65668         * notifications/Notification.cpp: change enum style to InterCaps
65669         (WebCore::Notification::Notification):
65670         * notifications/NotificationPresenter.h:
65671         (WebCore::NotificationPresenter::):
65672
65673 2009-08-25  Drew Wilson  <atwilson@google.com>
65674
65675         Reviewed by David Levin.
65676
65677         postMessage() spec now supports sending arrays of ports
65678         https://bugs.webkit.org/show_bug.cgi?id=26902
65679
65680         Added support for sending multiple ports at once via postMessage(). JS bindings will be updated in an upcoming patch.
65681
65682         No new tests, since the new functionality is not exposed via new JS bindings yet, so the old tests suffice.
65683
65684         * WebCore.xcodeproj/project.pbxproj:
65685         Mark MessagePort.h and MessagePortChannel.h as private since they are used by WebKit now.
65686         * dom/MessageEvent.cpp:
65687         Updated APIs to support passing MessagePortArrays.
65688         (WebCore::MessageEvent::MessageEvent):
65689         (WebCore::MessageEvent::initMessageEvent):
65690         (WebCore::MessageEvent::messagePort):
65691         * dom/MessageEvent.h:
65692         (WebCore::MessageEvent::create):
65693         Now accepts a MessagePortArray parameter instead of a single MessagePort.
65694         (WebCore::MessageEvent::ports):
65695         * dom/MessagePort.cpp:
65696         (WebCore::MessagePort::postMessage):
65697         (WebCore::MessagePort::dispatchMessages):
65698         (WebCore::MessagePort::disentanglePorts):
65699         Added new static function to extract a MessagePortChannelArray from a MessagePortArray.
65700         (WebCore::MessagePort::entanglePorts):
65701         Added new static function to generate a MessagePortArray (entangled ports) from a MessagePortChannelArray.
65702         * dom/MessagePort.h:
65703         * dom/MessagePortChannel.cpp:
65704         EventData now contains a MessagePortChannelArray field instead of a single MessagePortChannel.
65705         (WebCore::MessagePortChannel::EventData::create):
65706         (WebCore::MessagePortChannel::EventData::EventData):
65707         * dom/MessagePortChannel.h:
65708         (WebCore::MessagePortChannel::EventData::channels):
65709         * page/DOMWindow.cpp:
65710         (WebCore::PostMessageTimer::PostMessageTimer):
65711         (WebCore::PostMessageTimer::event):
65712         (WebCore::DOMWindow::postMessage):
65713         Now accepts a MessagePortArray parameter instead of a single MessagePort.
65714         * page/DOMWindow.h:
65715         * workers/DedicatedWorkerContext.cpp:
65716         (WebCore::DedicatedWorkerContext::postMessage):
65717         Now accepts a MessagePortArray parameter instead of a single MessagePort.
65718         (WebCore::DedicatedWorkerContext::dispatchMessage):
65719         * workers/DedicatedWorkerContext.h:
65720         * workers/Worker.cpp:
65721         (WebCore::Worker::postMessage):
65722         Now accepts a MessagePortArray parameter instead of a single MessagePort.
65723         (WebCore::Worker::dispatchMessage):
65724         * workers/Worker.h:
65725         * workers/WorkerContextProxy.h:
65726         * workers/WorkerMessagingProxy.cpp:
65727         Updated WorkerObjectProxy and WorkerContextProxy API implementations to support sending multiple MessagePorts.
65728         (WebCore::MessageWorkerContextTask::create):
65729         (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
65730         (WebCore::MessageWorkerContextTask::performTask):
65731         (WebCore::MessageWorkerTask::create):
65732         (WebCore::MessageWorkerTask::MessageWorkerTask):
65733         (WebCore::MessageWorkerTask::performTask):
65734         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
65735         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
65736         * workers/WorkerMessagingProxy.h:
65737         * workers/WorkerObjectProxy.h:
65738         Updated WorkerObjectProxy and WorkerContextProxy APIs to support sending multiple MessagePorts.
65739
65740 2009-08-26  Fumitoshi Ukai  <ukai@chromium.org>
65741
65742         Reviewed by Alexey Proskuryakov.
65743
65744         SocketStreamHandle interface for WebSocket API
65745         https://bugs.webkit.org/show_bug.cgi?id=28037
65746
65747         Add build systems only for GNUmakefile.am and WebCore.xcodeproj.now.
65748         Other build systems will be updated once the code is functional.
65749         Tests will be landed once this code is complete and functional.
65750
65751         * GNUmakefile.am:
65752         * WebCore.xcodeproj/project.pbxproj:
65753         * platform/network/SocketStreamErrorBase.cpp: Added.
65754         * platform/network/SocketStreamErrorBase.h: Added.
65755         * platform/network/SocketStreamHandleBase.cpp: Added.
65756         * platform/network/SocketStreamHandleBase.h: Added.
65757         * platform/network/SocketStreamHandleClient.h: Added.
65758         * platform/network/cf/SocketStreamError.h: Added.
65759         * platform/network/cf/SocketStreamHandle.h: Added.
65760         * platform/network/cf/SocketStreamHandleCFNet.cpp: Added.
65761         * platform/network/soup/SocketStreamError.h: Added.
65762         * platform/network/soup/SocketStreamHandle.h: Added.
65763         * platform/network/soup/SocketStreamHandleSoup.cpp: Added.
65764
65765 2009-08-26  Mads Ager  <ager@chromium.org>
65766
65767         Reviewed by Dimitri Glazkov.
65768
65769         [V8] setTimeout does not convert non-string argument to string
65770         https://bugs.webkit.org/show_bug.cgi?id=28739
65771
65772         Convert non-string argument to setTimeout to string in the V8
65773         bindings.
65774
65775         * bindings/v8/custom/V8DOMWindowCustom.cpp:
65776         (WebCore::V8Custom::WindowSetTimeoutImpl):
65777
65778 2009-08-25  Oliver Hunt  <oliver@apple.com>
65779
65780         Reviewed by Gavin Barraclough.
65781
65782         [ES5] Implement getOwnPropertyDescriptor
65783         https://bugs.webkit.org/show_bug.cgi?id=28724
65784
65785         Implement the WebCore side of getOwnPropertyDescriptor.  This
65786         requires a custom implementation of getOwnPropertyDescriptor
65787         for every class with a custom implementation of getOwnPropertySlot.
65788
65789         The bindings generator has been updated to generate appropriate
65790         versions of getOwnPropertyDescriptor for the general case where
65791         a custom getOwnPropertyDescriptor is not needed.  ES5 is vague
65792         about how getOwnPropertyDescriptor should work in the context of
65793         "host" functions with polymorphic [[GetOwnProperty]], so it seems
65794         okay that occasionally we "guess" what attributes -- eg. determining
65795         whether a property is writable.
65796
65797         Test: fast/js/getOwnPropertyDescriptor.html
65798
65799         * bindings/js/JSDOMWindowCustom.cpp:
65800         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
65801         * bindings/js/JSDOMWindowShell.cpp:
65802         (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
65803         * bindings/js/JSDOMWindowShell.h:
65804         * bindings/js/JSHTMLAppletElementCustom.cpp:
65805         (WebCore::JSHTMLAppletElement::getOwnPropertyDescriptorDelegate):
65806         * bindings/js/JSHTMLEmbedElementCustom.cpp:
65807         (WebCore::JSHTMLEmbedElement::getOwnPropertyDescriptorDelegate):
65808         * bindings/js/JSHTMLObjectElementCustom.cpp:
65809         (WebCore::JSHTMLObjectElement::getOwnPropertyDescriptorDelegate):
65810         * bindings/js/JSHistoryCustom.cpp:
65811         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
65812         * bindings/js/JSLocationCustom.cpp:
65813         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
65814         * bindings/js/JSNamedNodesCollection.cpp:
65815         (WebCore::JSNamedNodesCollection::getOwnPropertyDescriptor):
65816         * bindings/js/JSNamedNodesCollection.h:
65817         * bindings/js/JSPluginElementFunctions.cpp:
65818         (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
65819         * bindings/js/JSPluginElementFunctions.h:
65820         * bindings/js/JSQuarantinedObjectWrapper.cpp:
65821         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyDescriptor):
65822         * bindings/js/JSQuarantinedObjectWrapper.h:
65823         * bindings/js/JSWorkerContextCustom.cpp:
65824         (WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate):
65825         * bindings/scripts/CodeGeneratorJS.pm:
65826         * bridge/objc/objc_runtime.h:
65827         * bridge/objc/objc_runtime.mm:
65828         (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor):
65829         * bridge/runtime.h:
65830         (JSC::Bindings::Instance::getOwnPropertyDescriptor):
65831         * bridge/runtime_array.cpp:
65832         (JSC::RuntimeArray::getOwnPropertyDescriptor):
65833         * bridge/runtime_array.h:
65834         * bridge/runtime_method.cpp:
65835         (JSC::RuntimeMethod::getOwnPropertyDescriptor):
65836         * bridge/runtime_method.h:
65837         * bridge/runtime_object.cpp:
65838         (JSC::RuntimeObjectImp::getOwnPropertyDescriptor):
65839         * bridge/runtime_object.h:
65840
65841 2009-08-26  Vincent Untz <vuntz@gnome.org>
65842
65843         Reviewed by Xan Lopez.
65844
65845         GObject checks for NULL (and not 0) in g_object_get, so use that
65846         as we were already doing elsewhere to make the compiler happy.
65847
65848         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
65849         (WebCore::MediaPlayerPrivate::hasAudio):
65850
65851 2009-08-26  Alpha Lam  <hclam@chromium.org>
65852
65853         Reviewed by David Levin.
65854
65855         RenderThemeMac.mm has incorrect casting for media control element.
65856         https://bugs.webkit.org/show_bug.cgi?id=28730
65857
65858         MediaControlMuteButtonElement was incorrectly casted to
65859         MediaControlPlayButtonElement. This is corrected in this patch.
65860
65861         No new tests because this is code cleanup and is already covered by existing
65862         media layout tests.
65863
65864         * rendering/RenderThemeMac.mm:
65865         (WebCore::RenderThemeMac::paintMediaMuteButton):
65866
65867 2009-08-26  Robert Sesek  <rsesek@chromium.org>
65868
65869         Reviewed by Eric Seidel.
65870
65871         [Chromium] Multi-value select boxes cannot do non-contiguous selection on Mac
65872         https://bugs.webkit.org/show_bug.cgi?id=28670
65873
65874         Change the condition regarding the key modifier check for non-contiguous
65875         selection on a multi-value list from just PLATFORM(MAC) to
65876         PLATFORM(MAC) || (PLATFORM(CHROMIUM) && PLATFORM(DARWIN)).
65877
65878         No new tests. This patch only changes the condition on which a certain mouse
65879         event modifier key is used.
65880
65881         * dom/SelectElement.cpp:
65882         (WebCore::SelectElement::listBoxDefaultEventHandler):
65883
65884 2009-08-25  Eric Carlson  <eric.carlson@apple.com>
65885
65886         Reviewed by Dan Bernstein
65887
65888         r47744 causes media/video-controls-with-mutation-event-handler.html to crash
65889         https://bugs.webkit.org/show_bug.cgi?id=28732
65890
65891         * rendering/MediaControlElements.cpp:
65892         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
65893             Don't call setAttribute from the construtor, any registered mutation event 
65894             listener will cause a crash.
65895
65896         * rendering/RenderMedia.cpp:
65897         (WebCore::RenderMedia::createVolumeSlider):
65898             Set the maxAttr here instead of in the constructor.
65899
65900 2009-08-25  Dmitry Titov  <dimich@chromium.org>
65901
65902         Reviewed by Brady Eidson.
65903
65904         Timers from cached pages fire instantly rather than the after the specified timeout delay
65905         https://bugs.webkit.org/show_bug.cgi?id=28683
65906
65907         Test: fast/dom/Window/timer-resume-on-navigation-back.html
65908
65909         * history/CachedPage.cpp:
65910         (WebCore::CachedPage::restore): Remove duplicated Frame::restore() call, since
65911             it should be done only once in FrameLoader::open(cachedFrame)
65912         * page/DOMTimer.cpp: Added a debug-only flag and ASSERT to catch out-of-order suspense/restore.
65913         (WebCore::DOMTimer::DOMTimer): Ditto.
65914         (WebCore::DOMTimer::suspend): Ditto.
65915         (WebCore::DOMTimer::resume): Ditto.
65916         * page/DOMTimer.h: Ditto.
65917
65918 2009-08-25  Eric Carlson  <eric.carlson@apple.com>
65919
65920         Reviewed by Simon Fraser.
65921
65922         Setting the volume of a media element has no effect if called too early
65923         https://bugs.webkit.org/show_bug.cgi?id=28731
65924
65925         * manual-tests/audio-volume.html: 
65926             Added.
65927
65928         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
65929         (WebCore::MediaPlayerPrivate::setVolume):
65930         (WebCore::MediaPlayerPrivate::setRate):
65931             Don't bail if metadata hasn't been loaded, it is fine to set rate and/or
65932             volume as soon as the movie has been created.
65933
65934 2009-08-25  David Levin  <levin@chromium.org>
65935
65936         Reviewed by Maciej Stachowiak.
65937
65938         DocumentThreadableLoader::getShouldUseCredentialStorage should allow for synchronous callbacks from SubresourceLoader::create.
65939         https://bugs.webkit.org/show_bug.cgi?id=28728
65940
65941         Test: This code path is exercised while running xhr layout tests in chromium.
65942
65943         * loader/DocumentThreadableLoader.cpp:
65944         (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): When called
65945         back synchronously, the loader is 0, so the assert is changed to allow for that.
65946         (WebCore::DocumentThreadableLoader::loadRequest): Synchronous callbacks may be
65947         done before SubresourceLoader::create finishes, so ensure that any previous loader
65948         -- from a preflight request -- is cleared before calling SubresourceLoader::create.
65949
65950 2009-08-25  Mark Rowe  <mrowe@apple.com>
65951
65952         Stop installing IDL files in to the framework.
65953
65954         * WebCore.xcodeproj/project.pbxproj:
65955
65956 2009-08-25  Kent Tamura  <tkent@chromium.org>
65957
65958         Reviewed by Eric Seidel.
65959
65960         Support for HTMLInputElement::list and HTMLInputElement::selectedOption.
65961         https://bugs.webkit.org/show_bug.cgi?id=27756
65962
65963         Tests: fast/forms/input-list.html
65964                fast/forms/input-selectedoption.html
65965
65966         * html/HTMLAttributeNames.in:
65967         * html/HTMLInputElement.cpp:
65968         (WebCore::HTMLInputElement::parseMappedAttribute):
65969         (WebCore::HTMLInputElement::list):
65970         (WebCore::HTMLInputElement::selectedOption):
65971         * html/HTMLInputElement.h:
65972         * html/HTMLInputElement.idl:
65973
65974 2009-08-25  Eric Carlson  <eric.carlson@apple.com>
65975
65976         Reviewed by Oliver Hunt.
65977
65978         <video> and <audio> controller should be accessible (edit)
65979         https://bugs.webkit.org/show_bug.cgi?id=28081
65980
65981         Test: accessibility/media-element.html
65982
65983         * GNUmakefile.am:
65984         * WebCore.gypi:
65985         * WebCore.pro:
65986         * WebCore.vcproj/WebCore.vcproj:
65987         * WebCore.xcodeproj/project.pbxproj:
65988         * WebCoreSources.bkl:
65989             Add AccessibilityMediaControls.cpp/.h
65990
65991         * accessibility/AXObjectCache.cpp:
65992         * accessibility/AXObjectCache.h:
65993         (WebCore::AXObjectCache::getOrCreate):
65994             Create AccessibilityMediaControl. Update Copyright
65995
65996         * accessibility/AccessibilityMediaControls.cpp:
65997         * accessibility/AccessibilityMediaControls.h:
65998             Added.
65999
66000         * accessibility/AccessibilityObject.cpp:
66001         * accessibility/AccessibilityObject.h:
66002             Add isMediaTimeline. Update Copyright.
66003
66004         * accessibility/AccessibilitySlider.h:
66005             Make constructor protected instead of private so AccessibilityMediaTimeline can
66006             call it.
66007
66008         * accessibility/mac/AccessibilityObjectWrapper.mm:
66009         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
66010             Add NSAccessibilityValueDescriptionAttribute to range attributes. 
66011         (-[AccessibilityObjectWrapper subrole]):
66012             Return NSAccessibilityTimelineSubrole for AccessibilityMediaTimeline.
66013
66014         * dom/Node.h:
66015             add isMediaControlElement.
66016
66017         * page/mac/WebCoreViewFactory.h:
66018         * platform/LocalizedStrings.h:
66019         * platform/mac/LocalizedStringsMac.mm:
66020         (WebCore::localizedMediaControlElementString): 
66021         (WebCore::localizedMediaControlElementHelpText):
66022         (WebCore::localizedMediaTimeDescription): 
66023             New, return localized media controller strings.
66024
66025         * platform/gtk/LocalizedStringsGtk.cpp:
66026         (WebCore::mediaElementLoadingStateText):
66027         (WebCore::mediaElementLiveBroadcastStateText):
66028             Move inside of "#if ENABLE(VIDEO)"
66029         (WebCore::localizedMediaControlElementString):
66030         (WebCore::localizedMediaControlElementHelpText):
66031         (WebCore::localizedMediaTimeDescription):
66032
66033         * rendering/MediaControlElements.cpp:
66034         (WebCore::MediaControlElement::MediaControlElement):
66035             Initialize m_displayType.
66036         (WebCore::MediaControlElement::MediaControlElement):
66037         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
66038             Fix style.
66039         (WebCore::MediaControlInputElement::MediaControlInputElement):
66040             Set m_displayType based on pseudo style ID.
66041         (WebCore::MediaControlInputElement::MediaControlInputElement):
66042             rename local "o" to "object".
66043         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
66044         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
66045         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
66046         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
66047         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
66048         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
66049         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
66050         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
66051         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
66052         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
66053             Update for MediaControlInputElement constructor change.
66054         (WebCore::MediaControlTimeDisplayElement::formatTime):
66055             New, moved here from RenderMedia so AccessibilityMediaTimeDisplay can use it.
66056         (WebCore::MediaControlTimeDisplayElement::setCurrentValue):
66057             New, set text to current time.
66058         * rendering/MediaControlElements.h:
66059
66060         * rendering/RenderMedia.cpp:
66061         (WebCore::RenderMedia::updateControls):
66062             Create controls in tab order.
66063         (WebCore::RenderMedia::formatTime):
66064             Moved to MediaControlTimeDisplayElement::formatTime.
66065         (WebCore::RenderMedia::updateTimeDisplay):
66066             Call MediaControlTimeDisplayElement::setCurrentValue.
66067         * rendering/RenderMedia.h:
66068
66069 2009-08-25  Jian Li  <jianli@chromium.org>
66070
66071         Reviewed by David Levin.
66072
66073         [V8] Fix Canvas layout test failures in Chromium build.
66074         https://bugs.webkit.org/show_bug.cgi?id=28720
66075
66076         The previous fix r47757 does not handle the V8 object conversion correctly.
66077
66078         * bindings/v8/custom/V8DocumentCustom.cpp:
66079         (WebCore::CALLBACK_FUNC_DECL):
66080         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
66081         (WebCore::CALLBACK_FUNC_DECL):
66082
66083 2009-08-25  Jian Li  <jianli@chromium.org>
66084
66085         Reviewed by David Levin.
66086
66087         [V8] Fix compiling errors in Chromium build caused by Canvas3D changes from r47752.
66088         https://bugs.webkit.org/show_bug.cgi?id=28717
66089
66090         * bindings/v8/DOMObjectsInclude.h:
66091         * bindings/v8/DerivedSourcesAllInOne.cpp:
66092         * bindings/v8/V8Index.cpp:
66093         * bindings/v8/V8Index.h:
66094         * bindings/v8/custom/V8DocumentCustom.cpp:
66095         (WebCore::CALLBACK_FUNC_DECL):
66096         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
66097         (WebCore::CALLBACK_FUNC_DECL):
66098
66099 2009-08-25  Alpha Lam  <hclam@chromium.org>
66100
66101         Reviewed by David Levin.
66102
66103         [chromium] Implement media volume slider for chromium
66104         https://bugs.webkit.org/show_bug.cgi?id=28715
66105
66106         Provided the implementation of the volume slider and its container for
66107         chromium port. With this change there will be a usable volume control
66108         slider for chromium theme.
66109
66110         No new tests since this is covered by existing media layout tests.
66111
66112         * css/mediaControlsChromium.css: CSS style for the volume slider.
66113         * rendering/RenderThemeChromiumSkia.cpp:
66114         (WebCore::mediaSliderThumbImage): Returns the image for slider thumb.
66115         (WebCore::mediaVolumeSliderThumbImage): Returns the image for volume slider thumb.
66116         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack): Paints the track with one vertical white line.
66117         (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): Adjusts thumb sizes according to the images.
66118         (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb): Paints slider thumb image.
66119         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb): Paints volume slider thumb image.
66120
66121 2009-08-25  Chris Marrin  <cmarrin@apple.com>
66122
66123         Reviewed by Simon Fraser.
66124
66125         Missed checking in 2 Canvas3D files
66126         https://bugs.webkit.org/show_bug.cgi?id=28018
66127
66128         * bindings/js/JSCanvasRenderingContextCustom.cpp: Implements toJS to do proper subclass binding
66129         * bindings/js/JSCanvasRenderingContext3DCustom.cpp: Argument marshaling for 3D calls
66130
66131 2009-08-25  Mads Ager  <ager@chromium.org>
66132
66133         Reviewed by Adam Barth.
66134
66135         [V8] Exception from JavaScript propagates to main script
66136         https://bugs.webkit.org/show_bug.cgi?id=26433
66137
66138         Make sure that exceptions thrown both at compile time and at
66139         runtime in javascript URLs are isolated from the main script.
66140
66141         Test: fast/dom/javascript-url-exception-isolation.html
66142
66143         * bindings/v8/V8Proxy.cpp:
66144         (WebCore::V8Proxy::evaluate):
66145
66146 2009-08-25  Chris Marrin  <cmarrin@apple.com>
66147
66148         Reviewed by Simon Fraser.
66149
66150         Added all new Canvas3D files to the build
66151         https://bugs.webkit.org/show_bug.cgi?id=28018
66152
66153         This also hooks up CanvasRenderingContext as the common base class for
66154         CanvasRenderingContext2D and CanvasRenderingContext3D. And it adds a bit
66155         of logic throughout to support the new CanvasRenderingContext3D object.
66156         But nothing is hooked up yet.
66157
66158         * DerivedSources.make:
66159         * WebCore.pro:
66160         * WebCore.vcproj/WebCore.vcproj:
66161         * WebCore/GNUmakefile.am:
66162         * WebCore/WebCore.gypi:
66163         * WebCore/WebCoreSources.bkl:
66164         * WebCore.xcodeproj/project.pbxproj:
66165         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
66166         (WebCore::JSCanvasRenderingContext2D::strokeStyle):
66167         (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
66168         (WebCore::JSCanvasRenderingContext2D::fillStyle):
66169         (WebCore::JSCanvasRenderingContext2D::setFillStyle):
66170         (WebCore::JSCanvasRenderingContext2D::setFillColor):
66171         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
66172         (WebCore::JSCanvasRenderingContext2D::strokeRect):
66173         (WebCore::JSCanvasRenderingContext2D::drawImage):
66174         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
66175         (WebCore::JSCanvasRenderingContext2D::setShadow):
66176         (WebCore::JSCanvasRenderingContext2D::createPattern):
66177         (WebCore::JSCanvasRenderingContext2D::putImageData):
66178         (WebCore::JSCanvasRenderingContext2D::fillText):
66179         (WebCore::JSCanvasRenderingContext2D::strokeText):
66180         * bindings/js/JSDOMBinding.cpp:
66181         (WebCore::isObservableThroughDOM):
66182         * bindings/js/JSDocumentCustom.cpp:
66183         * bindings/js/JSHTMLCanvasElementCustom.cpp:
66184         (WebCore::JSHTMLCanvasElement::markChildren):
66185         * dom/Document.cpp:
66186         (WebCore::Document::getCSSCanvasContext):
66187         * dom/Document.h:
66188         * html/HTMLCanvasElement.cpp:
66189         (WebCore::HTMLCanvasElement::getContext):
66190         (WebCore::HTMLCanvasElement::willDraw):
66191         (WebCore::HTMLCanvasElement::reset):
66192         (WebCore::HTMLCanvasElement::paint):
66193         (WebCore::HTMLCanvasElement::is3D):
66194         (WebCore::HTMLCanvasElement::context3D):
66195         (WebCore::HTMLCanvasElement::texture3D):
66196         * html/HTMLCanvasElement.h:
66197         (WebCore::HTMLCanvasElement::renderingContext):
66198         * html/canvas/CanvasObject.cpp:
66199         (WebCore::CanvasObject::~CanvasObject):
66200         * html/canvas/CanvasRenderingContext.idl:
66201         * html/canvas/CanvasRenderingContext2D.cpp:
66202         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
66203         (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
66204         * html/canvas/CanvasRenderingContext2D.h:
66205         (WebCore::CanvasRenderingContext2D::is2d):
66206         * html/canvas/CanvasRenderingContext2D.idl:
66207         * html/canvas/CanvasRenderingContext3D.cpp:
66208         * html/canvas/CanvasRenderingContext3D.idl:
66209
66210 2009-08-25  Dan Bernstein  <mitz@apple.com>
66211
66212         Reviewed by Anders Carlsson.
66213
66214         REGRESSION (r47630): fast/repaint/background-generated.html is failing
66215         https://bugs.webkit.org/show_bug.cgi?id=28704
66216
66217         * rendering/RenderBoxModelObject.cpp:
66218         (WebCore::RenderBoxModelObject::calculateFillTileSize): Handle SizeNone.
66219         * rendering/style/FillLayer.cpp:
66220         (WebCore::FillLayer::FillLayer): Initialize the size type to SizeNone.
66221         * rendering/style/FillLayer.h:
66222         (WebCore::FillSize::FillSize): Changed assignment to initialization and
66223             removed redundant assignment to size.
66224
66225 2009-08-25  Yusuke Sato  <yusukes@chromium.org>
66226
66227         Reviewed by Darin Fisher.
66228
66229         [Chromium] Complex text doesn't show up with text stroking
66230         https://bugs.webkit.org/show_bug.cgi?id=28707
66231
66232         Skip the NULL check of m_hdc if Windows GDI is not in use.
66233
66234         * platform/graphics/chromium/FontChromiumWin.cpp:
66235         (WebCore::Font::drawComplexText):
66236
66237 2009-08-25  Alpha Lam  <hclam@chromium.org>
66238
66239         Reviewed by David Levin.
66240
66241         Media controls panel does not have a volume control slider
66242         https://bugs.webkit.org/show_bug.cgi?id=28241
66243
66244         Introduced "-webkit-media-controls-volume-slider",
66245         "-webkit-media-controls-volume-slider-container" and the supporting
66246         implementation. Also added appearances of "media-volume-slider" and
66247         "media-volume-slider-container".
66248
66249         The implementation of the controls are in WebCore::MediaControlElements.
66250         Logic to trigger the display of the volume controls are in WebCore::RenderMedia.
66251
66252         No new tests since this change doesn't have theme implementation and the
66253         volume slider is disabled by default.
66254
66255         * accessibility/AccessibilitySlider.cpp:
66256         (WebCore::AccessibilitySlider::orientation): Marks that volume slider is vertical.
66257         * css/CSSPrimitiveValueMappings.h:
66258         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added corresponding CSS values.
66259         * css/CSSSelector.cpp:
66260         (WebCore::CSSSelector::extractPseudoType): ditto.
66261         * css/CSSSelector.h:
66262         (WebCore::CSSSelector::): ditto.
66263         * css/CSSStyleSelector.cpp:
66264         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto.
66265         * css/CSSValueKeywords.in: ditto.
66266         * css/mediaControls.css: Makes the volume slider disabled by default.
66267         * platform/ThemeTypes.h: Defines theme parts for volume slider and its container.
66268         (WebCore::):
66269         * rendering/MediaControlElements.cpp:
66270         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
66271         (WebCore::MediaControlVolumeSliderContainerElement::styleForElement):
66272         Adjust the CSS values for "display", "postion", "left" and "top" according to member variables.
66273         (WebCore::MediaControlVolumeSliderContainerElement::setVisible): Affects the "display" CSS value.
66274         (WebCore::MediaControlVolumeSliderContainerElement::setPosition): Affects the "left" and "top" CSS values.
66275         (WebCore::MediaControlVolumeSliderContainerElement::hitTest): Hit testing this element.
66276         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
66277         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): Modifies the volume using the slider value, allows dragging.
66278         * rendering/MediaControlElements.h:
66279         (WebCore::): Added definition for MediaControlVolumeSliderElement and MediaControlVolumeSliderContainerElement.
66280         (WebCore::MediaControlVolumeSliderContainerElement::isVisible): Inline getter.
66281         * rendering/RenderMedia.cpp:
66282         (WebCore::RenderMedia::styleDidChange): Updates styles for volume container and volume slider.
66283         (WebCore::RenderMedia::createVolumeSliderContainer): Creates volume slider container and attach to panel.
66284         (WebCore::RenderMedia::createVolumeSlider): Creates volume slider and attach to volume slider container.
66285         (WebCore::RenderMedia::updateControls): Updates volume container and volume slider.
66286         (WebCore::RenderMedia::updateVolumeSliderContainer): Sets the visibility and position of volume slider container and its child.
66287         (WebCore::RenderMedia::forwardEvent):
66288         Hit testing the volume slider container and volume slider to toggle the visibility and forward events to slider.
66289         * rendering/RenderMedia.h:
66290         Added definition for RenderMedia::updateVolumeSliderContainer().
66291         * rendering/RenderMediaControls.cpp:
66292         (WebCore::RenderMediaControls::paintMediaControlsPart): Not implemented.
66293         * rendering/RenderSlider.cpp:
66294         (WebCore::RenderSlider::createThumbStyle): Makes volume slider vertical.
66295         (WebCore::RenderSlider::thumbRect): ditto.
66296         (WebCore::RenderSlider::mouseEventIsInThumb): ditto.
66297         (WebCore::RenderSlider::setValueForPosition): ditto.
66298         (WebCore::RenderSlider::positionForOffset): ditto.
66299         (WebCore::RenderSlider::currentPosition): ditto.
66300         (WebCore::RenderSlider::trackSize): ditto.
66301         * rendering/RenderTheme.cpp:
66302         (WebCore::RenderTheme::adjustStyle): Adjust style for volume slider thumb.
66303         (WebCore::RenderTheme::paint): Paints volume control parts using theme.
66304         * rendering/RenderTheme.h:
66305         (WebCore::RenderTheme::paintMediaVolumeSliderContainer): Naive implementation to be overridden.
66306         (WebCore::RenderTheme::paintMediaVolumeSliderTrack): ditto.
66307         (WebCore::RenderTheme::paintMediaVolumeSliderThumb): ditto.
66308         * rendering/style/RenderStyleConstants.h:
66309         (WebCore::): Constants for volume control parts.
66310
66311 2009-08-25  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
66312
66313         Reviewed by Ariya Hidayat.
66314
66315         [Qt/Mac] Use CONFIG+=build_all only when building libraries
66316
66317         If no configuration is specified when building WebKit we pass the
66318         debug_and_release option to QMake which results in Makefiles for
66319         both configurations being generated.
66320
66321         Previously we built both of these configurations by default, for
66322         all targets (both the QtWebKit framework/dyldlib and the various
66323         executables such as QtLauncher and tests). This makes sense for
66324         the libraries, which get the _debug suffix and can be loaded on
66325         demand by setting the DYLD_IMAGE_SUFFIX, but for executables we
66326         ended up building the same executable twice.
66327
66328         We now only build one instance of each executable, and since this
66329         is a developer build we build the debug-version. Passing either
66330         --debug or --release to build-webkit will override this, and
66331         even in the default case the release version can still be built
66332         by running 'make release' in the the build directory of each
66333         target.
66334
66335         * WebCore.pro:
66336
66337 2009-08-25  Xan Lopez  <xlopez@igalia.com>
66338
66339         Reviewed by Jan Alonzo.
66340
66341         https://bugs.webkit.org/show_bug.cgi?id=28690
66342         Build failure in webkitgtk+-1.1.3
66343
66344         Do not use deprecated function to unref a pixbuf.
66345
66346         * platform/gtk/CursorGtk.cpp:
66347         (WebCore::Cursor::Cursor):
66348
66349 2009-08-24  Hironori Bono  <hbono@chromium.org>
66350
66351         Reviewed by Adam Barth.
66352
66353         Fix Bug 27827 "[Chromium] Functions Keys don't work in google spreadsheet".
66354         <https://bugs.webkit.org/show_bug.cgi?id=27827>.
66355
66356         Because of the lack of mappings from GDK key-codes to WebKit key-codes,
66357         Chromium cannot send valid key-codes to JavaScript when a user types
66358         function keys. This change just copies the mappings from 'KeyEventGtk.cpp'.
66359
66360         To write layout tests for this issue, added mappings from function-key
66361         names to platform-specific key-codes to EventSendingController objects
66362         so that eventSender.keyDown() can send function-key events without using
66363         platform-specific key codes. (Unfortunately, this eventSender.keyDown() change
66364         is only for Mac. So this change adds this new test to Skipped tests for other
66365         platforms to prevent this change from crashing the build trees.)
66366
66367         Test: fast/events/keydown-function-keys.html
66368
66369        * platform/chromium/KeyCodeConversionGtk.cpp: Add mappings from GDK key-codes
66370         to WebKit key-code for function keys.
66371         (WebCore::windowsKeyCodeForKeyEvent):
66372
66373 2009-08-24  Antti Koivisto  <antti@apple.com>
66374
66375         Reviewed by Simon Fraser.
66376         
66377         https://bugs.webkit.org/show_bug.cgi?id=28698
66378         Avoid unnecessary transformations for the window resizer rect.
66379
66380         * platform/Scrollbar.cpp:
66381         (WebCore::Scrollbar::setFrameRect):
66382
66383 2009-08-24  Alexey Proskuryakov  <ap@apple.com>
66384
66385         Reviewed by Anders Carlsson.
66386
66387         <rdar://problem/7161900> REGRESSION: 100 MB membuster leak on windows due to 47391
66388         (DNS prefetching support)
66389
66390         * platform/network/cf/DNSCFNet.cpp: (WebCore::prefetchDNS): Use a run loop from secondary
66391         thread on Windows, because there isn't one on main one.
66392
66393 2009-08-24  Alexey Proskuryakov  <ap@apple.com>
66394
66395         Reviewed by Darin Adler.
66396
66397         https://bugs.webkit.org/show_bug.cgi?id=28374
66398         Cross-scheme requests should not be blocked by appcache rules
66399
66400         Test: http/tests/appcache/different-scheme.html
66401
66402         * loader/appcache/ApplicationCacheHost.cpp:
66403         (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache):
66404         Resources with different schemes can never be loaded from appcache.
66405
66406 2009-08-24  Alexey Proskuryakov  <ap@apple.com>
66407
66408         Reviewed by Darin Adler and Sam Weinig.
66409
66410         https://bugs.webkit.org/show_bug.cgi?id=28688
66411         REGRESSION(r24994): Cannot create a frame with a javascript URL
66412
66413         Test: http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html
66414
66415         * bindings/js/JSAttrCustom.cpp: (WebCore::JSAttr::setValue):
66416         * bindings/js/JSElementCustom.cpp: (WebCore::allowSettingSrcToJavascriptURL):
66417         * bindings/js/JSHTMLFrameElementCustom.cpp: (WebCore::allowSettingJavascriptURL):
66418         * bindings/js/JSHTMLIFrameElementCustom.cpp: (WebCore::JSHTMLIFrameElement::setSrc):
66419         Omit the checks if there is no document in frame yet.
66420
66421 2009-08-24  Nate Chapin  <japhet@chromium.org>
66422
66423         Reviewed by Eric Seidel.
66424
66425         Fix crash in fast/css/rem-dynamic-scaling.html due to a freed
66426         RenderStyle being accessed.
66427
66428         https://bugs.webkit.org/show_bug.cgi?id=28681
66429
66430         * dom/Element.cpp:
66431         (WebCore::Element::recalcStyle): Make currentStyle a RefPtr.
66432
66433 2009-08-24  Dan Bernstein  <mitz@apple.com>
66434
66435         Reviewed by Simon Fraser.
66436
66437         <rdar://problem/5743105> Long freezing during loading and selecting text
66438         of a large table
66439         https://bugs.webkit.org/show_bug.cgi?id=14918
66440
66441         * rendering/RenderView.cpp:
66442         (WebCore::RenderView::setSelection): Added calls to
66443             beginDeferredRepaints() and endDeferredRepaints() around the
66444             invalidation of the selection, in order to better coalesce multiple
66445             invalid rectangles.
66446
66447 2009-08-24  Pavel Feldman  <pfeldman@chromium.org>
66448
66449         Reviewed by Timothy Hatcher.
66450
66451         WebInspector: Simplify findTreeElement code, get rid of potential infinite loop.
66452
66453         https://bugs.webkit.org/show_bug.cgi?id=28680
66454
66455         * inspector/front-end/ElementsPanel.js:
66456         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
66457         * inspector/front-end/ElementsTreeOutline.js:
66458         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
66459         * inspector/front-end/treeoutline.js:
66460         (TreeOutline.prototype.getCachedTreeElement):
66461         (TreeOutline.prototype.findTreeElement):
66462         * inspector/front-end/utilities.js:
66463         (isAncestorNode):
66464         ():
66465
66466 2009-08-24  Pavel Feldman  <pfeldman@chromium.org>
66467
66468         Reviewed by Timothy Hatcher.
66469
66470         WebInspector: Do expand local scope when hitting the break
66471
66472         https://bugs.webkit.org/show_bug.cgi?id=28678
66473
66474         * inspector/front-end/ScopeChainSidebarPane.js:
66475         (WebInspector.ScopeChainSidebarPane.prototype.update):
66476
66477 2009-08-24  Ada Chan  <adachan@apple.com>
66478
66479         Reviewed by Steve Falkenburg.
66480
66481         Make sure we use the current FrameView's frame rect when
66482         going back to a cached page.
66483         
66484         https://bugs.webkit.org/show_bug.cgi?id=28659
66485
66486         * loader/FrameLoader.cpp:
66487         (WebCore::FrameLoader::open):
66488
66489 2009-08-24  Cameron McCormack  <cam@mcc.id.au>
66490
66491         Reviewed by Darin Adler.
66492
66493         Modifying <text rotate=""> doesn't clear the corresponding SVGAnimatedNumberList
66494         https://bugs.webkit.org/show_bug.cgi?id=28673
66495
66496         Test: svg/dom/text-rotate-live.html
66497
66498         * svg/SVGNumberList.cpp:
66499         (WebCore::SVGNumberList::parse): Clear the list before adding the parsed
66500         numbers.
66501
66502 2009-08-24  Simon Fraser  <simon.fraser@apple.com>
66503
66504         Reviewed by NOBODY (build fix)
66505
66506         Turn off ENABLE_3D_CANVAS in the xconfig files.
66507
66508         * Configurations/FeatureDefines.xcconfig:
66509
66510 2009-08-24  Pavel Feldman  <pfeldman@chromium.org>
66511
66512         Reviewed by Timothy Hatcher.
66513
66514         WebInspector: Only expand local scope when hitting the break
66515
66516         https://bugs.webkit.org/show_bug.cgi?id=28678
66517
66518         * inspector/front-end/ScopeChainSidebarPane.js:
66519         (WebInspector.ScopeChainSidebarPane.prototype.update):
66520
66521 2009-08-24  Dan Bernstein  <mitz@apple.com>
66522
66523         Reviewed by Simon Fraser.
66524
66525         background-size fails to parse if a single length/percentage/auto is followed by a comma
66526         https://bugs.webkit.org/show_bug.cgi?id=28674
66527
66528         * css/CSSParser.cpp:
66529         (WebCore::CSSParser::parseFillSize): Added an allowComma parameter,
66530             which is set to false when this method consumes a comma. Moved
66531             handling of 'contain' and 'cover' from parseFillProperty into this
66532             method.
66533         (WebCore::CSSParser::parseFillProperty): Set allowComma to true before
66534             processing the next value, and pass allowComma to parseFillSize.
66535         * css/CSSParser.h:
66536
66537 2009-08-17  Martin Robinson  <martin.james.robinson@gmail.com>
66538
66539         Reviewed by Gustavo Noronha.
66540
66541         [GTK] Support for cursors that are images
66542         https://bugs.webkit.org/show_bug.cgi?id=28346
66543
66544         Added support for cursors which are images for CursorGtk. Added
66545         a manual test for this.
66546
66547         * manual-tests/gtk/cursor-image.html: Added.
66548         * manual-tests/gtk/resources/redcursor.cur: Added.
66549         * platform/gtk/CursorGtk.cpp:
66550         (WebCore::Cursor::Cursor):
66551
66552 2009-08-24  Zan Dobersek  <zandobersek@gmail.com>
66553
66554         Reviewed by Gustavo Noronha.
66555
66556         [GTK] Integrate GStreamer video with the graphics backend
66557         https://bugs.webkit.org/show_bug.cgi?id=16356
66558
66559         Improves GStreamer backend implementation of MediaPlayerPrivate class.
66560
66561         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
66562         (WebCore::mediaPlayerPrivateErrorCallback): Send proper MediaPlayer
66563         error for different GStreamer errors to MediaPlayerPrivate.
66564         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Move static
66565         initialization boolean to a better place.
66566         (WebCore::MediaPlayerPrivate::play):
66567         (WebCore::MediaPlayerPrivate::pause):
66568         (WebCore::MediaPlayerPrivate::duration): Return if error occured, do not
66569         consider the source as stream if duration query failed.
66570         (WebCore::MediaPlayerPrivate::currentTime): Return if error occured, use
66571         an early return.
66572         (WebCore::MediaPlayerPrivate::seek): Return if error occured.
66573         (WebCore::MediaPlayerPrivate::setEndTime): Remove implementation since this
66574         function doesn't seem to be used anywhere in WebCore.
66575         (WebCore::MediaPlayerPrivate::paused):
66576         (WebCore::MediaPlayerPrivate::seeking):
66577         (WebCore::MediaPlayerPrivate::setRate): Seek to current time when rate is set.
66578         (WebCore::MediaPlayerPrivate::maxTimeBuffered): Return if error occured.
66579         (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto.
66580         (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
66581         (WebCore::MediaPlayerPrivate::bytesLoaded):
66582         (WebCore::MediaPlayerPrivate::totalBytesKnown):
66583         (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
66584         (WebCore::MediaPlayerPrivate::updateStates): Return if error occured, update
66585         after seek ended with a successful change
66586         (WebCore::MediaPlayerPrivate::didEnd): Do not pause the playbin when end is reached.
66587         (WebCore::MediaPlayerPrivate::loadingFailed): Update network state with the given error.
66588         (WebCore::mimeTypeCache): Gather supported mime types from GStreamer.
66589         (WebCore::MediaPlayerPrivate::getSupportedTypes):
66590         (WebCore::MediaPlayerPrivate::supportsType):
66591         (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
66592         (WebCore::MediaPlayerPrivate::supportsFullscreen): First step towards fullscreen
66593         support.
66594         (WebCore::MediaPlayerPrivate::createGSTPlayBin): Use playbin2 instead of playbin,
66595         do not set playbin's audio sink.
66596         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
66597         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
66598         (webkit_video_sink_idle_func): Use C+casts, decrease reference count of async
66599         queue at the end of the idle function.
66600         (webkit_video_sink_render): Increase reference count of async queue.
66601         (webkit_video_sink_stop): Remove any idle functions with the sink as data.
66602
66603 2009-08-23  Chris Marrin  <cmarrin@apple.com>
66604
66605         Reviewed by Simon Fraser.
66606
66607         Remaining new files for Canvas3D
66608         https://bugs.webkit.org/show_bug.cgi?id=28018
66609
66610         * bindings/js/JSHTMLCanvasElementCustom.cpp: Added Canvas3D method behind an ifdef
66611         * html/canvas/CanvasByteArray.cpp: Added. Efficient array of bytes for passing to GL functions
66612         * html/canvas/CanvasByteArray.h: Added.
66613         * html/canvas/CanvasByteArray.idl: Added.
66614         * html/canvas/CanvasNumberArray.cpp: Added. Efficient array of 32 bit floats for passing to GL functions
66615         * html/canvas/CanvasNumberArray.h: Added.
66616         * html/canvas/CanvasNumberArray.idl: Added.
66617
66618 2009-08-24  Pavel Feldman  <pfeldman@chromium.org>
66619
66620         Reviewed by Timothy Hatcher.
66621
66622         WebInspector: Migrate call frames interaction to the InjectedScript-based schema.
66623
66624         https://bugs.webkit.org/show_bug.cgi?id=28408
66625
66626         * inspector/front-end/CallStackSidebarPane.js:
66627         (WebInspector.CallStackSidebarPane.prototype.update):
66628         * inspector/front-end/ConsoleView.js:
66629         (WebInspector.ConsoleView.prototype.doEvalInWindow):
66630         (WebInspector.ConsoleTextMessage):
66631         * inspector/front-end/DOMAgent.js:
66632         (WebInspector.DOMAgent.prototype.get domWindow):
66633         (InspectorController.openInInspectedWindow):
66634         (InspectorController.getCallFrames):
66635         (InspectorController.evaluateInCallFrame):
66636         * inspector/front-end/ElementsPanel.js:
66637         (WebInspector.ElementsPanel.prototype.reset):
66638         (WebInspector.ElementsPanel.prototype.generateStylesheet):
66639         * inspector/front-end/InjectedScript.js:
66640         (InjectedScript.evaluate):
66641         (InjectedScript._evaluateOn):
66642         (InjectedScript.openInInspectedWindow):
66643         (InjectedScript.getCallFrames):
66644         (InjectedScript.evaluateInCallFrame):
66645         (InjectedScript._callFrameForId):
66646         (InjectedScript._objectForId):
66647         (InjectedScript.CallFrameProxy):
66648         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
66649         * inspector/front-end/ObjectPropertiesSection.js:
66650         (WebInspector.ObjectPropertiesSection.prototype._update):
66651         * inspector/front-end/ObjectProxy.js:
66652         (WebInspector.ObjectPropertyProxy):
66653         * inspector/front-end/ResourcesPanel.js:
66654         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
66655         * inspector/front-end/ScopeChainSidebarPane.js:
66656         (WebInspector.ScopeChainSidebarPane):
66657         (WebInspector.ScopeChainSidebarPane.prototype.update):
66658         (WebInspector.ScopeVariableTreeElement.prototype.onattach):
66659         (WebInspector.ScopeVariableTreeElement.prototype.onexpand):
66660         (WebInspector.ScopeVariableTreeElement.prototype.oncollapse):
66661         * inspector/front-end/ScriptsPanel.js:
66662         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
66663         (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame):
66664         (WebInspector.ScriptsPanel.prototype.debuggerPaused.callback):
66665         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
66666
66667 2009-08-24  Kent Tamura  <tkent@chromium.org>
66668
66669         Reviewed by Eric Seidel.
66670
66671         Add support for the placeholder attribute and DOM property of the textarea element.
66672         https://bugs.webkit.org/show_bug.cgi?id=21248
66673
66674         A DOM node for an INPUT element doesn't have a flag for placeholder
66675         visibility anymore.  This patch also fixes a bug that a renderer
66676         doesn't reflect a corresponding DOM value change.
66677
66678         Tests: fast/forms/textarea-placeholder-dom-property.html
66679                fast/forms/textarea-placeholder-pseudo-style.html
66680                fast/forms/textarea-placeholder-set-attribute.html
66681                fast/forms/textarea-placeholder-set-value.html
66682
66683         * css/html.css: Add the default style for placeholder of textarea.
66684         * dom/InputElement.cpp: Cleanup for m_placeholderShouldBeVisible removal
66685         (WebCore::InputElement::dispatchFocusEvent):
66686         (WebCore::InputElement::dispatchBlurEvent):
66687         (WebCore::InputElement::placeholderShouldBeVisible):
66688         (WebCore::InputElement::updatePlaceholderVisibility):
66689         (WebCore::InputElement::setValueFromRenderer):
66690         (WebCore::InputElementData::InputElementData):
66691         * dom/InputElement.h:
66692         * html/HTMLInputElement.cpp:
66693         (WebCore::HTMLInputElement::dispatchFocusEvent):
66694         (WebCore::HTMLInputElement::dispatchBlurEvent):
66695         (WebCore::HTMLInputElement::setValue):
66696         (WebCore::HTMLInputElement::placeholderShouldBeVisible):
66697         * html/HTMLInputElement.h:
66698         (WebCore::HTMLInputElement::updatePlaceholderVisibility):
66699         * html/HTMLTextAreaElement.cpp:
66700         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
66701         (WebCore::HTMLTextAreaElement::setValue):
66702         (WebCore::HTMLTextAreaElement::placeholderShouldBeVisible):
66703         (WebCore::HTMLTextAreaElement::updatePlaceholderVisibility):
66704         (WebCore::HTMLTextAreaElement::dispatchFocusEvent):
66705         (WebCore::HTMLTextAreaElement::dispatchBlurEvent):
66706         * html/HTMLTextAreaElement.h:
66707         * html/HTMLTextAreaElement.idl:
66708         * rendering/RenderTextControl.cpp:
66709         (WebCore::RenderTextControl::RenderTextControl):
66710         (WebCore::RenderTextControl::styleDidChange):
66711         (WebCore::RenderTextControl::setInnerTextStyle):
66712         (WebCore::RenderTextControl::updatePlaceholderVisibility):
66713         * rendering/RenderTextControl.h:
66714         * rendering/RenderTextControlMultiLine.cpp:
66715         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
66716         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
66717         (WebCore::RenderTextControlMultiLine::updateFromElement):
66718         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
66719         (WebCore::RenderTextControlMultiLine::textBaseStyle):
66720         * rendering/RenderTextControlMultiLine.h:
66721         * rendering/RenderTextControlSingleLine.cpp:
66722         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
66723         (WebCore::RenderTextControlSingleLine::textBaseStyle):
66724         (WebCore::RenderTextControlSingleLine::updateFromElement):
66725         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
66726         * rendering/RenderTextControlSingleLine.h:
66727         * wml/WMLInputElement.cpp:
66728         (WebCore::WMLInputElement::dispatchFocusEvent):
66729         (WebCore::WMLInputElement::dispatchBlurEvent):
66730         (WebCore::WMLInputElement::setValue):
66731         (WebCore::WMLInputElement::placeholderShouldBeVisible):
66732
66733 2009-08-23  Dirk Schulze  <krit@webkit.org>
66734
66735         Reviewed by Mark Rowe.
66736
66737         Code clean-up and build fix for filters enabled builds. Moved SVGNames.h
66738         into #if ENABLE(SVG) for Document.cpp and added SVGNames.h to the other
66739         files. They are needed there after r47688.
66740
66741         * dom/Document.cpp:
66742         * svg/SVGComponentTransferFunctionElement.h:
66743         * svg/SVGFELightElement.h:
66744         * svg/SVGFEMergeNodeElement.h:
66745         * svg/SVGFilterPrimitiveStandardAttributes.h:
66746
66747 2009-08-23  Gustavo Noronha Silva  <gns@gnome.org>
66748
66749         Unreviewed, build fix for make distcheck on GTK+.
66750
66751         * GNUmakefile.am: Added files needed for the build.
66752         * bindings/js/JSDOMWindowCustom.cpp: Protect SharedWorker include
66753         with #if clause.
66754         * bindings/js/JSEventTarget.cpp: Dito.
66755         * dom/Document.cpp: Dito.
66756         * loader/FrameLoader.cpp: Dito.
66757
66758 2009-08-23  Joseph Pecoraro  <joepeck@webkit.org>
66759
66760         Reviewed by Timothy Hatcher.
66761
66762         Inspector: Throws an Error on "null"
66763         https://bugs.webkit.org/show_bug.cgi?id=28665
66764
66765         * inspector/front-end/InjectedScript.js:
66766         (InjectedScript.evaluate):
66767
66768 2009-08-23  Pavel Feldman  <pfeldman@chromium.org>
66769
66770         Reviewed by Timothy Hatcher.
66771
66772         Inspector: REGRESSION Formatting Function in Console is Abbreviated Too Often
66773
66774         https://bugs.webkit.org/show_bug.cgi?id=28666
66775
66776         * inspector/front-end/InjectedScript.js:
66777         (InjectedScript.getProperties):
66778         (InjectedScript.createProxyObject):
66779
66780 2009-08-22  Martin Robinson  <martin.james.robinson@gmail.com>
66781
66782         Reviewed by Xan Lopez.
66783
66784         [GTK] BitmapImage::getGdkPixbuf does not handle alpha channels properly
66785         https://bugs.webkit.org/show_bug.cgi?id=28345
66786
66787         When doing the conversion between cairo_surface_t* and GdkPixbuf*
66788         account for the differences in the respective formats' in-memory
66789         image format.
66790
66791         * platform/graphics/gtk/ImageGtk.cpp:
66792         (WebCore::getCairoSurfacePixel):
66793         (WebCore::getGdkPixbufPixel):
66794         (WebCore::BitmapImage::getGdkPixbuf):
66795
66796 2009-08-22  Darin Adler  <darin@apple.com>
66797
66798         Reviewed by Oliver Hunt.
66799
66800         Make DOM classes start with a reference count of 1, like all other RefCounted
66801         
66802         Next step: Element, HTMLElement, HTMLAnchorElement, HTMLAppletElement,
66803         HTMLAreaElement, HTMLEmbedElement, HTMLFrameElement, HTMLIFrameElement,
66804         HTMLObjectElement, HTMLPlugInElement, HTMLPlugInImageElement.
66805
66806         * DerivedSources.make: Fix error seen every time we build by escaping the $
66807         in the build rule, since you have to use $$ for that in make.
66808
66809         * WebCore.base.exp: Updated.
66810
66811         * bindings/objc/DOM.mm:
66812         Added now-needed include of SVGNames.h.
66813
66814         * dom/Document.cpp: Added now-needed include of SVGNames.h.
66815         (WebCore::Document::createElement): Use create instead of new.
66816
66817         * dom/Element.cpp:
66818         (WebCore::Element::Element): Added ConstructionType argument so the caller
66819         can determine whether this starts with a reference count of either 0 or 1.
66820         Later we will remove this again once they are all 1.
66821         (WebCore::Element::create): Added.
66822
66823         * dom/Element.h: Added create and made constructor protected.
66824
66825         * dom/StyledElement.cpp:
66826         (WebCore::StyledElement::StyledElement): Added ConstructionType argument.
66827         * dom/StyledElement.h: Made many functions protected or private, including
66828         the constructor.
66829
66830         * dom/make_names.pl: Use create to create the base elements HTMLElement,
66831         SVGElement, and WMLElement.
66832
66833         * editing/CreateLinkCommand.cpp:
66834         (WebCore::CreateLinkCommand::doApply): Use create instead of new.
66835         * editing/UnlinkCommand.cpp:
66836         (WebCore::UnlinkCommand::doApply): Ditto.
66837
66838         * html/HTMLAnchorElement.cpp:
66839         (WebCore::HTMLAnchorElement::create): Added.
66840         * html/HTMLAnchorElement.h: Made constructor protected and added create.
66841         Also made m_rootEditableElementForSelectionOnMouseDown a RefPtr.
66842
66843         * html/HTMLAppletElement.cpp:
66844         (WebCore::HTMLAppletElement::create): Added.
66845         * html/HTMLAppletElement.h: Made constructor private and added create.
66846
66847         * html/HTMLAreaElement.cpp:
66848         (WebCore::HTMLAreaElement::create): Added.
66849         * html/HTMLAreaElement.h: Made constructor private and added create.
66850
66851         * html/HTMLElement.cpp:
66852         (WebCore::HTMLElement::create): Added.
66853         * html/HTMLElement.h: Made constructor protected and added create.
66854         Made other functions protected and private. Also added inline
66855         definition of constructor.
66856
66857         * html/HTMLEmbedElement.cpp:
66858         (WebCore::HTMLEmbedElement::create): Added.
66859         * html/HTMLEmbedElement.h: Made constructor private and added create.
66860         Made other functions private.
66861
66862         * html/HTMLFrameElement.cpp:
66863         (WebCore::HTMLFrameElement::create): Added.
66864         (WebCore::HTMLFrameElement::parseMappedAttribute):
66865         * html/HTMLFrameElement.h: Made constructor private and added create.
66866         Made other functions private.
66867
66868         * html/HTMLFrameElementBase.h: Made functions protected and private.
66869
66870         * html/HTMLFrameOwnerElement.cpp:
66871         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): Pass
66872         CreateElement so reference count starts at 1.
66873
66874         * html/HTMLFrameOwnerElement.h: Made functions protected and private.
66875
66876         * html/HTMLIFrameElement.cpp:
66877         (WebCore::HTMLIFrameElement::create): Added.
66878         * html/HTMLIFrameElement.h: Made constructor private and added create.
66879         Made other functions private.
66880
66881         * html/HTMLObjectElement.cpp:
66882         (WebCore::HTMLObjectElement::create): Added.
66883         (WebCore::HTMLObjectElement::containsJavaApplet): Changed while loop
66884         into a for loop and tweaked formatting.
66885
66886         * html/HTMLObjectElement.h: Made constructor private and added create.
66887         Made other functions private.
66888
66889         * html/HTMLPlugInElement.h: Made constructor protected.
66890         Made other functions protected and private.
66891
66892         * html/HTMLPlugInImageElement.h: Made constructor and another function
66893         protected.
66894
66895         * html/HTMLTagNames.in: Removed createWithNew from all classes that
66896         now have create functions. Moved conditional noscript to a separate
66897         paragraph.
66898
66899         * html/HTMLViewSourceDocument.cpp:
66900         (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Use create.
66901         (WebCore::HTMLViewSourceDocument::addLink): Ditto.
66902         * page/DragController.cpp:
66903         (WebCore::documentFragmentFromDragData): Ditto.
66904
66905         * svg/SVGElement.cpp:
66906         (WebCore::SVGElement::SVGElement): Pass CreateElementZeroRefCount
66907         so reference count still starts at 0. Will change this class later.
66908         (WebCore::SVGElement::create): Added.
66909         * svg/SVGElement.h: Added create, made constructor protected, and
66910         made other functions protected and private. Removed unneeded
66911         SVGNames.h include.
66912
66913         * svg/SVGExternalResourcesRequired.h: Added now-needed SVGNames.h
66914         include.
66915
66916         * svg/SVGStopElement.h: Added now-needed SVGNames.h include.
66917         Made functions private.
66918
66919         * wml/WMLElement.cpp:
66920         (WebCore::WMLElement::WMLElement): Pass CreateElementZeroRefCount
66921         so reference count still starts at 0. Will change this class later.
66922         (WebCore::WMLElement::create): Added.
66923         * wml/WMLElement.h: Added create and made constructor protected.
66924
66925         * wml/WMLTagNames.in: Removed createWithNew from WMLElement.
66926
66927 2009-08-22  Adele Peterson  <adele@apple.com>
66928
66929         Reviewed by Anders Carlsson.
66930
66931         Fix for <rdar://problem/7161656> Crash in RenderObject::destroy when using custom scrollbars
66932
66933         Custom scrollbars normally get detached when a document gets detached.  In this case, a crash was happening when the document had gone into the page cache 
66934         and then was getting destroyed without proper scrollbar teardown.  This change makes custom scrollbars get detached when the document enters the cache.
66935
66936         I couldn't figure out a way to reliably cause this to happen in DRT, since the reproducible case relies on the cache being purged at a particular time.
66937
66938         * history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Detach custom scrollbars when the CachedFrame is created.  
66939           They'll get reattached when the document comes out of the page cache.
66940         * page/FrameView.cpp: (WebCore::FrameView::~FrameView): Added some asserts to catch this problem earlier in debug builds.
66941
66942 2009-08-22  David Hyatt  <hyatt@apple.com>
66943
66944         Reviewed by Dan Bernstein.
66945
66946         Make sure self-collapsing blocks that clear floats are still able to collapse their bottom margins with
66947         the bottom of their parent blocks.  The old code prevented all collapsing, but all CSS2.1 states is that:
66948         "An element that has had clearance applied to it never collapses its top margin with its parent block's bottom margin."
66949         
66950         The implication is that the bottom margin can still collapse, and the block-inside-inline form of
66951         fast/block/margin-collapse/025.html (added as fast/block/margin-collapse/block-inside-inline/025.html) depends
66952         on it to get comparable results.
66953
66954         Added block-inside-inline tests (a whole slew of them) in fast/block/margin-collapse/block-inside-inline/
66955
66956         * rendering/RenderBlock.cpp:
66957         (WebCore::RenderBlock::MarginInfo::MarginInfo):
66958         (WebCore::RenderBlock::collapseMargins):
66959         (WebCore::RenderBlock::clearFloatsIfNeeded):
66960         (WebCore::RenderBlock::handleBottomOfBlock):
66961         * rendering/RenderBlock.h:
66962         (WebCore::RenderBlock::MarginInfo::clearMargin):
66963         (WebCore::RenderBlock::MarginInfo::canCollapseBottomWithChildren):
66964
66965 2009-08-22  Chris Fleizach  <cfleizach@apple.com>
66966
66967         Reviewed by Darin Adler.
66968
66969         Need to implement ARIA role="listitem" and role="list"
66970         https://bugs.webkit.org/show_bug.cgi?id=28606
66971
66972         Test: platform/mac-snowleopard/accessibility/aria-list-and-listitem.html
66973
66974         * accessibility/AXObjectCache.cpp:
66975         (WebCore::AXObjectCache::getOrCreate):
66976         * accessibility/AccessibilityList.cpp:
66977         (WebCore::AccessibilityList::isUnorderedList):
66978         * accessibility/AccessibilityRenderObject.cpp:
66979         (WebCore::RoleEntry::):
66980
66981 2009-08-21  Dan Bernstein  <mitz@apple.com>
66982
66983         Reviewed by Darin Adler.
66984
66985         Clean up fill image geometry calculation
66986         https://bugs.webkit.org/show_bug.cgi?id=28652
66987
66988         * rendering/RenderBoxModelObject.cpp:
66989         (WebCore::RenderBoxModelObject::calculateFillTileSize): Renamed
66990             calculateBackgroundSize() to this. Replaced separate scaledWidth and
66991             scaledHeight parameters with a single scaledSize parameter. Renamed
66992             parameters and local variables.
66993         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Changed
66994             to use CSS3 Backgrounds and Borders terminology in comments and
66995             local variable names. Renamed, clarified and consolidated some local
66996             variables.
66997         * rendering/RenderBoxModelObject.h: Made calculateFillTileSize() private.
66998
66999 2009-08-22  Chris Marrin  <cmarrin@apple.com>
67000
67001         Unreviewed, build fix.
67002
67003         Backing out http://trac.webkit.org/changeset/47669
67004
67005         * html/canvas/CanvasRenderingContext2D.cpp:
67006         * html/canvas/CanvasRenderingContext2D.h:
67007
67008 2009-08-22  Dimitri Glazkov  <dglazkov@chromium.org>
67009
67010         Unreviewed, build fix.
67011
67012         Backing out http://trac.webkit.org/changeset/47671 in preparation of
67013         rolling out http://trac.webkit.org/changeset/47669.
67014
67015 2009-08-22  Dimitri Glazkov  <dglazkov@chromium.org>
67016
67017         Reviewed by Anders Carlsson.
67018
67019         Build fix, add CanvasRenderingContext to build systems.
67020         https://bugs.webkit.org/show_bug.cgi?id=28018
67021
67022         * DerivedSources.make: Added CanvasRenderinContext.
67023         * GNUmakefile.am: Ditto.
67024         * WebCore.gypi: Ditto.
67025         * WebCore.pro: Ditto.
67026         * WebCore.xcodeproj/project.pbxproj: Ditto.
67027         * WebCoreSources.bkl: Ditto.
67028
67029 2009-08-21  Chris Marrin  <cmarrin@apple.com>
67030
67031         Reviewed by Oliver Hunt.
67032
67033         New files implementing GL buffer wrappers, and support to make them platform independent
67034         https://bugs.webkit.org/show_bug.cgi?id=28018
67035
67036         * html/canvas/CanvasBuffer.cpp: Added. Wrapper around GL Buffer object
67037         * html/canvas/CanvasBuffer.h: Added.
67038         * html/canvas/CanvasBuffer.idl: Added.
67039         * html/canvas/CanvasFramebuffer.cpp: Added. Wrapper around GL Framebuffer object
67040         * html/canvas/CanvasFramebuffer.h: Added.
67041         * html/canvas/CanvasFramebuffer.idl: Added.
67042         * html/canvas/CanvasObject.h: Expose m_context
67043         * html/canvas/CanvasProgram.cpp: Added. Wrapper around GL Program object
67044         * html/canvas/CanvasProgram.h: Added.
67045         * html/canvas/CanvasProgram.idl: Added.
67046         * html/canvas/CanvasRenderbuffer.cpp: Added. Wrapper around GL Renderbuffer object
67047         * html/canvas/CanvasRenderbuffer.h: Added.
67048         * html/canvas/CanvasRenderbuffer.idl: Added.
67049         * html/canvas/CanvasRenderingContext3D.cpp: Move m_objects hash table from GraphicsContext3D to here
67050         * html/canvas/CanvasRenderingContext3D.h:
67051         * html/canvas/CanvasShader.cpp: Added. Wrapper around GL Shader object
67052         * html/canvas/CanvasShader.h: Added.
67053         * html/canvas/CanvasShader.idl: Added.
67054         * html/canvas/CanvasTexture.cpp: Added. Wrapper around GL Texture object
67055         * html/canvas/CanvasTexture.h: Added.
67056         * html/canvas/CanvasTexture.idl: Added.
67057         * platform/graphics/GraphicsContext3D.cpp: Removed.
67058         * platform/graphics/GraphicsContext3D.h: Move m_objects hash table from here to CanvasRenderingContext3D
67059         * platform/graphics/mac/GraphicsContext3DMac.cpp: Implement platform dependent code for GL object creation/destruction
67060
67061 2009-08-21  Darin Adler  <darin@apple.com>
67062
67063         * WebCore.vcproj/build-generated-files.sh:
67064         * make-generated-sources.sh:
67065         Removed obsolete code to set up CREATE_HASH_TABLE.
67066
67067 2009-08-21  Adele Peterson  <adele@apple.com>
67068
67069         Reviewed by Mark Rowe.
67070
67071         <rdar://problem/7162322> Custom style sheet ignored if UAC is enabled 
67072
67073         * platform/win/SharedBufferWin.cpp: (WebCore::SharedBuffer::createWithContentsOfFile): 
67074         No need to open the file with write access.  Only read access is needed.
67075
67076 2009-08-21  Alexey Proskuryakov  <ap@apple.com>
67077
67078         Reviewed by Darin Adler.
67079
67080         <rdar://problem/7161454> Leaks seen during http/tests/xmlhttprequest/cross-origin-no-authorization.html
67081
67082         Also fixes leaks seen on appcache tests.
67083
67084         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::cancel): Work around
67085         something that's likely a CFNetwork issue. Note that on Windows, there is no matching API
67086         to call, and we do not think that the leak occurs there anyway.
67087
67088 2009-08-21  Dmitry Titov  <dimich@chromium.org>
67089
67090         Reviewed by David Levin.
67091
67092         https://bugs.webkit.org/show_bug.cgi?id=28650
67093         Remove cross-thread code from CrossOriginPreflightResultCache.
67094         Removed mutexes, atomic initializer and string copy.
67095
67096         No new tests, the worker tests cover this.
67097
67098         * loader/CrossOriginPreflightResultCache.cpp:
67099         (WebCore::addToAccessControlAllowList):
67100         (WebCore::CrossOriginPreflightResultCache::shared):
67101         (WebCore::CrossOriginPreflightResultCache::appendEntry):
67102         (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
67103         (WebCore::CrossOriginPreflightResultCache::empty):
67104         * loader/CrossOriginPreflightResultCache.h:
67105
67106 2009-08-21  Michelangelo De Simone  <micdesim@gmail.com>
67107
67108         Reviewed by Jan Alonzo.
67109
67110         Buildfix after http://trac.webkit.org/changeset/47655.
67111
67112         * html/HTMLFormControlElement.h:
67113
67114 2009-08-19  Joseph Pecoraro  <joepeck@webkit.org>
67115
67116         Reviewed by Timothy Hatcher.
67117
67118         Inspector: Improve Cookie DataGrid to Show Hidden Data
67119         https://bugs.webkit.org/show_bug.cgi?id=28269
67120
67121           Removed Custom Bindings
67122
67123         * bindings/js/JSInspectorBackendCustom.cpp:
67124         * bindings/v8/custom/V8CustomBinding.h:
67125         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
67126         * inspector/InspectorBackend.cpp:
67127
67128           Made Non-Custom Bindings in the Backend
67129
67130         (WebCore::InspectorBackend::getCookies):
67131         (WebCore::InspectorBackend::deleteCookie):
67132         * inspector/InspectorBackend.h:
67133         * inspector/InspectorBackend.idl:
67134         * inspector/InspectorController.cpp:
67135         (WebCore::InspectorController::deleteCookie):
67136         * inspector/InspectorController.h:
67137
67138           Build the Cookie ScriptObjects, handles using document.cookie in
67139           case the platform hasn't implemented raw cookie access.
67140
67141         * inspector/InspectorDOMAgent.cpp:
67142         (WebCore::InspectorDOMAgent::getCookies):
67143         (WebCore::InspectorDOMAgent::buildObjectForCookie):
67144         (WebCore::InspectorDOMAgent::buildArrayForCookies):
67145         * inspector/InspectorDOMAgent.h:
67146
67147           Complete the Asynchronous Calls
67148
67149         * inspector/InspectorFrontend.cpp:
67150         (WebCore::InspectorFrontend::didGetCookies):
67151         * inspector/InspectorFrontend.h:
67152
67153           Asynchronous Functions to get Cookie Data
67154
67155         * inspector/front-end/DOMAgent.js:
67156         (WebInspector.Cookies.getCookiesAsync):
67157         (WebInspector.Cookies.buildCookiesFromString): fallback behavior
67158
67159           Refactor to use the Asynchronous Functions
67160
67161         * inspector/front-end/CookieItemsView.js:
67162         (WebInspector.CookieItemsView):
67163         (WebInspector.CookieItemsView.prototype.get statusBarItems):
67164         (WebInspector.CookieItemsView.prototype.update.callback):
67165         (WebInspector.CookieItemsView.prototype.update):
67166         (WebInspector.CookieItemsView.prototype.simpleDataGridForCookies):
67167         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
67168
67169           Cleaned/Commented Related Code
67170
67171         (InspectorController.searchCanceled):
67172         * inspector/front-end/InjectedScript.js:
67173         * platform/Cookie.h:
67174         * English.lproj/localizedStrings.js: the new strings that were supposed to have gone in last time
67175
67176 2009-08-21  Michelangelo De Simone  <micdesim@gmail.com>
67177
67178         Reviewed by Adele Peterson.
67179
67180         https://bugs.webkit.org/show_bug.cgi?id=28145
67181         Add support for novalidate/formnovalidate attribute, from HTML5 specs:
67182         http://www.whatwg.org/specs/web-apps/current-work/#attr-fs-novalidate
67183
67184         Tests: fast/forms/formnovalidate-attribute.html
67185                fast/forms/novalidate-attribute.html
67186
67187         * html/HTMLAttributeNames.in: added novalidate, formnovalidate
67188         * html/HTMLButtonElement.idl: formnovalidate attribute exposed
67189         * html/HTMLFormControlElement.cpp:
67190         (WebCore::HTMLFormControlElement::formNoValidate): attribute getter
67191         (WebCore::HTMLFormControlElement::setFormNoValidate): attribute setter
67192         * html/HTMLFormControlElement.h:
67193         * html/HTMLFormElement.cpp:
67194         (WebCore::HTMLFormElement::novalidate): attribute getter
67195         (WebCore::HTMLFormElement::setNovalidate): attribute setter
67196         * html/HTMLFormElement.h:
67197         * html/HTMLFormElement.idl: novalidate attribute exposed
67198         * html/HTMLInputElement.idl: formNoValidate attribute exposed
67199
67200 2009-08-21  Dan Bernstein  <mitz@apple.com>
67201
67202         Reviewed by Beth Dakin.
67203
67204         Rendering changes to complete
67205         [CSS3 Backgrounds and Borders] Add support for the "contain" value for
67206         background-size
67207         https://bugs.webkit.org/show_bug.cgi?id=27573
67208         and
67209         [CSS3 Backgrounds and Borders] Add support for the "cover" value for
67210         background-size
67211         https://bugs.webkit.org/show_bug.cgi?id=27574
67212
67213         Test: fast/backgrounds/size/contain-and-cover.html
67214
67215         * rendering/RenderBoxModelObject.cpp:
67216         (WebCore::RenderBoxModelObject::calculateBackgroundSize):
67217         * rendering/RenderObject.cpp:
67218         (WebCore::mustRepaintFillLayers):
67219
67220 2009-08-21  Michelangelo De Simone  <micdesim@gmail.com>
67221
67222         Reviewed by Adele Peterson.
67223
67224         https://bugs.webkit.org/show_bug.cgi?id=27452
67225         Add support for checkValidity() method and invalid event, from HTML5
67226         specs:
67227         http://www.whatwg.org/specs/web-apps/current-work/#dom-form-checkvalidity
67228
67229         Tests: fast/events/invalid-001.html
67230                fast/events/invalid-002.html
67231                fast/events/invalid-003.html
67232                fast/events/invalid-004.html
67233                fast/events/invalid-005.html
67234                fast/forms/checkValidity-001.html
67235                fast/forms/checkValidity-002.html
67236                fast/forms/checkValidity-003.html
67237                fast/forms/checkValidity-004.html
67238
67239         * dom/Document.idl: oninvalid event handler
67240         * dom/Element.idl: ditto
67241         * dom/EventNames.h: added invalid event
67242         * dom/Node.cpp:
67243         (WebCore::Node::oninvalid): ditto
67244         (WebCore::Node::setOninvalid): ditto
67245         * dom/Node.h: ditto
67246         * html/HTMLAttributeNames.in: oninvalid attribute
67247         * html/HTMLButtonElement.idl: added checkValidity() method
67248         * html/HTMLElement.cpp:
67249         (WebCore::HTMLElement::parseMappedAttribute): parses oninvalid
67250         * html/HTMLFieldSetElement.idl: added checkValidity() method
67251         * html/HTMLFormControlElement.cpp:
67252         (WebCore::HTMLFormControlElement::checkValidity): checkValidity()
67253         implementation
67254         * html/HTMLFormControlElement.h:
67255         * html/HTMLFormElement.cpp:
67256         (WebCore::HTMLFormElement::checkValidity): checkValidity() implementation
67257         for form elements
67258         * html/HTMLFormElement.h: checkValidity() definition
67259         * html/HTMLFormElement.idl: added checkValidity() method
67260         * html/HTMLInputElement.idl: added checkValidity() method
67261         * html/HTMLSelectElement.idl: added checkValidity() method
67262         * html/HTMLTextAreaElement.idl: added checkValidity() method
67263         * page/DOMWindow.cpp:
67264         (WebCore::DOMWindow::oninvalid): oninvalid event handler
67265         (WebCore::DOMWindow::setOninvalid): ditto
67266         * page/DOMWindow.h: ditto
67267         * page/DOMWindow.idl: ditto
67268
67269 2009-08-21  Beth Dakin  <bdakin@apple.com>
67270
67271         Reviewed by Dan Bernstein.
67272
67273         The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27571 [CSS3 
67274         Backgrounds and Borders] Add support for the "round" value for 
67275         background-repeat
67276         -and-
67277         https://bugs.webkit.org/show_bug.cgi?id=27570 [CSS3 Backgrounds and 
67278         Borders] Add support for the "space" value for background-repeat
67279
67280         * css/CSSParser.cpp:
67281         (WebCore::CSSParser::parseFillProperty):
67282         * css/CSSPrimitiveValueMappings.h:
67283         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
67284         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
67285         * css/CSSValueKeywords.in:
67286         * rendering/style/FillLayer.h:
67287         * rendering/style/RenderStyleConstants.h:
67288         (WebCore::):
67289
67290 2009-08-21  Chris Marrin  <cmarrin@apple.com>
67291
67292         Reviewed by Oliver Hunt.
67293
67294         New files for Canvas 3D feature
67295         https://bugs.webkit.org/show_bug.cgi?id=28018
67296
67297         This is all the new files for implementing Canvas 3D. None of them are hooked up and
67298         are not even included in the build yet. This incorporates the reviews from Simon
67299         and Ollie for these files.
67300
67301         * bindings/js/JSCanvasNumberArrayCustom.cpp: Added. Custom JS binding to do implicit conversion from JS Array
67302         * html/CanvasObject.cpp: Added. Base class for all GL object containers
67303         * html/CanvasObject.h: Added.
67304         * html/CanvasRenderingContext.cpp: Added. Base class for CanvasRenderingContext2D and CanvasRenderingContext3D
67305         * html/CanvasRenderingContext.h: Added.
67306         * html/CanvasRenderingContext.idl: Added.
67307         * html/CanvasRenderingContext3D.cpp: Added. 3D context returned from Canvas.getContext()
67308         * html/CanvasRenderingContext3D.h: Added.
67309         * html/CanvasRenderingContext3D.idl: Added.
67310         * platform/graphics/GraphicsContext3D.cpp: Added. Platform interface between CanvasRenderingContext3D and 3D graphics engine
67311         * platform/graphics/GraphicsContext3D.h: Added.
67312         * platform/graphics/mac/Canvas3DLayer.h: Added. CALayer subclass to composite 3D canvas
67313         * platform/graphics/mac/Canvas3DLayer.mm: Added.
67314         * platform/graphics/mac/GraphicsContext3DMac.cpp: Added. Mac specific interface (OpenGL based)
67315
67316 2009-08-21  Ryosuke Niwa  <rniwa@webkit.org>
67317
67318         No Review.
67319
67320         Another Windows build fix.
67321
67322         * editing/ApplyStyleCommand.cpp:
67323         (WebCore::diffTextDecorations):
67324
67325 2009-08-21  David Hyatt  <hyatt@apple.com>
67326
67327         Reviewed by Simon Fraser.
67328
67329         https://bugs.webkit.org/show_bug.cgi?id=28625, focus rings don't respect the non-strict mode
67330         line box shrinking quirk.  Make sure outlines don't extend outside the lineTop and lineBottom
67331         of the root line box.
67332
67333         Covered by existing tests.
67334
67335         * rendering/RenderBlock.cpp:
67336         (WebCore::RenderBlock::addFocusRingRects):
67337         * rendering/RenderInline.cpp:
67338         (WebCore::RenderInline::addFocusRingRects):
67339         (WebCore::RenderInline::paintOutline):
67340
67341 2009-08-21  Ryosuke Niwa  <rniwa@webkit.org>
67342
67343         No Review.
67344
67345         Windows build fix.
67346
67347         * editing/ApplyStyleCommand.cpp:
67348         (WebCore::setTextDecorationProperty): Made it static
67349         (WebCore::diffTextDecorations): Made it static
67350
67351 2009-08-21  Ryosuke Niwa  <rniwa@webkit.org>
67352
67353         Reviewed by Eric Seidel.
67354
67355         execCommand("Underline") uses CSS even when styleWithCSS has been turned off
67356         https://bugs.webkit.org/show_bug.cgi?id=23892
67357
67358         This patch adds support for u and s in StyleChange and addInlineStyleIfNeeded so that
67359         WebKit does not use CSS to decorate texts when styleWithCSS is set to false.
67360
67361         * css/CSSValueList.cpp:
67362         (WebCore::CSSValueList::copy): Added.
67363         * css/CSSValueList.h: Added copy.
67364         * editing/ApplyStyleCommand.cpp:
67365         (WebCore::StyleChange::applyUnderline):
67366         (WebCore::StyleChange::applyLineThrough):
67367         (WebCore::StyleChange::StyleChange): Added a boolean trimTextDecorations argument.
67368         (WebCore::StyleChange::init): Ditto.
67369         (WebCore::StyleChange::extractTextStyles): Handles text decorations.
67370         (WebCore::getPropertiesNotInComputedStyle): Handles text decorations properly.
67371         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Adds u and s if needed.
67372
67373 2009-08-21  Joseph Pecoraro  <joepeck@webkit.org>
67374
67375         Reviewed by Timothy Hatcher.
67376
67377         Inspector: Rename "Databases" Panel as "Storage"
67378         https://bugs.webkit.org/show_bug.cgi?id=28620
67379
67380           Updated enum from "DatabasesPanel" to "StoragePanel" and wherever it was used.
67381
67382         * inspector/InspectorController.cpp:
67383         (WebCore::InspectorController::specialPanelForJSName): string to display StoragePanel can be either "databases" or "storage"
67384         * inspector/InspectorController.h:
67385         (WebCore::InspectorController::):
67386         * inspector/InspectorFrontend.cpp:
67387         (WebCore::InspectorFrontend::showPanel):
67388
67389           Updated All Direct Access from WebInspector.panels.databases to WebInspector.panels.storage,
67390           any DatabasesPanel constructors and appropriate function names.
67391
67392         * inspector/front-end/DOMStorageDataGrid.js:
67393         (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode):
67394         (WebInspector.DOMStorageDataGrid.prototype._startEditing):
67395         (WebInspector.DOMStorageDataGrid.prototype._editingCommitted):
67396         (WebInspector.DOMStorageDataGrid.prototype._editingCancelled):
67397         (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
67398         * inspector/front-end/DOMStorageItemsView.js:
67399         (WebInspector.DOMStorageItemsView.prototype.update):
67400         * inspector/front-end/DatabaseQueryView.js:
67401         (WebInspector.DatabaseQueryView.prototype._queryFinished):
67402         * inspector/front-end/DatabaseTableView.js:
67403         (WebInspector.DatabaseTableView.prototype._queryFinished):
67404         * inspector/front-end/inspector.js:
67405         (WebInspector._createPanels): updated string that comes from hiddenPanels to be "databases" or "storage"
67406         (WebInspector.showStoragePanel):
67407         (WebInspector.selectDatabase):
67408         (WebInspector.selectDOMStorage):
67409         (WebInspector.addDatabase):
67410         (WebInspector.addDOMStorage):
67411
67412           Renamed some files and Updated Accordingly.
67413
67414         * inspector/front-end/StoragePanel.js: Renamed from WebCore/inspector/front-end/DatabasesPanel.js.
67415         * inspector/front-end/Images/storageIcon.png: Renamed from WebCore/inspector/front-end/Images/databasesIcon.png.
67416         * inspector/front-end/WebKit.qrc: use new file names
67417         * inspector/front-end/inspector.css: use new images name and class names
67418         * inspector/front-end/inspector.html: use new file name
67419         * WebCore.gypi: use new file names
67420
67421           Miscellaneous Updates.
67422
67423         * English.lproj/localizedStrings.js: Updated Tooltip from "Databases" to "Storage"
67424
67425 2009-08-21  Maxime Simon  <simon.maxime@gmail.com>
67426
67427         Reviewed by Oliver Hunt.
67428
67429         [Haiku] Adding three font-specific files to WebCore:
67430         FontCacheHaiku.cpp, FontHaiku.cpp, and SimpleFontDataHaiku.cpp
67431         https://bugs.webkit.org/show_bug.cgi?id=28131
67432
67433         * platform/graphics/haiku/FontCacheHaiku.cpp: Added.
67434         (WebCore::FontCache::platformInit):
67435         (WebCore::FontCache::getFontDataForCharacters):
67436         (WebCore::FontCache::getSimilarFontPlatformData):
67437         (WebCore::FontCache::getLastResortFallbackFont):
67438         (WebCore::FontCache::createFontPlatformData):
67439         (WebCore::FontCache::getTraitsInFamily):
67440         * platform/graphics/haiku/FontHaiku.cpp: Added.
67441         (charUnicodeToUTF8HACK):
67442         (WebCore::Font::canReturnFallbackFontsForComplexText):
67443         (WebCore::Font::drawGlyphs):
67444         (WebCore::Font::drawComplexText):
67445         (WebCore::Font::floatWidthForComplexText):
67446         (WebCore::Font::selectionRectForComplexText):
67447         (WebCore::Font::offsetForPositionForComplexText):
67448         * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Added.
67449         (WebCore::SimpleFontData::platformInit):
67450         (WebCore::SimpleFontData::platformCharWidthInit):
67451         (WebCore::SimpleFontData::platformDestroy):
67452         (WebCore::SimpleFontData::smallCapsFontData):
67453         (WebCore::SimpleFontData::containsCharacters):
67454         (WebCore::SimpleFontData::determinePitch):
67455         (WebCore::SimpleFontData::platformWidthForGlyph):
67456
67457 2009-08-21  Philippe Beauchamp  <philippe.beauchamp@gmail.com>
67458
67459         Reviewed by Adam Roben.
67460
67461         Middle click panning icon is offset by 3 pixels
67462         https://bugs.webkit.org/show_bug.cgi?id=28611
67463
67464         * platform/ScrollView.cpp:
67465         panIconSizeLength initialized to 20 instead of 16 to match icon dimension (2 pixels offset)
67466         * platform/win/CursorWin.cpp:
67467         (WebCore::middlePanningCursor):
67468         Hotspot initialized to (8,8) instead of (7,7) (one pixel offset)
67469         
67470 2009-08-21  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
67471
67472         Reviewed by Eric Seidel.
67473
67474         [Qt] Remove inspector resources for Symbian
67475         https://bugs.webkit.org/show_bug.cgi?id=28610
67476
67477         Based on an idea from Simon Hausmann.
67478
67479         * WebCore.pro:
67480
67481 2009-08-21  Joseph Pecoraro  <joepeck@webkit.org>
67482
67483         Reviewed by Eric Seidel.
67484
67485         Inspector: Remove Unused Variable
67486         https://bugs.webkit.org/show_bug.cgi?id=28616
67487
67488         * inspector/front-end/Resource.js:
67489         (WebInspector.Resource.prototype._checkWarning):
67490
67491 2009-08-21  Joseph Pecoraro  <joepeck@webkit.org>
67492
67493         Reviewed by Timothy Hatcher.
67494
67495         Inspector: Console Array Formatter Shows Extra Properties
67496         https://bugs.webkit.org/show_bug.cgi?id=28615
67497
67498         * inspector/front-end/ConsoleView.js:
67499         (WebInspector.ConsoleView.prototype._formatarray): do not ignore hasOwnProperties
67500
67501 2009-08-21  Beth Dakin  <bdakin@apple.com>
67502
67503         Reviewed by Dan Bernstein.
67504
67505         The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27574 [CSS3 
67506         Backgrounds and Borders] Add support for the "contain" value for 
67507         background-size
67508         -and-
67509         https://bugs.webkit.org/show_bug.cgi?id=27573 [CSS3 Backgrounds and 
67510         Borders] Add support for the "cover" value for background-size
67511
67512         Return contain or cover when appropriate, and otherwise do what we 
67513         used to do.
67514         * css/CSSComputedStyleDeclaration.cpp:
67515         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
67516
67517         Accept contain and cover as valid values for background-size.
67518         * css/CSSParser.cpp:
67519         (WebCore::CSSParser::parseFillProperty):
67520
67521         Handle setting the size and the sizeLength if appropriate.
67522         * css/CSSStyleSelector.cpp:
67523         (WebCore::CSSStyleSelector::mapFillSize):
67524
67525         Added new keywords contain and cover.
67526         * css/CSSValueKeywords.in:
67527
67528         Use just sizeLength instead of size to match old behavior.
67529         * page/animation/AnimationBase.cpp:
67530         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
67531         * rendering/RenderBoxModelObject.cpp:
67532         (WebCore::RenderBoxModelObject::calculateBackgroundSize):
67533         * rendering/RenderObject.cpp:
67534         (WebCore::mustRepaintFillLayers):
67535
67536         The variable m_sizeType is an EBackgroundSize, and m_sizeLength is 
67537         a LengthSize (the equivalent of what m_size used to be). I got rid 
67538         of m_sizeSet and made isSizeSet() dynamic. I also defined a new 
67539         struct, FillSize that can be used to set or get m_size and 
67540         m_sizeLength both at once. 
67541         * rendering/style/FillLayer.cpp:
67542         (WebCore::FillLayer::FillLayer):
67543         (WebCore::FillLayer::operator=):
67544         (WebCore::FillLayer::operator==):
67545         (WebCore::FillLayer::fillUnsetProperties):
67546         * rendering/style/FillLayer.h:
67547         (WebCore::FillSize::FillSize):
67548         (WebCore::FillSize::operator==):
67549         (WebCore::FillSize::operator!=):
67550         (WebCore::FillLayer::sizeLength):
67551         (WebCore::FillLayer::size):
67552         (WebCore::FillLayer::isSizeSet):
67553         (WebCore::FillLayer::setSizeType):
67554         (WebCore::FillLayer::setSizeLength):
67555         (WebCore::FillLayer::setSize):
67556         (WebCore::FillLayer::clearSize):
67557         (WebCore::FillLayer::initialFillSizeType):
67558         (WebCore::FillLayer::initialFillSizeLength):
67559         (WebCore::FillLayer::initialFillSize):
67560
67561         This is all boiler-plate stuff to adjust to the new size() vs. 
67562         sizeType() vs. sizeLength() distinction.
67563         * rendering/style/RenderStyle.h:
67564         (WebCore::InheritedFlags::backgroundSizeType):
67565         (WebCore::InheritedFlags::backgroundSizeLength):
67566         (WebCore::InheritedFlags::maskSize):
67567         (WebCore::InheritedFlags::setBackgroundSize):
67568         (WebCore::InheritedFlags::setBackgroundSizeLength):
67569         (WebCore::InheritedFlags::setMaskSize):
67570
67571         Definition for EBackgroundSizeType.
67572         * rendering/style/RenderStyleConstants.h:
67573         (WebCore::):
67574
67575 2009-08-21  Ariya Hidayat  <ariya.hidayat@nokia.com>
67576
67577         Not reviewed, build fix after r47580.
67578
67579         [Qt] Adjust the files.
67580
67581         * inspector/front-end/WebKit.qrc:
67582
67583 2009-08-20  Chris Fleizach  <cfleizach@apple.com>
67584
67585         Reviewed by Darin Adler.
67586
67587         Enable various "grouping" ARIA roles
67588         https://bugs.webkit.org/show_bug.cgi?id=28486
67589
67590         Test: platform/mac/accessibility/aria-grouping-roles.html
67591
67592         * accessibility/AccessibilityObject.h:
67593         * accessibility/AccessibilityRenderObject.cpp:
67594         * accessibility/mac/AccessibilityObjectWrapper.mm:
67595         * page/mac/WebCoreViewFactory.h:
67596         * platform/LocalizedStrings.h:
67597         * platform/mac/LocalizedStringsMac.mm:
67598
67599 2009-08-20  David Levin  <levin@chromium.org>
67600
67601         Unreviewed trivial comment fix.
67602
67603         Update a bug link in a comment due to bugzilla amnesia.
67604
67605         * loader/CachedResource.cpp:
67606         (WebCore::CachedResource::setResourceToRevalidate):
67607
67608 2009-08-20  Albert J. Wong  <ajwong@chromium.org>
67609
67610         Reviewed by David Levin.
67611
67612         HTML5 media elements do not fire waiting events correctly
67613         https://bugs.webkit.org/show_bug.cgi?id=28335
67614
67615         Fire the waiting event before seeking, and fix a case where firing of
67616         the seeked event is missed when the ready state is changed during
67617         a seek.
67618
67619         Added video-waiting-seeking.html into manual tests because not
67620         all platforms allow seeking into non-buffered ranges.
67621
67622         * html/HTMLMediaElement.cpp:
67623         (WebCore::HTMLMediaElement::setReadyState): add support for
67624         waiting event when seeking.
67625         (WebCore::HTMLMediaElement::finishSeek): send seeked event
67626         whenever seeking finishes.
67627         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): dispatch to
67628         new function.
67629         * html/HTMLMediaElement.h:
67630         * manual-tests/video-waiting-seeking.html: Added.
67631
67632 2009-08-20  Dan Bernstein  <mitz@apple.com>
67633
67634         Reviewed by John Sullivan.
67635
67636         Fix more cases of
67637         <rdar://problem/7154521> Lots of "<Error>: doClip: empty path." spew in
67638         the console with certain content
67639
67640         If the border box is empty, simply avoid painting instead of trying to
67641         clip to the empty path.
67642
67643         * rendering/RenderBoxModelObject.cpp:
67644         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
67645         * rendering/RenderReplaced.cpp:
67646         (WebCore::RenderReplaced::paint):
67647         * rendering/RenderWidget.cpp:
67648         (WebCore::RenderWidget::paint):
67649
67650 2009-08-20  Jeremy Orlow  <jorlow@chromium.org>
67651
67652         Build fix.  Forgot a svn add for a patch I landed.  :-(
67653
67654         * storage/SQLTransactionClient.cpp: Added.
67655         (WebCore::SQLTransactionClient::didCommitTransaction):
67656         (WebCore::SQLTransactionClient::didExecuteStatement):
67657         (WebCore::SQLTransactionClient::didExceedQuota):
67658         * storage/SQLTransactionClient.h: Added.
67659
67660 2009-08-20  Dumitru Daniliuc  <dumi@chromium.org>
67661
67662         Reviewed by Dimitri Glazkov.
67663
67664         Added a client to SQLTransaction. In addition to being a place to
67665         get notifications about certain events in a transaction, it is
67666         also an abstraction layer that allows us to plug in different
67667         implementations for each port for how transactions interract with
67668         the main DB. For example, WebCore's default implementation will
67669         make direct calls to DatabaseTracker's methods. At the same time,
67670         Chromium's implementation will send IPCs to the browser process
67671         whenever a transaction needs something from the main DB.
67672
67673         All storage tests pass.
67674
67675         https://bugs.webkit.org/show_bug.cgi?id=27967
67676
67677         * GNUmakefile.am:
67678         * WebCore.gypi:
67679         * WebCore.pro:
67680         * WebCore.vcproj/WebCore.vcproj:
67681         * WebCore.xcodeproj/project.pbxproj:
67682         * WebCoreSources.bkl:
67683         * storage/Database.cpp:
67684         (WebCore::Database::transactionClient):
67685         * storage/Database.h:
67686         * storage/DatabaseThread.cpp:
67687         (WebCore::DatabaseThread::DatabaseThread):
67688         * storage/DatabaseThread.h:
67689         (WebCore::DatabaseThread::transactionClient):
67690         * storage/SQLTransaction.cpp:
67691         (WebCore::SQLTransaction::runCurrentStatement):
67692         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
67693         (WebCore::SQLTransaction::postflightAndCommit):
67694         * storage/SQLTransactionClient.cpp: Added.
67695         * storage/SQLTransactionClient.h: Added.
67696
67697 2009-08-20  Brian Weinstein  <bweinstein@apple.com>
67698
67699         Reviewed by Steve Falkenburg.
67700
67701         Fix of <https://bugs.webkit.org/show_bug.cgi?id=24793>
67702         Auto scroll speed is faster than in IE, Firefox.
67703         
67704         Changed pan scrolling speed to match Firefox's algorithm.
67705
67706         * rendering/RenderLayer.cpp:
67707         (WebCore::adjustedScrollDelta):
67708         (WebCore::RenderLayer::panScrollFromPoint):
67709
67710 2009-08-20  Stephen White  <senorblanco@chromium.org>
67711
67712         Reviewed by Eric Seidel.
67713
67714         Fix for assert in Chromium page cycler:  drawRect() was re-using
67715         an SkPaint, but not resetting it before calling
67716         PlatformGraphicsSkia::setupPaintForFilling() a second time.  This
67717         CL fixes drawRect(), and re-enables the assert.
67718         http://bugs.webkit.org/show_bug.cgi?id=28172
67719         http://crbug.com/19797
67720
67721         Covered by Chromium page cycler tests.
67722
67723         * platform/graphics/skia/PlatformContextSkia.cpp:
67724         (PlatformContextSkia::drawRect):
67725         (PlatformContextSkia::setupPaintCommon):
67726
67727 2009-08-20  Anders Carlsson  <andersca@apple.com>
67728
67729         Reviewed by Dan Bernstein.
67730
67731         <rdar://problem/7159016> Popup menus don't disappear when you click outside the window.
67732         
67733         Revert r47535 which introduced this.
67734         
67735         * platform/win/PopupMenuWin.cpp:
67736         (WebCore::PopupMenu::show):
67737         (WebCore::PopupWndProc):
67738
67739 2009-08-20  David Levin  <levin@chromium.org>
67740
67741         Reviewed by Alexey Proskuryakov.
67742
67743         Crashes on sites with lots of images
67744         https://bugs.webkit.org/show_bug.cgi?id=28473
67745
67746         The problem is that m_resourceToRevalidate::m_isBeingRevalidated is false while
67747         CachedResource is still referring to it, so it may get deleted before
67748         Cache::revalidationSucceeded calls CachedResource::clearResourceToRevalidate.
67749
67750         * loader/Cache.cpp:
67751         (WebCore::Cache::revalidateResource): Added assert to verify the resource
67752         being revalidated is physically in the cache.
67753         (WebCore::Cache::revalidationSucceeded): Changed to do one call to switch from the revalidating
67754         resource to the revalidated resource.  This allows for proper lifetime management of the
67755         revalidated resource. Added assert to verify that the revalidatingResource is in the cache.
67756         (WebCore::Cache::pruneDeadResources): Don't remove items from the cache that are in the
67757         process of being validated (or else they can get added twice: Once through the normal mechanism
67758         and then again during revalidateResource).
67759
67760         * loader/CachedResource.cpp:
67761         (WebCore::CachedResource::CachedResource):
67762         (WebCore::CachedResource::isSafeToMakePurgeable):
67763         Changed m_isBeingRevalidated to m_proxyResource to allow finding out
67764         who the validating resource (or proxy) is.
67765
67766         (WebCore::CachedResource::~CachedResource): Removed code to handle m_resourceToRevalidate
67767         being non-zero because this shouldn't be possible due to checks in canDelete. Added asserts
67768         as well.
67769         (WebCore::CachedResource::setResourceToRevalidate): Adjusted for the change to m_proxyResource
67770         and added a comment about the assert.
67771         (WebCore::CachedResource::clearResourceToRevalidate):
67772         Only clean up the resourceToRevalidate if it hasn't gotten a new proxy resource.
67773         * loader/CachedResource.h:
67774         (WebCore::CachedResource::setInCache): Don't clear m_proxyResource because the resource
67775         is still being referred to by it and the code it robust to this being switched to a new proxy
67776         resource without it being cleared first.
67777         (WebCore::CachedResource::canDelete): Changed m_isBeingRevalidated to m_proxyResource.
67778
67779 2009-08-20  Xiaomei Ji  <xji@chromium.org>
67780
67781         Reviewed by Eric Seidel.
67782
67783         Fix "Chromium RTL autocomplete popup is not layout correctly".
67784         https://bugs.webkit.org/show_bug.cgi?id=27889
67785
67786         The complete fix of the issue consists 2 parts: the patch in webkit
67787         and the patch in Chromium's own code.
67788
67789         This webkit patch only affects Chromium autofill. It
67790         1. introduces a new flag in WebCore::PopupContainerSettings to
67791            distinguish whether the width of the drop-down should be restricted
67792            or not.
67793            For autofill, the width of the drop-down is restricted to
67794            be the same as that of the input field (the new flag is set in
67795            Chromium's own code). But width is not restricted for <select> (same as before).
67796         2. introduce a new flag in WebCore::PopContainerSettings to
67797            indicate what heuristics to use when displaying text in drop-down menu.
67798            For autofill, use drop-down item's directionality to display drop-down items.
67799            Previously, drop-down item is displayed in the its first strong
67800            directional character's directionality.
67801            (drop-down item's directionality is set in Chromium's own code.
67802            It is set the same as the directionality of the element. 
67803            For autofill, it is the same directionality as that of the input field.)
67804            For <select>, still use the text's first strong directional character's
67805            directionality to display the text.
67806
67807
67808         Since the patch only affects the chromium client, not webcore part or
67809         other clients. No automatic tests is possible.
67810
67811         * manual-tests/autofill-popup-width-and-item-direction.html: Added.
67812         * platform/chromium/PopupMenuChromium.cpp:
67813         (WebCore::):
67814         (WebCore::PopupListBox::paintRow): If list box width is restricted and 
67815         an item is longer to fit in a list box, truncate it and draw part of the text and append ellipses.
67816         (WebCore::PopupListBox::layout): Restrict width of list box if applicable.
67817         * platform/chromium/PopupMenuChromium.h: 
67818         (WebCore::PopupItem::PopupItem): style change.
67819         (WebCore::PopupContainerSettings::): Add 2 new flags in PopupContainerSetting to 
67820         distinguish whether to restrict width of list box and 
67821         in what directionality to display the text in drop-down.
67822
67823 2009-08-20  Brian Weinstein  <bweinstein@apple.com>
67824
67825         Reviewed by Adele Peterson.
67826
67827         Fix of <https://bugs.webkit.org/show_bug.cgi?id=28504>. 
67828         Pan Scrolling can scroll while showing the middlePanScroll icon.
67829         
67830         Fixed an off by one error between RenderLayer::panScrollFromPoint and EventHandler::updatePanScrollState. 
67831         In RenderLayer::panScrollFromPoint, we were setting the icon to be an arrow if the difference between the start
67832         of the pan scroll and the current mouseposition is > 15. However, in EventHandler::updatePanScrollState, we would
67833         set our amount to scroll to 0 only if the difference in mouse position is < 15. I made this check a <= 15, to fix
67834         the off by one error.
67835
67836         * rendering/RenderLayer.cpp:
67837         (WebCore::RenderLayer::panScrollFromPoint):
67838
67839 2009-08-20  David Hyatt  <hyatt@apple.com>
67840
67841         Reviewed by Dan Bernstein.
67842
67843         Pull the code in layoutBlockChildren for handling a normal flow block child into a helper method,
67844         layoutBlockChild.
67845
67846         * rendering/RenderBlock.cpp:
67847         (WebCore::RenderBlock::layoutBlockChildren):
67848         (WebCore::RenderBlock::layoutBlockChild):
67849         * rendering/RenderBlock.h:
67850
67851 2009-08-20  Brian Weinstein  <bweinstein@apple.com>
67852
67853         Reviewed by Adam Roben.
67854
67855         Made subframeForHitTargetNode a public static method, so WebView can call it
67856         during hit testing.
67857
67858         * page/EventHandler.cpp:
67859         (WebCore::subframeForHitTestResult):
67860         (WebCore::EventHandler::subframeForTargetNode):
67861         * page/EventHandler.h:
67862
67863 2009-08-20  Brent Fulgham  <bfulgham@webkit.org>
67864
67865         Rubberstamped by Kevin Ollivier.
67866
67867         Check for null bundle before attempting to use it.
67868
67869         * platform/network/curl/ResourceHandleManager.cpp:
67870         (WebCore::certificatePath): Add null check on return of
67871           CFBundleGetBundleWithIdentifier.
67872
67873 2009-08-20  David Hyatt  <hyatt@apple.com>
67874
67875         Reviewed by Dan Bernstein.
67876
67877         https://bugs.webkit.org/show_bug.cgi?id=28497, images and inline replaced elements don't propagate overflow properly on a line.
67878
67879         Added fast/repaint/inline-block-overflow.html and updated another test.
67880
67881         * rendering/InlineFlowBox.cpp:
67882         (WebCore::InlineFlowBox::placeBoxesHorizontally):
67883         (WebCore::InlineFlowBox::computeVerticalOverflow):
67884         Make sure to still propagate the border box of the replaced element as layout overflow when overflow clip is set on the
67885         replaced element.  Make sure to use the InlineBox x/y positions instead of the RenderBox x/y, since the position of the
67886         RenderBox has not been updated to the new values yet.
67887         
67888         * rendering/RenderLineBoxList.cpp:
67889         (WebCore::RenderLineBoxList::paint):
67890         Don't use the root line box's overflow.  Use the actual line box overflow values instead.  In the case of an inline
67891         with a layer, our overflow didn't propagate to the root line, so we always need to use our values.
67892
67893         * rendering/RenderPartObject.cpp:
67894         (WebCore::RenderPartObject::layout):
67895         * rendering/RenderReplaced.cpp:
67896         (WebCore::RenderReplaced::layout):
67897         Make sure to clear shadow overflow when doing layout of replaced elements, so that we don't leave a stale overflow
67898         value around if a box-shadow goes away.
67899
67900 2009-08-20  Dmitry Titov  <dimich@chromium.org>
67901
67902         Another attempt to fix Chromium build.
67903
67904         * WebCore.gypi: now use the correct name of the image file.
67905
67906 2009-08-20  Dan Bernstein  <mitz@apple.com>
67907
67908         Make the Windows build even fixeder
67909
67910         * platform/graphics/win/GraphicsContextCGWin.cpp:
67911         (WebCore::GraphicsContextPlatformPrivate::flush):
67912
67913 2009-08-20  Dmitry Titov  <dimich@chromium.org>
67914
67915         Not reviewed, Chromium build fix.
67916
67917         * WebCore.gypi: add new Webinspector image files (localStorage.png and sessionStorage.png)
67918
67919 2009-08-20  Dan Bernstein  <mitz@apple.com>
67920
67921         Windows build fix after the last change
67922
67923         * platform/graphics/win/GraphicsContextCGWin.cpp:
67924         (WebCore::GraphicsContext::GraphicsContext):
67925         (WebCore::GraphicsContext::releaseWindowsContext):
67926         (WebCore::GraphicsContext::drawWindowsBitmap):
67927
67928 2009-08-20  Dan Bernstein  <mitz@apple.com>
67929
67930         Reviewed by Geoffrey Garen.
67931
67932         Replace many manually-released CFTypeRefs with RetainPtrs
67933         https://bugs.webkit.org/show_bug.cgi?id=28498
67934
67935         * platform/graphics/cg/ColorCG.cpp:
67936         (WebCore::createCGColor):
67937         * platform/graphics/cg/GradientCG.cpp:
67938         (WebCore::Gradient::platformGradient):
67939         * platform/graphics/cg/GraphicsContextCG.cpp:
67940         (WebCore::GraphicsContext::platformContext):
67941         (WebCore::GraphicsContext::applyStrokePattern):
67942         (WebCore::GraphicsContext::applyFillPattern):
67943         (WebCore::GraphicsContext::setPlatformShadow):
67944         (WebCore::GraphicsContext::setURLForRect):
67945         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
67946         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
67947         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
67948         * platform/graphics/cg/ImageBufferCG.cpp:
67949         (WebCore::ImageBuffer::ImageBuffer):
67950         * platform/graphics/cg/ImageCG.cpp:
67951         (WebCore::BitmapImage::checkForSolidColor):
67952         (WebCore::Image::drawPattern):
67953         * platform/graphics/cg/ImageSourceCG.cpp:
67954         (WebCore::ImageSource::setData):
67955         (WebCore::ImageSource::isSizeAvailable):
67956         (WebCore::ImageSource::frameSizeAtIndex):
67957         (WebCore::ImageSource::repetitionCount):
67958         (WebCore::ImageSource::createFrameAtIndex):
67959         (WebCore::ImageSource::frameDurationAtIndex):
67960         * platform/graphics/cg/PDFDocumentImage.cpp:
67961         (WebCore::PDFDocumentImage::dataChanged):
67962         * platform/graphics/cg/PathCG.cpp:
67963         (WebCore::createScratchContext):
67964         (WebCore::Path::contains):
67965         * platform/graphics/mac/FontCustomPlatformData.cpp:
67966         (WebCore::createFontCustomPlatformData):
67967         * platform/graphics/mac/GraphicsContextMac.mm:
67968         (WebCore::GraphicsContext::drawFocusRing):
67969         * platform/graphics/mac/ImageMac.mm:
67970         (WebCore::BitmapImage::getTIFFRepresentation):
67971         * platform/mac/ClipboardMac.mm:
67972         (WebCore::cocoaTypeFromMIMEType):
67973         (WebCore::MIMETypeFromCocoaType):
67974         * platform/mac/WebCoreNSStringExtras.mm:
67975         (stringEncodingForResource):
67976         * platform/network/mac/FormDataStreamMac.mm:
67977         (WebCore::advanceCurrentStream):
67978         (WebCore::setHTTPBody):
67979         * platform/text/mac/TextCodecMac.cpp:
67980         (WebCore::TextCodecMac::encode):
67981
67982 2009-08-20  Shinichiro Hamaji  <hamaji@chromium.org>
67983
67984         Reviewed by Eric Seidel.
67985
67986         Output actual values of counters in showTree
67987         https://bugs.webkit.org/show_bug.cgi?id=28481
67988
67989         No new tests because this patch just improves debugging outputs.
67990
67991         * rendering/CounterNode.cpp:
67992         (WebCore::showTreeAndMark):
67993
67994 2009-08-20  Eric Carlson  <eric.carlson@apple.com>
67995
67996         Reviewed by NOBODY (build fix).
67997
67998         Add file missed in last check-in.
67999
68000         * html/HTMLAttributeNames.in:
68001
68002 2009-08-19  Timothy Hatcher  <timothy@apple.com>
68003
68004         Adds new icons to the Web Inspector for Local Storage,
68005         Session Storage and Cookies.
68006
68007         https://bugs.webkit.org/show_bug.cgi?id=28470
68008
68009         Reviewed by Eric Seidel.
68010
68011         * inspector/front-end/DatabasesPanel.js:
68012         (WebInspector.DatabasesPanel.prototype.addDOMStorage):
68013         (WebInspector.DOMStorageSidebarTreeElement):
68014         * inspector/front-end/Images/cookie.png:
68015         * inspector/front-end/Images/domStorage.png: Removed.
68016         * inspector/front-end/Images/localStorage.png: Added.
68017         * inspector/front-end/Images/sessionStorage.png: Added.
68018         * inspector/front-end/inspector.css:
68019
68020 2009-08-20  Eric Carlson  <eric.carlson@apple.com>
68021
68022         Reviewed by Anders Carlsson.
68023
68024         HTML5 media elements must fire 'loadend' progress event
68025         https://bugs.webkit.org/show_bug.cgi?id=28419
68026
68027         * dom/EventNames.h:
68028             Define loadend.
68029
68030         * html/HTMLMediaElement.cpp:
68031         (WebCore::HTMLMediaElement::parseMappedAttribute):
68032             Deal with onloadend.
68033         (WebCore::HTMLMediaElement::loadInternal):
68034             Post 'loadend' immediately after 'abort'.
68035         (WebCore::HTMLMediaElement::noneSupported):
68036             Post 'loadend' immediately after 'error'.
68037         (WebCore::HTMLMediaElement::mediaEngineError):
68038             Ditto.
68039         (WebCore::HTMLMediaElement::setNetworkState):
68040             Post 'loadend' immediately after 'load'.
68041         (WebCore::HTMLMediaElement::userCancelledLoad):
68042             Post 'loadend' immediately after 'abort'.
68043
68044 2009-08-20  Ryosuke Niwa  <rniwa@webkit.org>
68045
68046         Reviewed by Darin Adler.
68047
68048         REGESSION(r45316), Crash: WebKit crashes in Google Sites when indenting a table
68049         https://bugs.webkit.org/show_bug.cgi?id=28474
68050
68051         This patch fixes a crash when indenting at right after a table.
68052         The bug was caused by Node* blockNode = enclosingBlock(endOfCurrentParagraph.deepEquivalent().node());
68053         where node() is equal to blockNode. Because blockNode is the enclosing block node, this patch changes it to
68054         enclosingBlock(endOfCurrentParagraph.deepEquivalent().node()->parentNode());
68055
68056         Test: editing/execCommand/indent-right-after-table.html
68057
68058         * editing/IndentOutdentCommand.cpp:
68059         (WebCore::IndentOutdentCommand::indentRegion): Fixed so that blockNode != endOfCurrentParagraph.deepEquivalent().node()
68060
68061 2009-08-20  Andrew Scherkus  <scherkus@chromium.org>
68062
68063         Reviewed by David Levin.
68064
68065         Render disabled mute button during an error or if no audio is present.
68066
68067         https://bugs.webkit.org/show_bug.cgi?id=28475
68068
68069         Covered by existing layout tests:
68070         media/video-controls-visible-audio-only.html
68071         media/video-no-audio.html
68072
68073         * rendering/RenderThemeChromiumSkia.cpp:
68074         (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
68075
68076 2009-08-20  Dan Bernstein  <mitz@apple.com>
68077
68078         Reviewed by Darin Adler.
68079
68080         <rdar://problem/7154605> Loading page with 1px wide <select> makes the
68081         toolbar go blank
68082         and
68083         <rdar://problem/7154521> Lots of "<Error>: doClip: empty path." spew in
68084         the console with certain content
68085
68086         * rendering/RenderThemeMac.mm:
68087         (WebCore::RenderThemeMac::paintMenuListButtonGradients): Return early
68088         if the rectangle is empty. Use RenderStyle::getBorderRadiiForRect() to
68089         adjust the radii in case the sides of the rectangle are smaller than sum
68090         of the radii, so that the gradient background matches the border (which
68091         already uses getBorderRadiiForRect()). Check if bottomGradient is empty
68092         to avoid clipping to an empty path.
68093         (WebCore::RenderThemeMac::paintMenuListButton): Moved a
68094         GraphicContext::save() down to avoid a save/restore imbalance in the
68095         early return case.
68096
68097         * rendering/RenderThemeSafari.cpp: Made the same changes.
68098         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
68099         (WebCore::RenderThemeSafari::paintMenuListButton):
68100
68101 2009-08-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
68102
68103         Reviewed by Gustavo Noronha.
68104
68105         [Gtk][REGRESSION] XHR test failures after r45558
68106         https://bugs.webkit.org/show_bug.cgi?id=27143
68107
68108         Disable sniffing if it's explicitly requested. Updated patch
68109         originally by Gustavo Noronha.
68110
68111         * platform/network/soup/ResourceHandleSoup.cpp:
68112         (WebCore::statusWillBeHandledBySoup):
68113         (WebCore::gotHeadersCallback):
68114         (WebCore::contentSniffedCallback):
68115         (WebCore::gotChunkCallback):
68116         (WebCore::startHttp):
68117
68118 2009-08-20  Ariya Hidayat  <ariya.hidayat@nokia.com>
68119
68120         Reviewed by Simon Hausmann.
68121
68122         [Qt] Swap the pixels since QImage expect ARGB while ImageData
68123         stores them as RGBA.
68124
68125         This fixes the fast/canvas/canvas-copyPixels.html test.
68126
68127         * platform/graphics/qt/ImageBufferQt.cpp:
68128         (WebCore::putImageData):
68129
68130 2009-08-20  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
68131
68132         Reviewed by David Levin.
68133
68134         [v8] Use atomic string caching for createElement
68135         Extend atomic string caching to createElement.  Fix a bug in idl
68136         parser that caused incorrect parsing if a function argument
68137         attribute list contained a comma.
68138         https://bugs.webkit.org/show_bug.cgi?id=28449
68139
68140         * bindings/scripts/CodeGeneratorV8.pm:
68141         * bindings/scripts/IDLParser.pm:
68142         * bindings/v8/V8Binding.h:
68143         (WebCore::v8ValueToAtomicWebCoreStringWithNullCheck):
68144         * dom/Document.idl:
68145
68146 2009-08-20  Ariya Hidayat  <ariya.hidayat@nokia.com>
68147
68148         Not reviewed, build fix after r47515.
68149
68150         [Qt] There is no Phonon::MediaObject::hasAudio() function.
68151
68152         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
68153         (WebCore::MediaPlayerPrivate::hasAudio): Assume true.
68154
68155 2009-08-20  Darin Fisher  <darin@chromium.org>
68156
68157         Reviewed by Eric Seidel.
68158
68159         https://bugs.webkit.org/show_bug.cgi?id=28483
68160         The V8 ScriptController's cleanupScriptObjectsForPlugin should take a
68161         Widget* instead of void* to avoid the need for manual casting to Widget*
68162         at the callsite.
68163
68164         * bindings/v8/ScriptController.cpp:
68165         (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
68166         * bindings/v8/ScriptController.h:
68167
68168 2009-08-19  David Levin  <levin@chromium.org>
68169
68170         Unreviewed speculative build fix for qt.
68171
68172         * page/OriginAccessEntry.cpp:
68173
68174 2009-08-19  Aaron Boodman  <aa@chromium.org>
68175
68176         Reviewed by David Levin.
68177
68178         https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
68179         specify a more granular policy for cross-origin XHR access.
68180
68181         Tests: http/tests/xmlhttprequest/origin-whitelisting-all.html
68182                http/tests/xmlhttprequest/origin-whitelisting-exact-match.html
68183                http/tests/xmlhttprequest/origin-whitelisting-https.html
68184                http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains.html
68185                http/tests/xmlhttprequest/origin-whitelisting-ip-addresses.html
68186                http/tests/xmlhttprequest/origin-whitelisting-subdomains.html
68187
68188         * WebCore.base.exp: Export methods to manipulate origin access whitelists to enable
68189         testing via layout tests.
68190
68191         * WebCore.xcodeproj/project.pbxproj: Add OriginAccessEntry.*
68192         * GNUmakefile.am: Ditto.
68193         * WebCore.gypi: Ditto.
68194         * WebCore.pro: Ditto.
68195         * WebCore.vcproj/WebCore.vcproj: Ditto.
68196         * WebCoreSources.blk: Ditto.
68197
68198         * page/SecurityOrigin.h: Implement origin access whitelists.
68199         (WebCore::originAccessMap): Static getter for access whitelists.
68200         (WebCore::SecurityOrigin::canRequest): Modify request checking logic to check whitelists.
68201         (WebCore::SecurityOrigin::whiteListAccessFromOrigin): Add an entry to a whitelist.
68202         (WebCore::SecurityOrigin::resetOriginAccessWhiteLists): Clear all the whitelists.
68203
68204         * page/OriginAccessEntry.h: Added. An entry in an origin access whitelist.
68205         * page/OriginAccessEntry.cpp: Ditto.
68206
68207 2009-08-19  Kevin Ollivier  <kevino@theolliviers.com>
68208
68209         Non-precomp headers build fix.
68210
68211         * platform/image-decoders/ImageDecoder.cpp:
68212
68213 2009-08-19  Jeremy Orlow  <jorlow@chromium.org>
68214
68215         Reviewed by Darin Fisher.
68216
68217         Disable a bad SKIA assert
68218         https://bugs.webkit.org/show_bug.cgi?id=28482
68219
68220         In http://trac.webkit.org/changeset/47386/ an assert was "fixed" in SKIA code. 
68221         When this was pulled into Chromium, it started breaking the page cycler. 
68222         Disable it again until we can figure out what's going on.
68223
68224         * platform/graphics/skia/PlatformContextSkia.cpp:
68225         (PlatformContextSkia::setupPaintCommon):
68226
68227 2009-08-19  Ryosuke Niwa  <rniwa@webkit.org>
68228
68229         Reviewed by Darin Adler.
68230
68231         queryCommandState('underline') returns false if the selected text is also bold and italic
68232         https://bugs.webkit.org/show_bug.cgi?id=11022
68233
68234         This patch modifies stateStrikethrough and stateUnderline to use the value -webkit-text-decorations-in-effect
68235         instead of text-decoration.  Because text-decoration only retrieves explicit styling at the node on which
68236         the query was sent, we need to use -webkit-text-decorations-in-effect to include decorations added by ancestors
68237         and also u, s, and strike tags.
68238
68239         Test: editing/style/text-decoration-state.html
68240
68241         * editing/EditorCommand.cpp:
68242         (WebCore::stateStrikethrough): Use -webkit-test-decorations-in-effect instead of text-decoration.
68243         (WebCore::stateUnderline): Ditto.
68244
68245 2009-08-19  Anders Carlsson  <andersca@apple.com>
68246
68247         Reviewed by Darin Adler.
68248
68249         - Fix <rdar://problem/7155710>
68250         HTML selects on windows cause containing window to become inactive when opened.
68251
68252         * platform/win/PopupMenuWin.cpp:
68253         (WebCore::PopupMenu::show):
68254         Pass SWP_NOACTIVATE to SetWindowPos, remove AW_ACTIVATE from AnimateWindow and pass
68255         SW_SHOWNOACTIVATE to ShowWindow.
68256         
68257         (WebCore::PopupWndProc):
68258         Prevent mouse activation from activating the window.
68259
68260 2009-08-19  Simon Fraser  <simon.fraser@apple.com>
68261
68262         Reviewed by Darin Adler.
68263
68264         Images flash as you hover them on http://www.atebits.com/scribbles/
68265         <rdar://problem/7143958>
68266         
68267         Tag images with the device colorspace with the colorspace of the main display, rather than
68268         GenericRGB, so that composited images color-match those rendered via Core Graphics.
68269         
68270         Covered by LayoutTests/compositing/color-matching/image-color-matching.html
68271
68272         * platform/graphics/mac/GraphicsLayerCA.mm:
68273         (WebCore::GraphicsLayerCA::setContentsToImage):
68274
68275 2009-08-19  Anders Carlsson  <andersca@apple.com>
68276
68277         Reviewed by David Hyatt and Dan Bernstein.
68278
68279         - Fix <rdar://problem/7152589> Stylable scrollbar corners aren't working.
68280
68281         * page/FrameView.cpp:
68282         (WebCore::FrameView::FrameView):
68283         Initialize m_scrollCorner.
68284
68285         (WebCore::FrameView::~FrameView):
68286         Assert that m_scrollCorner is null.
68287
68288         (WebCore::FrameView::detachCustomScrollbars):
68289         Destroy m_scrollCorner.
68290
68291         (WebCore::FrameView::invalidateScrollCorner):
68292         Invalidate the scroll corner.
68293         
68294         (WebCore::FrameView::updateScrollCorner):
68295         Create/destroy the scroll corner.
68296         
68297         (WebCore::FrameView::paintScrollCorner):
68298         Paint the scroll corner.
68299         
68300         * page/FrameView.h:
68301         (WebCore::FrameView::isFrameViewScrollCorner):
68302         Return whether a RenderScrollbarPart is the frame view scroll corner.
68303         
68304         * platform/ScrollView.cpp:
68305         (WebCore::ScrollView::updateScrollbars):
68306         Go ahead and update the scroll corner.
68307         
68308         (WebCore::ScrollView::setScrollbarsSuppressed):
68309         Pass the scroll corner rect to invalidateRect.
68310         
68311         (WebCore::ScrollView::scrollCornerRect):
68312         Return the scroll corner rect.
68313         
68314         * platform/ScrollView.h:
68315         * rendering/RenderScrollbarPart.cpp:
68316         (WebCore::RenderScrollbarPart::imageChanged):
68317         If this scrollbar part is the frame view scroll corner, invalidate it.
68318
68319 2009-08-19  Dirk Schulze  <krit@webkit.org>
68320
68321         Reviewed by Oliver Hunt.
68322
68323         SVG feComponentTransfer needs to be implemented
68324         [https://bugs.webkit.org/show_bug.cgi?id=27768]
68325
68326         Implementation of SVG Filter feComponentTransfer.
68327
68328         There is already a test case
68329         Test: svg/W3C-SVG-1.1/filters-comptran-01-b.svg
68330
68331         * platform/graphics/filters/FEComponentTransfer.cpp:
68332         (WebCore::identity):
68333         (WebCore::table):
68334         (WebCore::discrete):
68335         (WebCore::linear):
68336         (WebCore::gamma):
68337         (WebCore::FEComponentTransfer::apply):
68338
68339 2009-08-19  Dan Bernstein  <mitz@apple.com>
68340
68341         Reviewed by Dave Hyatt.
68342
68343         <rdar://problem/7141522> Incorrect layout of product table at henry.com
68344
68345         Test: fast/block/basic/quirk-percent-height-table-cell.html
68346
68347         * rendering/RenderBox.cpp:
68348         (WebCore::RenderBox::calcPercentageHeight): Tweak the quirk that allows
68349         percentage-height children of auto-height blocks to look for an ancestor
68350         with non-auto height and compute their height based on it. The change is
68351         that if that ancestor is a table cell, it is ignored and the percent
68352         height computes to zero (just like in strict mode). This matches Firefox
68353         and IE.
68354
68355 2009-08-19  Jungshik Shin  <jshin@chromium.org>
68356
68357         Reviewed by Eric Seidel.
68358
68359         Add 'icu::' qualifier when refering to ICU C+names to the other
68360         file with this issue missed in the previous check-in.
68361
68362         https://bugs.webkit.org/show_bug.cgi?id=28410
68363
68364         No change in the test result.
68365
68366         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
68367         (WebCore::):
68368
68369 2009-08-19  Peter Kasting  <pkasting@google.com>
68370
68371         Unreviewed (build fix for Skia).
68372
68373         https://bugs.webkit.org/show_bug.cgi?id=28268
68374
68375         * platform/graphics/skia/GraphicsContextSkia.cpp:
68376         (WebCore::GraphicsContext::drawLine):
68377
68378 2009-08-19  Jan Michael Alonzo  <jmalonzo@webkit.org>
68379
68380         Reviewed by Eric Seidel.
68381
68382         [CAIRO] Remove setFont indirection
68383         https://bugs.webkit.org/show_bug.cgi?id=28453
68384
68385         Remove the indirection and just set the font in Font::drawGlyphs.
68386
68387         * platform/graphics/SimpleFontData.h:
68388         * platform/graphics/cairo/FontCairo.cpp:
68389         (WebCore::Font::drawGlyphs):
68390         * platform/graphics/gtk/FontPlatformData.h:
68391         (WebCore::FontPlatformData::scaledFont):
68392         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
68393         (WebCore::FontPlatformData::~FontPlatformData):
68394         * platform/graphics/gtk/FontPlatformDataPango.cpp:
68395         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
68396         * platform/graphics/gtk/SimpleFontDataPango.cpp:
68397         * platform/graphics/win/FontPlatformData.h:
68398         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
68399         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
68400
68401 2009-08-19  Pavel Feldman  <pfeldman@chromium.org>
68402
68403         Reviewed by Timothy Hatcher.
68404
68405         WebInspector: When adding style selector, generate default name based
68406         on id / class / type.
68407
68408         https://bugs.webkit.org/show_bug.cgi?id=28468
68409
68410         * inspector/front-end/StylesSidebarPane.js:
68411         (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode):
68412
68413 2009-08-19  David Hyatt  <hyatt@apple.com>
68414
68415         Reviewed by Dan Bernstein.
68416
68417         Rename combinedOverflow to visibleOverflow, since that's what it actually represents.
68418
68419         * rendering/InlineFlowBox.cpp:
68420         (WebCore::InlineFlowBox::nodeAtPoint):
68421         (WebCore::InlineFlowBox::paint):
68422         * rendering/InlineFlowBox.h:
68423         (WebCore::InlineFlowBox::topvisibleOverflow):
68424         (WebCore::InlineFlowBox::bottomvisibleOverflow):
68425         (WebCore::InlineFlowBox::leftvisibleOverflow):
68426         (WebCore::InlineFlowBox::rightvisibleOverflow):
68427         (WebCore::InlineFlowBox::visibleOverflowRect):
68428         * rendering/RenderBlock.cpp:
68429         (WebCore::RenderBlock::layoutBlock):
68430         (WebCore::RenderBlock::paint):
68431         (WebCore::RenderBlock::floatRect):
68432         (WebCore::RenderBlock::nodeAtPoint):
68433         * rendering/RenderBlock.h:
68434         * rendering/RenderBlockLineLayout.cpp:
68435         (WebCore::RenderBlock::layoutInlineChildren):
68436         (WebCore::RenderBlock::matchedEndLine):
68437         * rendering/RenderBox.cpp:
68438         (WebCore::RenderBox::clippedOverflowRectForRepaint):
68439         * rendering/RenderBox.h:
68440         (WebCore::RenderBox::visibleOverflowRect):
68441         (WebCore::RenderBox::topvisibleOverflow):
68442         (WebCore::RenderBox::bottomvisibleOverflow):
68443         (WebCore::RenderBox::leftvisibleOverflow):
68444         (WebCore::RenderBox::rightvisibleOverflow):
68445         * rendering/RenderLayer.cpp:
68446         (WebCore::RenderLayer::localBoundingBox):
68447         * rendering/RenderLineBoxList.cpp:
68448         (WebCore::RenderLineBoxList::paint):
68449         (WebCore::RenderLineBoxList::hitTest):
68450         * rendering/RenderOverflow.h:
68451         (WebCore::RenderOverflow::visibleOverflowRect):
68452         * rendering/RenderReplaced.cpp:
68453         (WebCore::RenderReplaced::shouldPaint):
68454         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
68455         * rendering/RenderTable.cpp:
68456         (WebCore::RenderTable::layout):
68457         (WebCore::RenderTable::paint):
68458         * rendering/RenderTableCell.cpp:
68459         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
68460
68461 2009-08-19  Eric Carlson  <eric.carlson@apple.com>
68462
68463         Reviewed by Eric Seidel.
68464
68465         Sound button appears in controller with movies that have no audio
68466         https://bugs.webkit.org/show_bug.cgi?id=28464
68467
68468         Test: media/video-no-audio.html
68469
68470         * html/HTMLMediaElement.cpp:
68471         * html/HTMLMediaElement.h:
68472         (WebCore::HTMLMediaElement::hasAudio):
68473             Added hasAudio.
68474
68475         * platform/graphics/MediaPlayer.h:
68476         * platform/graphics/MediaPlayer.cpp:
68477         (WebCore::NullMediaPlayerPrivate::hasAudio):
68478         (WebCore::MediaPlayer::hasVideo):
68479             Make const.
68480         (WebCore::MediaPlayer::hasAudio):
68481             Added hasAudio.
68482
68483         * platform/graphics/MediaPlayerPrivate.h:
68484             Add hasAudio.
68485
68486         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
68487         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
68488         (WebCore::MediaPlayerPrivate::hasAudio):
68489             Ditto.
68490
68491         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
68492         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
68493         (WebCore::MediaPlayerPrivate::hasAudio):
68494             Ditto.
68495
68496         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
68497         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
68498         (WebCore::MediaPlayerPrivate::hasAudio):
68499             Ditto.
68500
68501         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
68502         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
68503         (WebCore::MediaPlayerPrivate::hasAudio):
68504             Ditto.
68505
68506         * platform/graphics/win/QTMovieWin.h:
68507         * platform/graphics/win/QTMovieWin.cpp:
68508         (QTMovieWin::hasAudio):
68509             Ditto.
68510
68511         * rendering/MediaControlElements.cpp:
68512         (WebCore::MediaControlMuteButtonElement::disabled):
68513             New, return true if media element doesn't have audio.
68514         (WebCore::MediaControlMuteButtonElement::rendererIsNeeded):
68515             Renderer is not needed if element has no audio.
68516         * rendering/MediaControlElements.h:
68517         (WebCore::MediaControlInputElement::disabled):
68518
68519         * rendering/RenderThemeMac.mm:
68520         (WebCore::getMediaUIPartStateFlags):
68521             Return MediaUIPartDisabledFlag if node is disabled.
68522             
68523
68524 2009-08-19  Michelangelo De Simone  <micdesim@gmail.com>
68525
68526         Reviewed by Darin Adler.
68527
68528         https://bugs.webkit.org/show_bug.cgi?id=27357
68529         Removed the two unnecessary overridden willValidate() methods introduced
68530         in r47444.
68531
68532         * html/HTMLKeygenElement.h:
68533         * html/HTMLObjectElement.h:
68534
68535 2009-08-19  Pavel Feldman  <pfeldman@chromium.org>
68536
68537         Reviewed by Timothy Hatcher.
68538
68539         WebInspector: Allow dumping dangling nodes to the console.
68540
68541         https://bugs.webkit.org/show_bug.cgi?id=28458
68542
68543         * bindings/js/JSInspectorBackendCustom.cpp:
68544         * bindings/v8/custom/V8CustomBinding.h:
68545         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
68546         * inspector/InspectorBackend.cpp:
68547         * inspector/InspectorBackend.h:
68548         * inspector/InspectorBackend.idl:
68549         * inspector/InspectorController.cpp:
68550         (WebCore::InspectorController::clearConsoleMessages):
68551         * inspector/InspectorDOMAgent.cpp:
68552         (WebCore::InspectorDOMAgent::releaseDanglingNodes):
68553         (WebCore::InspectorDOMAgent::startListening):
68554         (WebCore::InspectorDOMAgent::stopListening):
68555         (WebCore::InspectorDOMAgent::handleEvent):
68556         (WebCore::InspectorDOMAgent::bind):
68557         (WebCore::InspectorDOMAgent::unbind):
68558         (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
68559         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
68560         (WebCore::InspectorDOMAgent::discardBindings):
68561         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
68562         (WebCore::InspectorDOMAgent::buildObjectForNode):
68563         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
68564         * inspector/InspectorDOMAgent.h:
68565         * inspector/InspectorFrontend.cpp:
68566         (WebCore::InspectorFrontend::setDetachedRoot):
68567         (WebCore::InspectorFrontend::childNodeCountUpdated):
68568         * inspector/InspectorFrontend.h:
68569         * inspector/front-end/ConsoleView.js:
68570         (WebInspector.ConsoleView.prototype._formatnode):
68571         * inspector/front-end/DOMAgent.js:
68572         (WebInspector.DOMAgent.prototype._setDetachedRoot):
68573         (WebInspector.DOMAgent.prototype._childNodeCountUpdated):
68574         (WebInspector.setDetachedRoot):
68575         (WebInspector.childNodeCountUpdated):
68576         (InspectorController.pushNodeToFrontend):
68577         * inspector/front-end/InjectedScript.js:
68578         (InjectedScript.pushNodeToFrontend):
68579         (InjectedScript.createProxyObject):
68580
68581 2009-08-19  Alexey Proskuryakov  <ap@apple.com>
68582
68583         Reviewed by Anders Carlsson.
68584
68585         https://bugs.webkit.org/show_bug.cgi?id=27464
68586         Implement application cache online whitelist wildcard flag
68587
68588         Test: http/tests/appcache/whitelist-wildcard.html
68589
68590         A "*" in NETWORK section means that network loading needn't be blocked.
68591
68592         * loader/appcache/ApplicationCache.cpp:
68593         (WebCore::ApplicationCache::isURLInOnlineWhitelist):
68594         * loader/appcache/ApplicationCache.h:
68595         (WebCore::ApplicationCache::setAllowsAllNetworkRequests):
68596         (WebCore::ApplicationCache::allowsAllNetworkRequests):
68597         * loader/appcache/ApplicationCacheGroup.cpp:
68598         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
68599         * loader/appcache/ApplicationCacheStorage.cpp:
68600         (WebCore::ApplicationCacheStorage::openDatabase):
68601         (WebCore::ApplicationCacheStorage::store):
68602         (WebCore::ApplicationCacheStorage::loadCache):
68603         * loader/appcache/ManifestParser.cpp:
68604         (WebCore::parseManifest):
68605         * loader/appcache/ManifestParser.h:
68606
68607 2009-08-19  Brady Eidson <beidson@apple.com>
68608
68609         Reviewed by Kevin Decker.
68610
68611         <rdar://problem/7042555> Loading certain pages on Tiger will start a spurious download
68612         
68613         Get rid of method swizzling entirely. This created problems when lower level
68614         Foundation code would call into our own swizzled method.
68615         
68616         * platform/network/mac/ResourceHandleMac.mm: 
68617         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 
68618         * platform/network/mac/WebCoreURLResponse.h:
68619         * platform/network/mac/WebCoreURLResponse.mm:
68620         (-[NSURLResponse adjustMIMETypeIfNecessary]):
68621
68622 2009-08-19  Adam Roben  <aroben@apple.com>
68623
68624         Fix linker warnings on Windows
68625
68626         Reviewed by Anders Carlsson.
68627
68628         Fixes <http://webkit.org/b/28462> WebCore causes linker warnings on
68629         Windows about multiply-defined JSHTMLDataListElement symbols
68630
68631         * WebCore.vcproj/WebCore.vcproj: Exclude JSHTMLDataListElement.cpp
68632         from the build (just like we do for the other generated bindings
68633         files) so that we don't get warnings about multiply-defined symbols in
68634         JSHTMLDataListElement.cpp and DerivedSources.cpp. Also removed
68635         duplicate versions of JSSVGElementWrapperFactory.cpp, and let VS
68636         reorder a few files.
68637
68638 2009-08-19  Jungshik Shin  <jshin@chromium.org>
68639
68640         Reviewed by Eric Seidel
68641
68642         Add 'icu::' qualifier when refering to ICU C+names.
68643
68644         https://bugs.webkit.org/show_bug.cgi?id=28410
68645
68646         No change in the test result.
68647
68648         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
68649         (WebCore::fontContainsCharacter):
68650
68651 2009-08-19  David Hyatt  <hyatt@apple.com>
68652
68653         Reviewed by Dan Bernstein.
68654
68655         Cleanup from my patch thet rewrote overflow.  Remove unused member variables from RenderTableSection and
68656         move the addition of overflow from children into a separate pass after the height of the section has been
68657         set.  This prevents the RenderOverflow struct from being aggressively allocated for all table sections.
68658         (Not a a correctness issue, just a memory issue.)
68659
68660         * rendering/RenderTableSection.cpp:
68661         (WebCore::RenderTableSection::RenderTableSection):
68662         (WebCore::RenderTableSection::layoutRows):
68663         * rendering/RenderTableSection.h:
68664
68665 2009-08-19  Jan Michael Alonzo  <jmalonzo@webkit.org>
68666
68667         Reviewed by Xan Lopez.
68668
68669         [Gtk] Remove bogus dependency rules for built sources that derive
68670         from HTMLTagNames.in, HTMLAttributeNames.in and xmlattrs.in. The
68671         header files should be generated regardless of whether the source
68672         file changed or not. We should only rely on the *.in files being
68673         changed.
68674
68675         * GNUmakefile.am:
68676
68677 2009-08-18  Maciej Stachowiak  <mjs@apple.com>
68678
68679         Reviewed by Oliver Hunt.
68680
68681         convert FormatBlock candidate tag list from if chain to hash lookup
68682         https://bugs.webkit.org/show_bug.cgi?id=28448
68683
68684         No behavior change, just cleanup.
68685
68686         * editing/htmlediting.cpp:
68687         (WebCore::validBlockTag):
68688         * editing/htmlediting.h:
68689
68690 2009-08-19  Mike Fenton  <mike.fenton@torchmobile.com>
68691
68692         Reviewed by Eric Seidel.
68693
68694         Update GraphicsContextSkia's version of drawLine to make use of the shared
68695         adjustLineToPixelBoundaries function and elimination overlapping code.
68696
68697         https://bugs.webkit.org/show_bug.cgi?id=28268
68698
68699         * platform/graphics/skia/GraphicsContextSkia.cpp:
68700         (WebCore::GraphicsContext::drawLine):
68701
68702 2009-08-18  Mike Fenton  <mike.fenton@torchmobile.com>
68703
68704         Reviewed by Eric Seidel.
68705
68706         Style fixes based on cpp_style.py and WebKit Style guide for
68707         GraphicsContextSkia.cpp
68708
68709         https://bugs.webkit.org/show_bug.cgi?id=28268
68710
68711         * platform/graphics/skia/GraphicsContextSkia.cpp:
68712         (WebCore::GraphicsContext::addInnerRoundedRectClip):
68713         (WebCore::GraphicsContext::drawFocusRing):
68714         (WebCore::GraphicsContext::roundToDevicePixels):
68715         (WebCore::GraphicsContext::setLineDash):
68716         (WebCore::GraphicsContext::setPlatformShadow):
68717
68718 2009-08-18  Alexey Proskuryakov  <ap@webkit.org>
68719
68720         Reviewed by Maciej Stachowiak.
68721
68722         https://bugs.webkit.org/show_bug.cgi?id=28446
68723         Custom request headers shouldn't be sent with cross-origin preflight request
68724
68725         Tests: http/tests/xmlhttprequest/access-control-preflight-headers-async.html
68726                http/tests/xmlhttprequest/access-control-preflight-headers-sync.html
68727
68728         * loader/DocumentThreadableLoader.cpp:
68729         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
68730         Don't copy headers to OPTIONS request. The spec is vague about this, but the intention was
68731         that they shouldn't be sent, and Firefox doesn't send them.
68732
68733 2009-08-18  John Gregg  <johnnyg@google.com>
68734
68735         Reviewed by Dimitri Glazkov.
68736
68737         V8 Bindings for Desktop Notifications feature.
68738         https://bugs.webkit.org/show_bug.cgi?id=28271
68739
68740         * WebCore.gypi: 
68741         added notification files to build (all still behind a flag that's not on)
68742         * bindings/scripts/CodeGeneratorV8.pm:
68743         added special case in DOMWindow/AppCache style for named event handlers
68744         * bindings/v8/DOMObjectsInclude.h:
68745         * bindings/v8/DerivedSourcesAllInOne.cpp:
68746         * bindings/v8/V8DOMWrapper.cpp:
68747         (WebCore::V8DOMWrapper::getTemplate):
68748         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
68749         * bindings/v8/V8Index.cpp:
68750         * bindings/v8/V8Index.h:
68751         * bindings/v8/V8Proxy.h:
68752         * bindings/v8/WorkerContextExecutionProxy.cpp:
68753         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
68754         * bindings/v8/custom/V8CustomBinding.h:
68755         * bindings/v8/custom/V8NotificationCenterCustom.cpp: Added.
68756         * notifications/Notification.h:
68757         made event handler routines public (as they are in DOMWindow, eg) for
68758         binding access.
68759         * notifications/NotificationCenter.idl:
68760         needed to make methods V8Custom to support different behaviors in 
68761         worker/page context in chromium. 
68762         * workers/WorkerThread.h:
68763         (WebCore::WorkerThread::getNotificationPresenter):
68764         (WebCore::WorkerThread::setNotificationPresenter):
68765         needed to make these methods public as well so chromium can inject
68766         the notification presenter into the worker thread.
68767
68768 2009-08-13  Maciej Stachowiak  <mjs@apple.com>
68769
68770         Reviewed by Sam Weinig.
68771
68772         - Implement HTML5 nav element
68773         https://bugs.webkit.org/show_bug.cgi?id=27937
68774
68775         <nav> should behave essentially the same as <div> for parsing
68776         etc. This is implemented by the changes below.
68777         
68778         Tests: fast/html/nav-element.html
68779
68780         * css/html.css:
68781         * editing/htmlediting.cpp:
68782         (WebCore::validBlockTag):
68783         * html/HTMLElement.cpp:
68784         (WebCore::HTMLElement::tagPriority):
68785         (WebCore::blockTagList):
68786         * html/HTMLParser.cpp:
68787         (WebCore::HTMLParser::getNode):
68788         * html/HTMLTagNames.in:
68789
68790 2009-08-18  Anders Carlsson  <andersca@apple.com>
68791
68792         Reviewed by Adele Peterson, David Hyatt and Dan Bernstein.
68793
68794         - Fix <rdar://problem/7152727>
68795
68796         If a page has custom scroll bars, they will not update correctly when the window is activated/deactivated.
68797         
68798         * page/FrameView.cpp:
68799         (WebCore::FrameView::hasCustomScrollbars):
68800         Check if the frame view or any of its subviews have custom scroll bars.
68801         
68802         (WebCore::FrameView::updateControlTints):
68803         Go ahead and update control tints if the frame view has custom scroll bars.
68804         
68805         * page/FrameView.h:
68806
68807 2009-08-18  Mark Rowe  <mrowe@apple.com>
68808
68809         Roll out r47477 as it introduced assertion failures and crashes on the build bots.
68810
68811         * GNUmakefile.am:
68812         * WebCore.gypi:
68813         * WebCore.pro:
68814         * WebCore.vcproj/WebCore.vcproj:
68815         * WebCore.xcodeproj/project.pbxproj:
68816         * WebCoreSources.bkl:
68817         * storage/Database.cpp:
68818         * storage/Database.h:
68819         * storage/DatabaseThread.cpp:
68820         (WebCore::DatabaseThread::DatabaseThread):
68821         * storage/DatabaseThread.h:
68822         * storage/SQLTransaction.cpp:
68823         (WebCore::SQLTransaction::runCurrentStatement):
68824         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
68825         (WebCore::SQLTransaction::postflightAndCommit):
68826         * storage/SQLTransactionClient.cpp: Removed.
68827         * storage/SQLTransactionClient.h: Removed.
68828
68829 2009-08-18  Maxime Simon  <simon.maxime@gmail.com>
68830
68831         Reviewed by Eric Seidel.
68832
68833         [Haiku] Adding the SharedTimer file for WebCore.
68834         https://bugs.webkit.org/show_bug.cgi?id=28126
68835
68836         * platform/haiku/SharedTimerHaiku.cpp: Added.
68837         (WebCore::):
68838         (WebCore::SharedTimerHaiku::SharedTimerHaiku):
68839         (WebCore::SharedTimerHaiku::~SharedTimerHaiku):
68840         (WebCore::SharedTimerHaiku::instance):
68841         (WebCore::SharedTimerHaiku::start):
68842         (WebCore::SharedTimerHaiku::stop):
68843         (WebCore::SharedTimerHaiku::Filter):
68844         (WebCore::setSharedTimerFiredFunction):
68845         (WebCore::setSharedTimerFireTime):
68846         (WebCore::stopSharedTimer):
68847
68848 2009-08-18  Mark Rowe  <mrowe@apple.com>
68849
68850         Release build fix.
68851
68852         * xml/XMLHttpRequest.cpp: Sprinkle some #ifndef NDEBUG around.
68853         (WebCore::XMLHttpRequest::XMLHttpRequest):
68854         (WebCore::XMLHttpRequest::~XMLHttpRequest):
68855
68856 2009-08-18  Aaron Boodman  <aa@chromium.org>
68857
68858         Reviewed by Maciej Stachowiak.
68859
68860         https://bugs.webkit.org/show_bug.cgi?id=28412: Leak of WebCore::XMLHttpRequest object during layout tests.
68861
68862         No new tests: Already covered by existing tests.
68863
68864         * xml/XMLHttpRequest.cpp:
68865         (WebCore::XMLHttpRequest::XMLHttpRequest): Add instrumentation for this kind of leak.
68866         (WebCore::XMLHttpRequest::~XMLHttpRequest): Ditto.
68867         (WebCore::XMLHttpRequest::createRequest): Only setPendingActivity() if we actually started a request. Also,
68868         restore a call to nonCacheRequestInFlight() that got lost in a recent refactor.
68869
68870 2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
68871
68872         Reviewed by Dimitri Glazkov.
68873
68874         Added a client to SQLTransaction. In addition to being a place to
68875         get notifications about certain events in a transaction, it is
68876         also an abstraction layer that allows us to plug in different
68877         implementations for each port for how transactions interract with
68878         the main DB. For example, WebCore's default implementation will
68879         make direct calls to DatabaseTracker's methods. At the same time,
68880         Chromium's implementation will send IPCs to the browser process
68881         whenever a transaction needs something from the main DB.
68882
68883         All storage tests pass.
68884
68885         https://bugs.webkit.org/show_bug.cgi?id=27967
68886
68887         * GNUmakefile.am:
68888         * WebCore.gypi:
68889         * WebCore.pro:
68890         * WebCore.vcproj/WebCore.vcproj:
68891         * WebCore.xcodeproj/project.pbxproj:
68892         * WebCoreSources.bkl:
68893         * storage/Database.cpp:
68894         (WebCore::Database::transactionClient):
68895         * storage/Database.h:
68896         * storage/DatabaseThread.cpp:
68897         (WebCore::DatabaseThread::DatabaseThread):
68898         * storage/DatabaseThread.h:
68899         (WebCore::DatabaseThread::transactionClient):
68900         * storage/SQLTransaction.cpp:
68901         (WebCore::SQLTransaction::runCurrentStatement):
68902         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
68903         (WebCore::SQLTransaction::postflightAndCommit):
68904         * storage/SQLTransactionClient.cpp: Added.
68905         * storage/SQLTransactionClient.h: Added.
68906
68907 2009-08-18  Julie Parent  <jparent@chromium.org>
68908
68909         Not reviewed, build fix for Chromium.
68910
68911         Final change for v8 corresponding to http://trac.webkit.org/changeset/47469.
68912
68913         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added missing using statment
68914
68915 2009-08-18  Julie Parent  <jparent@chromium.org>
68916
68917         Not reviewed, build fix for Chromium.
68918
68919        More corresponding changes to V8 from http://trac.webkit.org/changeset/47469.
68920
68921         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
68922         (WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function.
68923
68924 2009-08-18  Julie Parent  <jparent@chromium.org>
68925
68926         Not reviewed, build fix for Chromium.
68927
68928         Make corresponding changes to V8 from http://trac.webkit.org/changeset/47469.
68929
68930         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
68931         (WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function.
68932
68933 2009-08-18  Dan Bernstein  <mitz@apple.com>
68934
68935         Build fix.
68936
68937         * editing/ApplyStyleCommand.cpp:
68938         (WebCore::getIdentifierValue):
68939
68940 2009-08-18  Darin Adler  <darin@apple.com>
68941
68942         Reviewed by Sam Weinig.
68943
68944         More work on making DOM classes start with reference count of 1
68945         https://bugs.webkit.org/show_bug.cgi?id=28068
68946
68947         Some related clean-up and preparation steps so the subsequent
68948         patches will be as small as possible.
68949
68950         * WebCore.base.exp: Sorted this file.
68951
68952         * accessibility/AccessibilityRenderObject.cpp:
68953         (WebCore::AccessibilityRenderObject::accessibilityDescription):
68954         Use nameAttr instead of the name function.
68955
68956         * bindings/js/JSHTMLFrameElementCustom.cpp:
68957         (WebCore::JSHTMLFrameElement::setSrc):
68958         Use srcAttr instead of the src function.
68959
68960         * bindings/js/JSHTMLIFrameElementCustom.cpp:
68961         (WebCore::JSHTMLIFrameElement::setSrc):
68962         Use srcAttr instead of the src function.
68963
68964         * bindings/objc/DOM.mm: Sorted includes.
68965         * dom/Document.cpp: Ditto.
68966
68967         * dom/StyledElement.cpp: Made invalidateStyleAttribute inline.
68968         * dom/StyledElement.h: Ditto.
68969
68970         * dom/make_names.pl: Changed default of createWithNew to 0.
68971         Eventually all elements will be created with create instead of new.
68972
68973         * html/HTMLTagNames.in:
68974         * svg/svgtags.in:
68975         * wml/WMLTagNames.in:
68976         Added createWithNew for every tag. We'll remove it as we convert
68977         element classes to use create.
68978
68979         * html/HTMLAppletElement.h: Removed unneeded forward declarations.
68980         * html/HTMLFrameElement.h: Ditto.
68981
68982         * html/HTMLEmbedElement.cpp: Removed many attribute get and
68983         set functions.
68984         * html/HTMLEmbedElement.h: Ditto.
68985         * html/HTMLIFrameElement.cpp: Ditto.
68986         * html/HTMLIFrameElement.h: Ditto.
68987         * html/HTMLObjectElement.cpp: Ditto.
68988         * html/HTMLObjectElement.h: Ditto.
68989         * html/HTMLPlugInElement.cpp: Ditto.
68990         * html/HTMLPlugInElement.h: Ditto.
68991
68992         * html/HTMLFrameElementBase.cpp: Removed many attribute get and
68993         set functions.
68994         (WebCore::HTMLFrameElementBase::location): Changed to use
68995         srcAttr instead of src.
68996         * html/HTMLFrameElementBase.h: Removed many attribute get and set
68997         functions.
68998
68999         * loader/MediaDocument.cpp:
69000         (WebCore::MediaDocument::replaceMediaElementTimerFired):
69001         Use srcAttr and typeAttr instead of setSrc and setType.
69002         * loader/PluginDocument.cpp:
69003         (WebCore::PluginTokenizer::createDocumentStructure): Ditto.
69004
69005         * rendering/RenderPartObject.cpp:
69006         (WebCore::RenderPartObject::updateWidget): Use nameAttr instead
69007         of name -- this avoids an extra AtomicString round trip and a little
69008         ref count churn too.
69009
69010 2009-08-18  Drew Wilson  <atwilson@google.com>
69011
69012         Reviewed by David Levin.
69013
69014         SharedWorkers need to support loading.
69015         https://bugs.webkit.org/show_bug.cgi?id=28342
69016
69017         Added loader support to shared workers, and refactored worker tests to also test SharedWorkers
69018
69019         * workers/DefaultSharedWorkerRepository.cpp:
69020         (WebCore::SharedWorkerProxy::postTaskToLoader):
69021         Forwards load requests to an arbitrary document from the list of worker's documents.
69022         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
69023         Posts responses back to the shared worker thread.
69024
69025 2009-08-18  Ryosuke Niwa  <rniwa@webkit.org>
69026
69027         Reviewed by Darin Adler.
69028
69029         StyleChange::init needs clean up before fixing the bug 23892
69030         https://bugs.webkit.org/show_bug.cgi?id=27749
69031
69032         This patch simplifies StyleChange::init by removing the iteration on CSS properties,
69033         and adding functions reconcileTextDecorationProperties and extractTextStyle to handle the style.
69034
69035         Because there is a bug in how text decorations are processes in getPropertiesNotInComputedStyle,
69036         this patch simplifies the treatment in order to preserve the original behavior of WebKit.
69037         However, the current implementation is not best (adds redundant text-decorations) and we should fix it later.
69038
69039         No test is added since there is no change in behavior.
69040
69041         * editing/ApplyStyleCommand.cpp:
69042         (WebCore::StyleChange::init): Uses getPropertiesNotInComputedStyle instead of iterating through the properties
69043         (WebCore::StyleChange::reconcileTextDecorationProperties): Removes -webkit-text-decorations-in-effects and redundant "none"
69044         (WebCore::getIdentifierValue): Obtains the identifier of a CSSPrimitiveValue
69045         (WebCore::StyleChange::extractTextStyles): Converts properties in style to m_apply* and removes the property
69046         (WebCore::getPropertiesNotInComputedStyle): Fixed a bug with how text decorations are treated
69047
69048 2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
69049
69050         Reviewed by Dimitri Glazkov.
69051
69052         Fixing a DB file naming bug in Chromium. The origin should come
69053         before the DB name in the file name.
69054
69055         https://bugs.webkit.org/show_bug.cgi?id=28331
69056
69057         * storage/DatabaseTracker.cpp:
69058         (WebCore::DatabaseTracker::fullPathForDatabase):
69059
69060 2009-08-18  Maxime Simon  <simon.maxime@gmail.com>
69061
69062         Reviewed by Eric Seidel.
69063
69064         [Haiku] Adding four image-specific files to WebCore:
69065         IconHaiku.cpp, ImageBufferData.h, ImageBufferHaiku.cpp, ImageHaiku.cpp
69066         https://bugs.webkit.org/show_bug.cgi?id=28130
69067
69068         * platform/graphics/Icon.h:
69069         * platform/graphics/haiku/IconHaiku.cpp: Added.
69070         (WebCore::Icon::~Icon):
69071         (WebCore::Icon::createIconForFile):
69072         (WebCore::Icon::createIconForFiles):
69073         (WebCore::Icon::paint):
69074         * platform/graphics/haiku/ImageBufferData.h: Added.
69075         * platform/graphics/haiku/ImageBufferHaiku.cpp: Added.
69076         (WebCore::ImageBufferData::ImageBufferData):
69077         (WebCore::ImageBuffer::ImageBuffer):
69078         (WebCore::ImageBuffer::~ImageBuffer):
69079         (WebCore::ImageBuffer::context):
69080         (WebCore::ImageBuffer::getUnmultipliedImageData):
69081         (WebCore::ImageBuffer::getPremultipliedImageData):
69082         (WebCore::ImageBuffer::putUnmultipliedImageData):
69083         (WebCore::ImageBuffer::putPremultipliedImageData):
69084         (WebCore::ImageBuffer::toDataURL):
69085         (WebCore::ImageBuffer::image):
69086         (WebCore::ImageBuffer::platformTransformColorSpace):
69087         * platform/graphics/haiku/ImageHaiku.cpp: Added.
69088         (WebCore::FrameData::clear):
69089         (WebCore::Image::loadPlatformResource):
69090         (WebCore::BitmapImage::initPlatformData):
69091         (WebCore::BitmapImage::invalidatePlatformData):
69092         (WebCore::BitmapImage::draw):
69093         (WebCore::Image::drawPattern):
69094         (WebCore::BitmapImage::checkForSolidColor):
69095         (WebCore::BitmapImage::getBBitmap):
69096
69097 2009-08-18  Beth Dakin  <bdakin@apple.com>
69098
69099         Reviewed by Dan Bernstein.
69100
69101         Fix for https://bugs.webkit.org/show_bug.cgi?id=27575 [CSS3 
69102         Backgrounds and Borders] Drop the prefix from background-size
69103
69104         * css/CSSComputedStyleDeclaration.cpp:
69105         (WebCore::):
69106         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
69107         * css/CSSParser.cpp:
69108         (WebCore::CSSParser::parseValue):
69109         (WebCore::CSSParser::parseFillProperty):
69110         (WebCore::cssPropertyID):
69111         * css/CSSPropertyNames.in:
69112         * css/CSSStyleSelector.cpp:
69113         (WebCore::CSSStyleSelector::applyProperty):
69114         * page/animation/AnimationBase.cpp:
69115         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
69116         (WebCore::ensurePropertyMap):
69117
69118 2009-08-18  Drew Wilson  <atwilson@google.com>
69119
69120         Reviewed by David Levin.
69121
69122         SharedWorkers need to forward exceptions to parent documents
69123         https://bugs.webkit.org/show_bug.cgi?id=28320
69124
69125         Changed SharedWorkerProxy to have individual mutexes (so workers can interact with their parent documents without contention).
69126
69127         Updated SharedWorkerProxy to forward exceptions/console messages to all parent documents.
69128
69129         * bindings/js/JSSharedWorkerConstructor.cpp:
69130         Cleaned up bitrot - added missing include.
69131         * workers/DefaultSharedWorkerRepository.cpp:
69132         (WebCore::postExceptionTask):
69133         Callback used to deliver exceptions to a document.
69134         (WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
69135         Forwards exceptions to all parent documents for presentation to the user.
69136         (WebCore::postConsoleMessageTask):
69137         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
69138         Forwards console messages to all parent documents for presentation to the user.
69139         (WebCore::SharedWorkerProxy::addToWorkerDocuments):
69140         Grabs the mutex before accessing workerDocuments.
69141         (WebCore::SharedWorkerProxy::documentDetached):
69142         Grabs the mutex before accessing workerDocuments.
69143
69144 2009-08-18  Anders Carlsson  <andersca@apple.com>
69145
69146         Reviewed by Adele Peterson.
69147
69148         <rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource
69149         
69150         * html/HTMLMediaElement.cpp:
69151         (WebCore::HTMLMediaElement::isSafeToLoadURL):
69152         Call FrameLoaderClient::shouldLoadMediaElementURL.
69153         
69154         * loader/FrameLoaderClient.h:
69155         (WebCore::FrameLoaderClient::shouldLoadMediaElementURL):
69156         Return true by default.
69157
69158 2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
69159
69160         Reviewed by Dimitri Glazkov.
69161
69162         openDatabase() should not execute any SQL statement on the
69163         database it's trying to open, unless there are no other open
69164         handles to the same database. Otherwise, we might run into a
69165         deadlock.
69166
69167         Test: storage/open-database-while-transaction-in-progress.html
69168
69169         https://bugs.webkit.org/show_bug.cgi?id=28207
69170
69171         * storage/Database.cpp:
69172         (WebCore::Database::performOpenAndVerify):
69173
69174 2009-08-18  Dirk Schulze  <krit@webkit.org>
69175
69176         Reviewed by Oliver Hunt.
69177
69178         SVG Filter feBlend implementation missing
69179         [https://bugs.webkit.org/show_bug.cgi?id=28133]
69180
69181         Implementation of SVG Filter feBlend.
69182
69183         FilterEffect.cp needed changes to optimize the rendering. With the old code
69184         we drew a subEffect on the current FilterEffect by drawImage, got the PixelArray,
69185         cleared the drawing area, drew the next FilterEffect with drawImage and picked this
69186         PixelArray again. This was unefficient and slow. Now we calculate the requested area
69187         of the subEffect and ask the FilterEffect's ImageBuffer for the PixelArray directly,
69188         without any drawing operations on GraphicsContext.
69189
69190         There is already a test case
69191         Test: svg/W3C-SVG-1.1/filters-blend-01-b.svg
69192
69193         * html/canvas/CanvasPixelArray.h:
69194         (WebCore::CanvasPixelArray::set):
69195         (WebCore::CanvasPixelArray::get):
69196         * platform/graphics/filters/FEBlend.cpp:
69197         (WebCore::unknown):
69198         (WebCore::normal):
69199         (WebCore::multiply):
69200         (WebCore::screen):
69201         (WebCore::darken):
69202         (WebCore::lighten):
69203         (WebCore::FEBlend::apply):
69204         * platform/graphics/filters/FEBlend.h:
69205         * platform/graphics/filters/FilterEffect.cpp:
69206         (WebCore::FilterEffect::calculateDrawingIntRect):
69207         * platform/graphics/filters/FilterEffect.h:
69208
69209 2009-08-18  Pavel Feldman  <pfeldman@chromium.org>
69210
69211         Reviewed by Timothy Hatcher.
69212
69213         WebInspector: Fix array formatter followup: node formatter.
69214
69215         https://bugs.webkit.org/show_bug.cgi?id=28427
69216
69217         * inspector/front-end/ConsoleView.js:
69218         (WebInspector.ConsoleView.prototype._format):
69219
69220 2009-08-18  Pavel Feldman  <pfeldman@chromium.org>
69221
69222         Reviewed by Timothy Hatcher.
69223
69224         WebInspector: Metrics sidebar broken
69225
69226         https://bugs.webkit.org/show_bug.cgi?id=28434
69227
69228         * inspector/front-end/MetricsSidebarPane.js:
69229
69230 2009-08-18  Alexey Proskuryakov  <ap@apple.com>
69231
69232         Reviewed by Darin Adler.
69233
69234         https://bugs.webkit.org/show_bug.cgi?id=28432
69235         String::createCFString() returns a non-retained empty string
69236
69237         No known change in functionality, so no test.
69238
69239         * platform/text/cf/StringCF.cpp: (WebCore::String::createCFString): Retain the CFSTR result.
69240     
69241 2009-08-18  Brian Weinstein  <bweinstein@apple.com>
69242
69243         Reviewed by Oliver Hunt.
69244
69245         Fix of <https://bugs.webkit.org/show_bug.cgi?id=28326> DRT on Windows doesn't support 
69246         LayoutTestController::setQuota or print a callback on UIDelegate::exceededDatabaseQuota.
69247         
69248         Removed an early return that can cause deleteOrigin or deleteAllDatabases to fail when
69249         it doesn't have to.
69250
69251         * storage/DatabaseTracker.cpp:
69252         (WebCore::DatabaseTracker::deleteOrigin):
69253
69254 2009-08-18  Michelangelo De Simone  <micdesim@gmail.com>
69255
69256         Reviewed by Adele Peterson.
69257
69258         https://bugs.webkit.org/show_bug.cgi?id=27357
69259         Support for :valid and :invalid CSS selectors, from HTML5 specs.
69260         http://www.whatwg.org/specs/web-apps/current-work/#selector-valid
69261
69262         Tests: fast/css/pseudo-invalid-001.html
69263                fast/css/pseudo-invalid-002.html
69264                fast/css/pseudo-valid-001.html
69265                fast/css/pseudo-valid-002.html
69266                fast/css/pseudo-valid-003.html
69267                fast/css/pseudo-valid-004.html
69268                fast/css/pseudo-valid-005.html
69269                fast/css/pseudo-valid-006.html
69270                fast/css/pseudo-valid-007.html
69271
69272         * css/CSSSelector.cpp:
69273         (WebCore::CSSSelector::extractPseudoType): extracts new pseudo-classes
69274         * css/CSSSelector.h:
69275         (WebCore::CSSSelector::):
69276         * css/CSSStyleSelector.cpp:
69277         (WebCore::CSSStyleSelector::canShareStyleWithElement): Make sure we don't share style between
69278 form controls that have different validity states.
69279         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): applies
69280         style associated to new pseudo-classes
69281         * dom/Element.h:
69282         (WebCore::Element::willValidate): pushed up in hierarchy
69283         (WebCore::Element::isValidFormControlElement): checks for valid form
69284         control elements (wraps ValidityState::valid())
69285         * html/HTMLFormControlElement.cpp:
69286         (WebCore::HTMLFormControlElement::willValidate): minor clean up
69287         (WebCore::HTMLFormControlElement::isValidFormControlElement): ditto
69288         * html/HTMLFormControlElement.h:
69289         * html/HTMLKeygenElement.h:
69290         (WebCore::HTMLKeygenElement::willValidate): added
69291         * html/HTMLObjectElement.h:
69292         (WebCore::HTMLObjectElement::willValidate): added
69293         * html/HTMLObjectElement.idl:
69294
69295 2009-08-18  Pavel Feldman  <pfeldman@chromium.org>
69296
69297         Reviewed by Timothy Hatcher.
69298
69299         WebInspector: Fix array formatter.
69300
69301         https://bugs.webkit.org/show_bug.cgi?id=28427
69302
69303         * inspector/front-end/ConsoleView.js:
69304         (WebInspector.ConsoleView.prototype._formatarray):
69305
69306 2009-08-17  Joe Mason  <joe.mason@torchmobile.com>
69307
69308         Reviewed by George Staikos
69309
69310         Replace repeated string of PLATFORM(FOO) with a single define
69311         https://bugs.webkit.org/show_bug.cgi?id=27734
69312
69313         * loader/CachedFont.cpp:
69314         (WebCore::CachedFont::~CachedFont):
69315         (WebCore::CachedFont::ensureCustomFontData):
69316         (WebCore::CachedFont::platformDataFromCustomData):
69317         (WebCore::CachedFont::allClientsRemoved):
69318
69319 2009-08-16  David Hyatt  <hyatt@apple.com>
69320
69321         Reviewed by Dan Bernstein.
69322
69323         https://bugs.webkit.org/show_bug.cgi?id=20329, shadows and reflections incorrectly
69324         considered part of scrollable overflow.
69325
69326         This patch takes the engine's concept of overflow and splits it into two types:
69327         layout overflow and visual overflow.
69328         
69329         Layout overflow is about other boxes that spill out of an enclosing box,  For example,
69330         in the inline flow case a tall image could spill out of a line box. Examples of 
69331         visual overflow are shadows, text stroke (and eventually outline and
69332         border-image).
69333
69334         Three objects tracked overflow before this patch: RenderBlock had 
69335         m_overflowLeft/Top/Width/Height variables.  RootInlineBox had an Overflow*
69336         that also had four overflow values.  Finally RenderReplaced elements tracked shadow/reflection
69337         overflow using a map that cached four values.
69338         
69339         This patch takes all of these different overflow models and unifies them into a single
69340         new class called RenderOverflow.   This class is now a member variable in RenderBox and
69341         InlineFlowBoxes.  It is only allocated if overflow actually exists.  Instead of tracking
69342         four values, it tracks eight: left/top/right/bottom for layout overflow and 
69343         left/top/right/bottom for visual overflow.
69344         
69345         Overflow computation is now done after layout is finished rather than during layout
69346         (when child objects can be churning and moving around).  A number of layout tests progressed
69347         by deferring overflow computation to a separate pass.
69348         
69349         All inline flow boxes now track overflow (and not just the root line box).  This allows
69350         repainting of line boxes to actually be tight and bail early if the overflow rect of a box
69351         doesn't intersect.  The old code always visited all object on a line if the root line box
69352         intersected at all.
69353         
69354         Line box overflow no longer propagates across self-painting layers.  This fixes a number of
69355         issues with incorrect scrollbars appearing when relative positioned inlines were used in a page.
69356         
69357         Layer bounds have been modified to exclude visual overflow.  The width/height members only really
69358         have one reason for continued existence, and that is that they happen to be used in repaint()
69359         when an overflow clip object's height isn't accurate.  In this case, the bounds should exclude
69360         visual overflow anyway, so this change tightens that repaint up.
69361         
69362         Root lines have renamed m_selectionTop/Bottom to m_lineTop/Bottom and positionForPoint methods have
69363         been changed to use these instead of relying on overflow (which was totally wrong).
69364
69365         Significant changes have been made to the "almost strict mode" line box quirk where objects with no
69366         text children have no effect on the height of a line.  Instead of making the height() of the objects
69367         variable and dependent on overflow, the objects now have their full height and get placed on
69368         the baseline properly.  They simply don't contribute to overflow above lineTop/Bottom.
69369         
69370         Reflections are no longer considered overflow of any kind.  Because reflections have their own layers,
69371         it is not necessary to treat them as visual or layout overflow in the RenderObject tree.  The end result
69372         of not incorporating them into RenderOverflow is that they have no effect on scrolling.  transparencyClipBox
69373         has been extended to support fully reflecting the entire clip box when a reflection exists.  This fixes
69374         numerous repaint bugs in transparent objects with reflections when the transparent objects had self-painting
69375         sublayers.
69376
69377         * WebCore.xcodeproj/project.pbxproj:
69378         * dom/ContainerNode.cpp:
69379         (WebCore::ContainerNode::getUpperLeftCorner):
69380         * editing/visible_units.cpp:
69381         (WebCore::previousLinePosition):
69382         (WebCore::nextLinePosition):
69383         * page/FrameView.cpp:
69384         (WebCore::FrameView::adjustViewSize):
69385         (WebCore::FrameView::adjustPageHeight):
69386         * rendering/InlineBox.cpp:
69387         (WebCore::InlineBox::height):
69388         * rendering/InlineBox.h:
69389         * rendering/InlineFlowBox.cpp:
69390         (WebCore::InlineFlowBox::adjustPosition):
69391         (WebCore::InlineFlowBox::placeBoxesHorizontally):
69392         (WebCore::InlineFlowBox::placeBoxesVertically):
69393         (WebCore::InlineFlowBox::computeVerticalOverflow):
69394         (WebCore::InlineFlowBox::nodeAtPoint):
69395         (WebCore::InlineFlowBox::paint):
69396         * rendering/InlineFlowBox.h:
69397         (WebCore::InlineFlowBox::InlineFlowBox):
69398         (WebCore::InlineFlowBox::topCombinedOverflow):
69399         (WebCore::InlineFlowBox::bottomCombinedOverflow):
69400         (WebCore::InlineFlowBox::leftCombinedOverflow):
69401         (WebCore::InlineFlowBox::rightCombinedOverflow):
69402         (WebCore::InlineFlowBox::combinedOverflowRect):
69403         (WebCore::InlineFlowBox::topLayoutOverflow):
69404         (WebCore::InlineFlowBox::bottomLayoutOverflow):
69405         (WebCore::InlineFlowBox::leftLayoutOverflow):
69406         (WebCore::InlineFlowBox::rightLayoutOverflow):
69407         (WebCore::InlineFlowBox::layoutOverflowRect):
69408         (WebCore::InlineFlowBox::topVisualOverflow):
69409         (WebCore::InlineFlowBox::bottomVisualOverflow):
69410         (WebCore::InlineFlowBox::leftVisualOverflow):
69411         (WebCore::InlineFlowBox::rightVisualOverflow):
69412         (WebCore::InlineFlowBox::visualOverflowRect):
69413         (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
69414         (WebCore::InlineFlowBox::setVerticalOverflowPositions):
69415         * rendering/InlineTextBox.cpp:
69416         (WebCore::InlineTextBox::paint):
69417         * rendering/RenderBlock.cpp:
69418         (WebCore::RenderBlock::RenderBlock):
69419         (WebCore::RenderBlock::layout):
69420         (WebCore::RenderBlock::layoutBlock):
69421         (WebCore::RenderBlock::addOverflowFromBlockChildren):
69422         (WebCore::RenderBlock::handleBottomOfBlock):
69423         (WebCore::RenderBlock::layoutBlockChildren):
69424         (WebCore::RenderBlock::paint):
69425         (WebCore::RenderBlock::fillInlineSelectionGaps):
69426         (WebCore::RenderBlock::floatRect):
69427         (WebCore::RenderBlock::lowestPosition):
69428         (WebCore::RenderBlock::rightmostPosition):
69429         (WebCore::RenderBlock::leftmostPosition):
69430         (WebCore::RenderBlock::addOverhangingFloats):
69431         (WebCore::RenderBlock::nodeAtPoint):
69432         (WebCore::RenderBlock::positionForPointWithInlineChildren):
69433         (WebCore::RenderBlock::layoutColumns):
69434         (WebCore::getHeightForLineCount):
69435         * rendering/RenderBlock.h:
69436         * rendering/RenderBlockLineLayout.cpp:
69437         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
69438         (WebCore::RenderBlock::computeVerticalPositionsForLine):
69439         (WebCore::RenderBlock::layoutInlineChildren):
69440         (WebCore::RenderBlock::matchedEndLine):
69441         (WebCore::RenderBlock::addOverflowFromInlineChildren):
69442         * rendering/RenderBox.cpp:
69443         (WebCore::RenderBox::destroy):
69444         (WebCore::RenderBox::clippedOverflowRectForRepaint):
69445         (WebCore::RenderBox::localCaretRect):
69446         (WebCore::RenderBox::addShadowAndReflectionOverflow):
69447         (WebCore::RenderBox::addOverflowFromChild):
69448         (WebCore::RenderBox::addLayoutOverflow):
69449         (WebCore::RenderBox::addVisualOverflow):
69450         (WebCore::RenderBox::clearLayoutOverflow):
69451         * rendering/RenderBox.h:
69452         (WebCore::RenderBox::combinedOverflowRect):
69453         (WebCore::RenderBox::topCombinedOverflow):
69454         (WebCore::RenderBox::bottomCombinedOverflow):
69455         (WebCore::RenderBox::leftCombinedOverflow):
69456         (WebCore::RenderBox::rightCombinedOverflow):
69457         (WebCore::RenderBox::layoutOverflowRect):
69458         (WebCore::RenderBox::topLayoutOverflow):
69459         (WebCore::RenderBox::bottomLayoutOverflow):
69460         (WebCore::RenderBox::leftLayoutOverflow):
69461         (WebCore::RenderBox::rightLayoutOverflow):
69462         (WebCore::RenderBox::visualOverflowRect):
69463         (WebCore::RenderBox::topVisualOverflow):
69464         (WebCore::RenderBox::bottomVisualOverflow):
69465         (WebCore::RenderBox::leftVisualOverflow):
69466         (WebCore::RenderBox::rightVisualOverflow):
69467         * rendering/RenderFlexibleBox.cpp:
69468         (WebCore::RenderFlexibleBox::layoutBlock):
69469         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
69470         (WebCore::RenderFlexibleBox::layoutVerticalBox):
69471         * rendering/RenderLayer.cpp:
69472         (WebCore::RenderLayer::updateLayerPosition):
69473         (WebCore::RenderLayer::localBoundingBox):
69474         * rendering/RenderLayerCompositor.cpp:
69475         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
69476         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
69477         * rendering/RenderLineBoxList.cpp:
69478         (WebCore::RenderLineBoxList::paint):
69479         (WebCore::RenderLineBoxList::hitTest):
69480         * rendering/RenderListItem.cpp:
69481         (WebCore::RenderListItem::positionListMarker):
69482         * rendering/RenderObject.cpp:
69483         (WebCore::RenderObject::RenderObject):
69484         * rendering/RenderObject.h:
69485         * rendering/RenderOverflow.h: Added.
69486         (WebCore::RenderOverflow::RenderOverflow):
69487         (WebCore::RenderOverflow::topLayoutOverflow):
69488         (WebCore::RenderOverflow::bottomLayoutOverflow):
69489         (WebCore::RenderOverflow::leftLayoutOverflow):
69490         (WebCore::RenderOverflow::rightLayoutOverflow):
69491         (WebCore::RenderOverflow::topVisualOverflow):
69492         (WebCore::RenderOverflow::bottomVisualOverflow):
69493         (WebCore::RenderOverflow::leftVisualOverflow):
69494         (WebCore::RenderOverflow::rightVisualOverflow):
69495         (WebCore::RenderOverflow::setTopLayoutOverflow):
69496         (WebCore::RenderOverflow::setBottomLayoutOverflow):
69497         (WebCore::RenderOverflow::setLeftLayoutOverflow):
69498         (WebCore::RenderOverflow::setRightLayoutOverflow):
69499         (WebCore::RenderOverflow::setTopVisualOverflow):
69500         (WebCore::RenderOverflow::setBottomVisualOverflow):
69501         (WebCore::RenderOverflow::setLeftVisualOverflow):
69502         (WebCore::RenderOverflow::setRightVisualOverflow):
69503         (WebCore::RenderOverflow::layoutOverflowRect):
69504         (WebCore::RenderOverflow::visualOverflowRect):
69505         (WebCore::RenderOverflow::combinedOverflowRect):
69506         (WebCore::RenderOverflow::move):
69507         (WebCore::RenderOverflow::addLayoutOverflow):
69508         (WebCore::RenderOverflow::addVisualOverflow):
69509         (WebCore::RenderOverflow::resetLayoutOverflow):
69510         * rendering/RenderPartObject.cpp:
69511         (WebCore::RenderPartObject::layout):
69512         * rendering/RenderReplaced.cpp:
69513         (WebCore::RenderReplaced::~RenderReplaced):
69514         (WebCore::RenderReplaced::layout):
69515         (WebCore::RenderReplaced::shouldPaint):
69516         (WebCore::RenderReplaced::positionForPoint):
69517         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
69518         * rendering/RenderReplaced.h:
69519         * rendering/RenderScrollbarPart.cpp:
69520         (WebCore::RenderScrollbarPart::layout):
69521         (WebCore::RenderScrollbarPart::paintIntoRect):
69522         * rendering/RenderSlider.cpp:
69523         (WebCore::RenderSlider::layout):
69524         * rendering/RenderTable.cpp:
69525         (WebCore::RenderTable::layout):
69526         (WebCore::RenderTable::paint):
69527         * rendering/RenderTableCell.cpp:
69528         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
69529         * rendering/RenderTableSection.cpp:
69530         (WebCore::RenderTableSection::layoutRows):
69531         * rendering/RenderTableSection.h:
69532         * rendering/RenderText.cpp:
69533         (WebCore::RenderText::positionForPoint):
69534         (WebCore::RenderText::localCaretRect):
69535         * rendering/RenderView.cpp:
69536         (WebCore::RenderView::layout):
69537         * rendering/RootInlineBox.cpp:
69538         (WebCore::RootInlineBox::addHighlightOverflow):
69539         (WebCore::RootInlineBox::adjustPosition):
69540         (WebCore::RootInlineBox::verticallyAlignBoxes):
69541         (WebCore::RootInlineBox::selectionTop):
69542         * rendering/RootInlineBox.h:
69543         (WebCore::RootInlineBox::RootInlineBox):
69544         (WebCore::RootInlineBox::nextRootBox):
69545         (WebCore::RootInlineBox::prevRootBox):
69546         (WebCore::RootInlineBox::lineTop):
69547         (WebCore::RootInlineBox::lineBottom):
69548         (WebCore::RootInlineBox::selectionBottom):
69549         (WebCore::RootInlineBox::selectionHeight):
69550         (WebCore::RootInlineBox::floats):
69551         (WebCore::RootInlineBox::floatsPtr):
69552         (WebCore::RootInlineBox::setLineTopBottomPositions):
69553         * rendering/SVGRootInlineBox.cpp:
69554         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
69555
69556 2009-08-18  Alexey Proskuryakov  <ap@apple.com>
69557
69558         Reviewed by Darin Adler.
69559
69560         https://bugs.webkit.org/show_bug.cgi?id=28431
69561         <rdar://problem/7137610> Application Cache doesn't work with HTTP authentication
69562
69563         Test: http/tests/appcache/auth.html
69564
69565         * loader/appcache/ApplicationCacheGroup.h:
69566         (WebCore::ApplicationCacheGroup::shouldUseCredentialStorage): If appcache is enabled,
69567         always allow it to use stored credentials (we can't ask WebKit client, and maybe we
69568         shouldn't ask it, because it's not a document that's loading these resources).
69569
69570 2009-08-18  Anders Carlsson  <andersca@apple.com>
69571
69572         Reviewed by John Sullivan and David Hyatt.
69573
69574         Fix <rdar://problem/7147996>
69575
69576         * platform/ScrollView.cpp:
69577         (WebCore::ScrollView::setHasHorizontalScrollbar):
69578         (WebCore::ScrollView::setHasVerticalScrollbar):
69579         Update the style of the scroll bars.
69580         
69581         * rendering/RenderScrollbar.cpp:
69582         (WebCore::RenderScrollbar::RenderScrollbar):
69583         Calculate the size of the scrollbar and set it as the frame size.
69584
69585 2009-08-18  Eric Carlson  <eric.carlson@apple.com>
69586
69587         Reviewed by Simon Fraser.
69588
69589         HTMLMediaElement should fire 'progress' event before 'load'
69590         https://bugs.webkit.org/show_bug.cgi?id=28314
69591
69592         Test: media/progress-event-at-least-one.html
69593
69594         * html/HTMLMediaElement.cpp:
69595         (WebCore::HTMLMediaElement::setNetworkState):
69596             Schedule 'progress' event before 'load'.
69597
69598 2009-08-18  Peter Kasting  <pkasting@google.com>
69599
69600         Reviewed by Eric Seidel.
69601
69602         https://bugs.webkit.org/show_bug.cgi?id=28415
69603         Set svn:eol-style CRLF on all .sln and .vcproj files that don't already
69604         have it.
69605
69606         * WebCore.vcproj/QTMovieWin.vcproj:
69607         * WebCore.vcproj/WebCoreGenerated.vcproj:
69608
69609 2009-08-18  Drew Wilson  <atwilson@google.com>
69610
69611         Reviewed by Eric Seidel.
69612
69613         Need to extend DumpRenderTree to expose number of worker threads
69614         https://bugs.webkit.org/show_bug.cgi?id=28292
69615
69616         Expose WorkerThread::workerThreadCount() for DumpRenderTree so we can write worker lifecycle tests.
69617
69618         Tests: fast/workers/shared-worker-lifecycle.html-disabled
69619                fast/workers/worker-lifecycle.html
69620
69621         * WebCore.base.exp:
69622         Exported WorkerThread::workerThreadCount().
69623         * WebCore.xcodeproj/project.pbxproj:
69624         * workers/WorkerThread.cpp:
69625         Added tracking of the number of worker threads.
69626         (WebCore::threadCountMutex):
69627         (WebCore::WorkerThread::workerThreadCount):
69628         (WebCore::WorkerThread::WorkerThread):
69629         (WebCore::WorkerThread::~WorkerThread):
69630         * workers/WorkerThread.h:
69631
69632 2009-08-18  Ariya Hidayat  <ariya.hidayat@nokia.com>
69633
69634         Unreviewed, build fix.
69635
69636         [Qt] Add new files I forgot to add in r47424.
69637
69638 2009-08-18  Markus Goetz <Markus.Goetz@nokia.com>
69639
69640         Reviewed by Ariya Hidayat.
69641
69642         [Qt] Implement prefetchDNS() function.
69643
69644         * WebCore.pro:
69645         * platform/qt/TemporaryLinkStubs.cpp:
69646
69647 2009-08-18  Kent Tamura  <tkent@chromium.org>
69648
69649         Reviewed by Eric Seidel.
69650
69651         Support for parsing <datalist> element and generating HTMLDataListElement nodes.
69652         https://bugs.webkit.org/show_bug.cgi?id=26915
69653
69654         Tests: fast/forms/datalist-nonoption-child.html
69655                fast/forms/datalist.html
69656
69657         * WebCore.gypi:
69658         * WebCore.pro:
69659         * WebCore.vcproj/WebCore.vcproj:
69660         * WebCore.vcproj/WebCoreCommon.vsprops:
69661         * WebCore.vcproj/build-generated-files.sh:
69662         * WebCore.xcodeproj/project.pbxproj:
69663         * WebCoreSources.bkl:
69664         * css/html.css:
69665         * html/CollectionType.h:
69666         (WebCore::):
69667         * html/HTMLCollection.cpp:
69668         (WebCore::HTMLCollection::itemAfter):
69669         * html/HTMLDataListElement.cpp: Added.
69670         (WebCore::HTMLDataListElement::HTMLDataListElement):
69671         (WebCore::HTMLDataListElement::~HTMLDataListElement):
69672         (WebCore::HTMLDataListElement::checkDTD):
69673         (WebCore::HTMLDataListElement::options):
69674         * html/HTMLDataListElement.h: Added.
69675         * html/HTMLDataListElement.idl: Added.
69676         * html/HTMLElement.cpp:
69677         (WebCore::inlineTagList):
69678         * html/HTMLParser.cpp:
69679         (WebCore::HTMLParser::isAffectedByResidualStyle):
69680         * html/HTMLTagNames.in:
69681
69682 2009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>
69683
69684         Reviewed by Eric Seidel.
69685
69686         -webkit-box-orient:horizontal doesn't work on <button> tag
69687         https://bugs.webkit.org/show_bug.cgi?id=34445
69688
69689         Make a flexible button's anonymous child flexible and pass the
69690         parent's box-orient to the anonymous child.
69691
69692         Also, added a renderName for anonymous flexible boxes.
69693
69694         Test: fast/flexbox/box-orient-button.html
69695
69696         * rendering/RenderBlock.cpp:
69697         (WebCore::RenderBlock::createAnonymousBlock):
69698         * rendering/RenderBlock.h:
69699         * rendering/RenderButton.cpp:
69700         (WebCore::RenderButton::addChild):
69701         (WebCore::RenderButton::setupInnerStyle):
69702         * rendering/RenderFlexibleBox.cpp:
69703         (WebCore::RenderFlexibleBox::renderName):
69704
69705 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
69706
69707         Reviewed by Dave Hyatt.
69708         
69709         Render -webkit-mask via compositing layers when possible
69710         https://bugs.webkit.org/show_bug.cgi?id=28414
69711         
69712         Implement accelerated compositing of -webkit-mask, when combined
69713         with already-composited content.
69714         
69715         RenderLayerBacking now creates an additional GraphicsLayer for the mask contents,
69716         and sets this as the mask on another GraphicsLayer via the setMaskLayer() method.
69717         GraphicsLayerCA then applies the mask using -[CALayer setMask:].
69718         
69719         The enum values for GraphicsLayerPaintingPhase were renamed to avoid the
69720         confusion with "mask", and a new value, GraphicsLayerPaintMask, was added which
69721         indicates that just the mask is painting.
69722         
69723         When painting the composited mask, we need to paint with the normal compositing
69724         mode rather than CompositeDestinationIn, so InlineFlowBox and RenderBox now consult
69725         layer()->hasCompositedMask() to pick the mode. If the mask is composited, they no longer
69726         need to make transparency layers.
69727         
69728         We no longer have to throw video rendering into software because of masks.
69729         
69730         When a masked element has composited descendants, that element needs to
69731         become composited so that the mask can be applied via compositing.
69732
69733         Tests: compositing/masks/masked-ancestor.html
69734                compositing/masks/simple-composited-mask.html
69735
69736         * platform/graphics/GraphicsLayer.cpp:
69737         (WebCore::GraphicsLayer::GraphicsLayer):
69738         * platform/graphics/GraphicsLayer.h:
69739         (WebCore::GraphicsLayer::maskLayer):
69740         (WebCore::GraphicsLayer::setMaskLayer):
69741         (WebCore::GraphicsLayer::paintingPhase):
69742         (WebCore::GraphicsLayer::setPaintingPhase):
69743         * platform/graphics/GraphicsLayerClient.h:
69744         (WebCore::):
69745         * platform/graphics/mac/GraphicsLayerCA.h:
69746         (WebCore::GraphicsLayerCA::):
69747         * platform/graphics/mac/GraphicsLayerCA.mm:
69748         (WebCore::GraphicsLayerCA::setMaskLayer):
69749         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
69750         (WebCore::GraphicsLayerCA::commitLayerChanges):
69751         (WebCore::GraphicsLayerCA::updateMaskLayer):
69752         * rendering/InlineFlowBox.cpp:
69753         (WebCore::InlineFlowBox::paintMask):
69754         * rendering/RenderBox.cpp:
69755         (WebCore::RenderBox::paintMaskImages):
69756         * rendering/RenderLayer.cpp:
69757         (WebCore::RenderLayer::hasCompositedMask):
69758         * rendering/RenderLayer.h:
69759         (WebCore::RenderLayer::hasCompositedMask):
69760         * rendering/RenderLayerBacking.cpp:
69761         (WebCore::RenderLayerBacking::~RenderLayerBacking):
69762         (WebCore::RenderLayerBacking::destroyGraphicsLayer):
69763         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
69764         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
69765         (WebCore::RenderLayerBacking::updateForegroundLayer):
69766         (WebCore::RenderLayerBacking::updateMaskLayer):
69767         (WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer):
69768         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
69769         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
69770         (WebCore::RenderLayerBacking::paintIntoLayer):
69771         (WebCore::RenderLayerBacking::paintContents):
69772         * rendering/RenderLayerBacking.h:
69773         (WebCore::RenderLayerBacking::hasMaskLayer):
69774         * rendering/RenderLayerCompositor.cpp:
69775         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
69776         (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
69777         (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing):
69778         * rendering/RenderLayerCompositor.h:
69779
69780 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
69781
69782         Reviewed by Dave Hyatt.
69783
69784         Layer content misplaced with compositing, z-index and overflow
69785         https://bugs.webkit.org/show_bug.cgi?id=28361
69786         
69787         The foreground GraphicsLayer (used to render element foreground when the element has 
69788         negative z-order children) was misplaced when there is a clipping layer (which clips
69789         children). The foreground layer is parented under the clipping layer so that the foreground
69790         depth-sorts with the layer's children, so its geometry needs to be computed relative to
69791         that clipping layer.
69792         
69793         Also clarified some FIXME comments, and corrected a debug-only layer name.
69794
69795         Test: compositing/geometry/clipping-foreground.html
69796
69797         * platform/graphics/mac/GraphicsLayerCA.mm:
69798         (WebCore::GraphicsLayerCA::updateSublayerList):
69799         * rendering/RenderLayerBacking.cpp:
69800         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
69801         (WebCore::RenderLayerBacking::updateForegroundLayer):
69802         * rendering/RenderLayerCompositor.cpp:
69803         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
69804
69805 2009-08-17  Mark Rowe  <mrowe@apple.com>
69806
69807         Reviewed by Sam Weinig.
69808
69809         Fix leaks of SVGElementInstance seen during regression tests.
69810
69811         r47313 made TreeShared types start with a ref-count of 1, but SVGElementInstance was mistakenly
69812         not updated to have a create method that adopted the initial reference.  This lead to the instances
69813         of SVGElementInstance allocated by SVGUseElement being leaked.
69814
69815         * svg/SVGElementInstance.h:
69816         (WebCore::SVGElementInstance::create):
69817         * svg/SVGUseElement.cpp:
69818         (WebCore::SVGUseElement::buildPendingResource):
69819         (WebCore::SVGUseElement::buildInstanceTree):
69820         (WebCore::SVGUseElement::handleDeepUseReferencing):
69821
69822 2009-08-17  Brady Eidson  <beidson@apple.com>
69823
69824         Reviewed by Sam Weinig.
69825
69826         Some cleanup towards https://bugs.webkit.org/show_bug.cgi?id=13631
69827         Page Cache should support pages with frames.
69828
69829         - Re-factor all remaining page cache code out of DocumentLoader, as CachedPage/CacheFrame loads
69830           are solely the responsibility of FrameLoader.
69831         - Enhance some page cache related Logging to help development.
69832
69833         * inspector/InspectorController.cpp:
69834         (WebCore::InspectorController::didCommitLoad):
69835         (WebCore::InspectorController::identifierForInitialRequest):
69836
69837         * loader/DocumentLoader.cpp:
69838         (WebCore::DocumentLoader::DocumentLoader):
69839         * loader/DocumentLoader.h:
69840
69841         * loader/FrameLoader.cpp:
69842         (WebCore::FrameLoader::FrameLoader):
69843         (WebCore::FrameLoader::commitProvisionalLoad):
69844         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
69845         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
69846         * loader/FrameLoader.h:
69847         (WebCore::FrameLoader::isLoadingFromCachedPage):
69848
69849 2009-08-17  Roland Steiner  <rolandsteiner@google.com>
69850
69851         Reviewed by Eric Seidel.
69852
69853         Moved implementation of isAfterContent to RenderObject
69854         (as inline method to avoid potential performance regressions).
69855
69856         BUG 28376 -  [Cleanup] isAfterContent() implemented twice, should be member of RenderObject
69857         (https://bugs.webkit.org/show_bug.cgi?id=28376)
69858
69859         * rendering/RenderBox.cpp:
69860         * rendering/RenderBox.h:
69861         * rendering/RenderInline.cpp:
69862         * rendering/RenderObject.h:
69863         (WebCore::RenderObject::isAfterContent):
69864
69865 2009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>
69866
69867         Reviewed by Darin Adler.
69868
69869         Assertion failure in WebCore::RenderHTMLCanvas::layout
69870         https://bugs.webkit.org/show_bug.cgi?id=12052
69871
69872         Don't handle run-in if the element is not a block element.
69873
69874         Test: fast/runin/nonblock-runin.html
69875
69876         * rendering/RenderBlock.cpp:
69877         (WebCore::RenderBlock::handleRunInChild):
69878
69879 2009-08-17  Benjamin C Meyer  <benjamin.meyer@torchmobile.com>
69880
69881         Reviewed by Darin Adler.
69882
69883         Fix createImageData to raise the NOT_SUPPORTED_ERR exception when
69884         either of the arguments are not finite.
69885
69886         According to
69887         http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation:
69888         "If any of the arguments to createImageData() or getImageData() are
69889         infinite or NaN, or if the createImageData()  method is invoked with
69890         only one argument but that argument is null, the method must instead
69891         raise a NOT_SUPPORTED_ERR  exception."
69892
69893         Test: http://philip.html5.org/tests/canvas/suite/tests/2d.imageData.create.nonfinite.html
69894
69895         * html/canvas/CanvasRenderingContext2D.cpp:
69896         (WebCore::CanvasRenderingContext2D::createImageData):
69897         * html/canvas/CanvasRenderingContext2D.h:
69898         * html/canvas/CanvasRenderingContext2D.idl:
69899
69900 2009-08-17  Jeremy Orlow  <jorlow@chromium.org>
69901
69902         Reviewed by Darin Fisher.
69903
69904         Add a way to release the storage lock
69905         https://bugs.webkit.org/show_bug.cgi?id=28411
69906
69907         Two scripts within the same origin that are accessing LocalStorage must not do
69908         it simultaneously, according to the spec.  There are some cases, however, where
69909         a script might want to override this behavior.  navigator.getStorageUpdates()
69910         was added for this reason:
69911         http://dev.w3.org/html5/spec/Overview.html#manually-releasing-the-storage-mutex
69912
69913         Add this function to navigator and hook it up to DOM Storage.
69914
69915         * page/Navigator.cpp:
69916         (WebCore::Navigator::getStorageUpdates):
69917         * page/Navigator.h:
69918         * page/Navigator.idl:
69919         * storage/StorageNamespace.h:
69920         * storage/StorageNamespaceImpl.cpp:
69921         (WebCore::StorageNamespaceImpl::unlock):
69922         * storage/StorageNamespaceImpl.h:
69923
69924 2009-08-17  Mark Rowe  <mrowe@apple.com>
69925
69926         Build fix.
69927
69928         CFNetwork isn't present in the framework search path on Mac OS X so we can't directly include its headers.
69929         We include CoreServices.h, the umbrella framework that contains CFNetwork, from the prefix header which
69930         results in the CFNetwork headers being included on Mac OS X.  CoreServices.h doesn't include CFNetwork.h on
69931         Windows though so we explicitly include this header from the prefix header when on Windows.
69932
69933         * WebCorePrefix.h:
69934         * platform/network/cf/DNSCFNet.cpp: Remove #include that is no longer needed.
69935
69936 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
69937
69938         Trying a better build fix (the previous one broke Leopard bots, although it did build for me).
69939
69940         * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFNetwork.h instead.
69941
69942 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
69943
69944         Trying to fix Windows build.
69945
69946         * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFHost.h.
69947
69948 2009-08-17  Peter Kasting  <pkasting@google.com>
69949
69950         Reviewed by Steve Falkenburg.
69951
69952         https://bugs.webkit.org/show_bug.cgi?id=27323
69953         Only add Cygwin to the path when it isn't already there.  This avoids
69954         causing problems for people who purposefully have non-Cygwin versions of
69955         executables like svn in front of the Cygwin ones in their paths.
69956
69957         * WebCore.vcproj/QTMovieWin.vcproj:
69958         * WebCore.vcproj/WebCoreCommon.vsprops:
69959         * WebCore.vcproj/WebCoreGenerated.vcproj:
69960
69961 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
69962
69963         Reviewed by Geoff Garen.
69964
69965         https://bugs.webkit.org/show_bug.cgi?id=28401
69966         Add support for DNS prefetching with CFNetwork
69967
69968         This is just an optimization, no behavior change, so no tests.
69969
69970         * platform/network/cf/DNSCFNet.cpp:
69971         (WebCore::clientCallback):
69972         (WebCore::prefetchDNS):
69973         Use async CFHostStartInfoResolution() for implementation.
69974
69975 2009-08-17  Aaron Boodman  <aa@chromium.org>
69976
69977         Reviewed by Alexey Proskuryakov.
69978
69979         https://bugs.webkit.org/show_bug.cgi?id=28313: Combine ThreadableLoaderOptions::crossOriginRequestPolicy and
69980         ThreadableLoaderOptions::crossOriginRedirectPolicy since they are always set the same way.
69981
69982         Also, tightened up behavior of XMLHttpRequest with cross-origin redirects and access control. We have not implemented
69983         redirects access control, so we should never redirect across origins. But in two edge cases, we were:
69984
69985         * Asynchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
69986           authorization headers) to a resource on origin A.
69987         * Synchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
69988           authorization headers) to another resource on origin B (this time sending access control authorization headers).
69989
69990         Test: http/tests/xmlhttprequest/access-control-and-redirects.html
69991
69992         * loader/DocumentThreadableLoader.cpp:
69993         (WebCore::DocumentThreadableLoader::willSendRequest): Refactor redirect checking code into shared location.
69994         (WebCore::DocumentThreadableLoader::loadRequest): Ditto.
69995         (WebCore::DocumentThreadableLoader::isAllowedRedirect): Ditto.
69996         * loader/DocumentThreadableLoader.h:
69997         * loader/ThreadableLoader.h:
69998         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Remove ThreadableLoaderOptions::crossOriginRedirectPolicy.
69999         * page/EventSource.cpp:
70000         (WebCore::EventSource::connect): Ditto.
70001         * workers/Worker.cpp: Ditto.
70002         (WebCore::Worker::Worker): Ditto.
70003         * workers/WorkerContext.cpp: Ditto.
70004         (WebCore::WorkerContext::importScripts): Ditto.
70005         * workers/WorkerScriptLoader.cpp:
70006         (WebCore::WorkerScriptLoader::loadSynchronously): Ditto.
70007         (WebCore::WorkerScriptLoader::loadAsynchronously): Ditto.
70008         * workers/WorkerScriptLoader.h: 
70009         * xml/XMLHttpRequest.cpp:
70010         (WebCore::XMLHttpRequest::createRequest): Ditto.
70011
70012 2009-08-17  Adam Langley  <agl@google.com>
70013
70014         Reviewed by Dan Bernstein (relanding of r47157).
70015
70016         Fix a typo in platform/graphics/skia/PlatformContextSkia.cpp
70017
70018         https://bugs.webkit.org/show_bug.cgi?id=28172
70019
70020         This was originally fixed in r47157, however it triggered a bug in
70021         Skia which caused Chromium Linux to fail layout tests in debug mode.
70022         It was reverted in r47189 while we sorted it out.
70023
70024         The Skia bug was fixed in Skia's r321 [1] and rolled into Chromium in
70025         Chromium's r23523. This is a reland of the original patch.
70026
70027         No new tests because it's a just typo fix.
70028
70029         [1] http://code.google.com/p/skia/source/detail?r=321
70030
70031         * platform/graphics/skia/PlatformContextSkia.cpp:
70032         (PlatformContextSkia::setupPaintCommon):
70033
70034 2009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
70035
70036         Reviewed by Xan Lopez.
70037
70038         Protect ResourceHandle for g_file_query_info_async call, using the
70039         same technique we already use for HTTP requests that take the soup
70040         path.
70041
70042         * platform/network/soup/ResourceHandleSoup.cpp:
70043         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
70044         (WebCore::ResourceHandle::~ResourceHandle):
70045         (WebCore::finishedCallback):
70046         (WebCore::):
70047
70048 2009-08-17  Dan Bernstein  <mitz@apple.com>
70049
70050         Reviewed by Darin Adler.
70051
70052         REGRESSION (r47255): MediaWiki's (including Wikipedia) navigation pane
70053         appears below the main content
70054         https://bugs.webkit.org/show_bug.cgi?id=28350
70055
70056         A particular version of the MediaWiki software detects WebKit through
70057         user agent sniffing and imports a style sheet called KHTMLFixes.css,
70058         which contains a single rule that was meant to work around some KHTML
70059         bug, but currently has the sole effect of causing the float containing
70060         the main article content to extend all the way to the left and thus push
70061         down the left navigation pane.
70062
70063         * css/CSSImportRule.cpp:
70064         (WebCore::CSSImportRule::setCSSStyleSheet): If site specific hacks are
70065         enabled, check if the imported style sheet is the MediaWiki
70066         KHTMLFixes.css. If so, remove the offending rule.
70067
70068 2009-08-17  Brent Fulgham  <bfulgham@webkit.org>
70069
70070         Reviewed by Kevin Ollivier.
70071
70072         Correct crash when processing local cancelled requests.
70073
70074         No new tests. Existing fast/images/favicon-as-image.html
70075         displays the problem.
70076
70077         * platform/network/curl/ResourceHandleManager.cpp:
70078         (WebCore::writeCallback): Add check for m_cancelled after
70079           performing local-file processing.
70080         (WebCore::ResourceHandleManager::downloadTimerCallback): Add
70081           check for m_cancelled after performing local-file processing.
70082
70083 2009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
70084
70085         Unreviewed. Reverts 47371, since it breaks GTK+.
70086
70087         * platform/graphics/ImageSource.cpp:
70088         (WebCore::ImageSource::setData):
70089         * platform/image-decoders/ImageDecoder.cpp: Removed.
70090         * platform/image-decoders/ImageDecoder.h:
70091         (WebCore::ImageDecoder::ImageDecoder):
70092         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
70093         (WebCore::convertCMYKToRGBA):
70094         (WebCore::convertRGBToRGBA):
70095         (WebCore::JPEGImageDecoder::outputScanlines):
70096         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
70097         * platform/image-decoders/png/PNGImageDecoder.cpp:
70098         (WebCore::PNGImageDecoder::headerAvailable):
70099         (WebCore::PNGImageDecoder::rowAvailable):
70100
70101 2009-08-17  Yong Li  <yong.li@torchmobile.com>
70102
70103         Reviewed by Adam Treat.
70104
70105         Allow image decoders to down-sample the image directly
70106         to scaled output buffer. This can be enabled/disabled by
70107         macro ENABLE(IMAGE_DECODER_DOWN_SAMPLING).
70108         Only JPEG and PNG decoders are modified to support it now.
70109         https://bugs.webkit.org/show_bug.cgi?id=28308
70110
70111         * platform/graphics/ImageSource.cpp:
70112         (WebCore::ImageSource::setData):
70113         * platform/image-decoders/ImageDecoder.cpp: Added.
70114         * platform/image-decoders/ImageDecoder.h:
70115         (WebCore::ImageDecoder::ImageDecoder):
70116         (WebCore::ImageDecoder::setMaxNumPixels):
70117         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
70118         (WebCore::convertCMYKToRGBA):
70119         (WebCore::convertRGBToRGBA):
70120         (WebCore::JPEGImageDecoder::outputScanlines):
70121         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
70122         (WebCore::JPEGImageDecoder::setSize):
70123         * platform/image-decoders/png/PNGImageDecoder.cpp:
70124         (WebCore::PNGImageDecoder::headerAvailable):
70125         (WebCore::PNGImageDecoder::rowAvailable):
70126
70127 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
70128
70129         Build fix: fix float literals to avoid casting warnings.
70130
70131         * rendering/MediaControlElements.cpp:
70132
70133 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
70134
70135         Reviewed by Eric Seidel.
70136
70137         Use OwnPtrs for GraphicsLayers
70138         https://bugs.webkit.org/show_bug.cgi?id=28399
70139
70140         Convert RenderLayerBacking and RenderLayerCompositor to use OwnPtrs
70141         for their references to GraphicsLayers.
70142
70143         * platform/graphics/GraphicsLayer.h:
70144         * platform/graphics/mac/GraphicsLayerCA.mm:
70145         (WebCore::GraphicsLayer::create):
70146         * rendering/RenderLayerBacking.cpp:
70147         (WebCore::RenderLayerBacking::RenderLayerBacking):
70148         (WebCore::RenderLayerBacking::createGraphicsLayer):
70149         (WebCore::RenderLayerBacking::destroyGraphicsLayer):
70150         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
70151         (WebCore::RenderLayerBacking::updateInternalHierarchy):
70152         (WebCore::RenderLayerBacking::updateClippingLayers):
70153         (WebCore::RenderLayerBacking::updateForegroundLayer):
70154         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
70155         * rendering/RenderLayerBacking.h:
70156         (WebCore::RenderLayerBacking::graphicsLayer):
70157         (WebCore::RenderLayerBacking::clippingLayer):
70158         (WebCore::RenderLayerBacking::ancestorClippingLayer):
70159         (WebCore::RenderLayerBacking::foregroundLayer):
70160         (WebCore::RenderLayerBacking::parentForSublayers):
70161         (WebCore::RenderLayerBacking::childForSuperlayers):
70162         * rendering/RenderLayerCompositor.cpp:
70163         (WebCore::RenderLayerCompositor::~RenderLayerCompositor):
70164         (WebCore::RenderLayerCompositor::rootPlatformLayer):
70165         (WebCore::RenderLayerCompositor::didMoveOnscreen):
70166         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
70167         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
70168         * rendering/RenderLayerCompositor.h:
70169
70170 2009-08-17  Pavel Feldman  <pfeldman@chromium.org>
70171
70172         Reviewed by Timothy Hatcher.
70173
70174         WebInspector: Reset InjectedScript styles cache on document change.
70175
70176         https://bugs.webkit.org/show_bug.cgi?id=28390
70177
70178         * inspector/InspectorController.cpp:
70179         (WebCore::InspectorController::close):
70180         (WebCore::InspectorController::populateScriptObjects):
70181         (WebCore::InspectorController::didCommitLoad):
70182         (WebCore::InspectorController::resetInjectedScript):
70183         * inspector/InspectorController.h:
70184         * inspector/InspectorDOMAgent.cpp:
70185         (WebCore::InspectorDOMAgent::setDocument):
70186         * inspector/InspectorDOMAgent.h:
70187         * inspector/front-end/InjectedScript.js:
70188         (InjectedScript._reset):
70189
70190 2009-08-17  Darin Adler  <darin@apple.com>
70191
70192         Reviewed by Sam Weinig.
70193
70194         * rendering/MediaControlElements.cpp: Removed unneeded include of CString.h,
70195         resorted includes, renamed "doc" to "document" and fixed formatting.
70196
70197 2009-08-17  Darin Adler  <darin@apple.com>
70198
70199         Reviewed by Sam Weinig.
70200
70201         Removed functions now unneeded due to use of Reflect to create
70202         language bindings.
70203
70204         * accessibility/AccessibilityRenderObject.cpp:
70205         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
70206         Get at usemap attribute directly.
70207
70208         * editing/DeleteButtonController.cpp:
70209         (WebCore::DeleteButtonController::createDeletionUI):
70210         Get at id attribute directly.
70211         * editing/EditorCommand.cpp:
70212         (WebCore::executeInsertHorizontalRule): Ditto.
70213
70214         * html/HTMLDocument.cpp:
70215         (WebCore::HTMLDocument::dir): Get at dir attribute of body directly.
70216         (WebCore::HTMLDocument::setDir): Ditto.
70217
70218         * html/HTMLElement.cpp: Deleted unused functions.
70219         * html/HTMLElement.h: Ditto.
70220
70221         * html/HTMLImageElement.cpp: Deleted unused functions.
70222         (WebCore::HTMLImageElement::alt): Changed to return const AtomicString&.
70223         (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Changed to
70224         get at usemap attribute directly, but added a FIXME because although
70225         it is what the old code did, it looks to not be entirely correct.
70226
70227         * html/HTMLImageElement.h: Deleted unused functions.
70228
70229         * rendering/HitTestResult.cpp:
70230         (WebCore::HitTestResult::altDisplayString): Get at alt attribute directly.
70231
70232         * rendering/RenderImage.cpp:
70233         (WebCore::RenderImage::imageMap): Get at usemap attribute directly.
70234
70235         * rendering/RenderLayerBacking.cpp:
70236         (WebCore::RenderLayerBacking::createGraphicsLayer): Get at id attribute
70237         directly.
70238         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Removed
70239         explicit HTMLNames namespace qualification.
70240
70241 2009-08-17  Darin Adler  <darin@apple.com>
70242
70243         Reviewed by Sam Weinig.
70244
70245         * dom/Document.cpp:
70246         (WebCore::Document::setFocusedNode): Removed unneeded calls
70247         to RefPtr::get.
70248
70249 2009-08-17  Pavel Feldman  <pfeldman@chromium.org>
70250
70251         Reviewed by Timothy Hatcher.
70252
70253         WebInspector: Discard DOM Node bindings on any document change.
70254
70255         https://bugs.webkit.org/show_bug.cgi?id=28389
70256
70257         * inspector/InspectorDOMAgent.cpp:
70258         (WebCore::InspectorDOMAgent::setDocument):
70259
70260 2009-08-13  Joseph Pecoraro  <joepeck02@gmail.com>
70261
70262         Reviewed by Timothy Hatcher.
70263
70264         Inspector: Improve Cookie DataGrid to Show Hidden Data
70265         https://bugs.webkit.org/show_bug.cgi?id=28269
70266
70267         * English.lproj/localizedStrings.js: DataGrid Headers "Name", "Value", "Size", ...
70268         * WebCore.gypi: added missing files
70269
70270           Implemented Bindings for InspectorController.deleteCookie(name)
70271
70272         * inspector/InspectorBackend.idl:
70273         * bindings/js/JSInspectorBackendCustom.cpp:
70274         (WebCore::JSInspectorBackend::cookies):
70275         (WebCore::JSInspectorBackend::deleteCookie):
70276
70277           v8 Bindings Stubs
70278
70279         * bindings/v8/custom/V8CustomBinding.h:
70280         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
70281         (WebCore::CALLBACK_FUNC_DECL):
70282
70283           Removed WebInspector.Cookie
70284
70285         * inspector/front-end/Cookie.js: Removed.
70286         * inspector/front-end/inspector.html:
70287         * inspector/front-end/WebKit.qrc:
70288
70289           Improved DataGrid and Kept Fallback Behavior for Platforms that don't
70290           yet provide access to raw cookies.
70291
70292         * inspector/front-end/CookieItemsView.js:
70293         (WebInspector.CookieItemsView):
70294         (WebInspector.CookieItemsView.prototype.get statusBarItems):
70295         (WebInspector.CookieItemsView.prototype.update):
70296         (WebInspector.CookieItemsView.prototype.buildCookies):
70297         (WebInspector.CookieItemsView.prototype.dataGridForCookies):
70298         (WebInspector.CookieItemsView.prototype.fallbackUpdate.callback):
70299         (WebInspector.CookieItemsView.prototype.fallbackUpdate):
70300         (WebInspector.CookieItemsView.prototype.fallbackBuildCookiesFromString):
70301         (WebInspector.CookieItemsView.prototype.fallbackDataGridForCookies):
70302         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
70303
70304           Interaction with the page through Injected Script (for fallback behavior)
70305
70306         * inspector/front-end/DOMAgent.js:
70307         (InspectorController.getCookies):
70308         * inspector/front-end/InjectedScript.js:
70309         (InjectedScript.setStyleProperty): style fix
70310         (InjectedScript.getCookies):
70311
70312           Allow alignment of text inside DataGrids.
70313
70314         * inspector/front-end/DataGrid.js:
70315         (WebInspector.DataGrid):
70316         (WebInspector.DataGridNode.prototype.createCell):
70317         * inspector/front-end/DatabasesPanel.js:
70318         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
70319         * inspector/front-end/inspector.css:
70320
70321           Added deleteCookie(., ., String name)
70322           Modified getRawCookies to return a bool to know if its implemented
70323
70324         * platform/CookieJar.h:
70325
70326
70327           Implemented deleteCookie for Macs
70328
70329         * platform/mac/CookieJar.mm:
70330         (WebCore::getRawCookies):
70331         (WebCore::deleteCookie):
70332
70333           Stub Implementations for Other Platforms
70334
70335         * platform/haiku/CookieJarHaiku.cpp:
70336         (WebCore::getRawCookies):
70337         (WebCore::deleteCookie):
70338         * platform/network/chromium/CookieJarChromium.cpp:
70339         (WebCore::getRawCookies):
70340         (WebCore::deleteCookie):
70341         * platform/network/curl/CookieJarCurl.cpp:
70342         (WebCore::getRawCookies):
70343         (WebCore::deleteCookie):
70344         * platform/network/soup/CookieJarSoup.cpp:
70345         (WebCore::getRawCookies):
70346         (WebCore::deleteCookie):
70347         * platform/network/win/CookieJarCFNetWin.cpp:
70348         (WebCore::getRawCookies):
70349         (WebCore::deleteCookie):
70350         * platform/network/win/CookieJarWin.cpp:
70351         (WebCore::getRawCookies):
70352         (WebCore::deleteCookie):
70353         * platform/qt/CookieJarQt.cpp:
70354         (WebCore::getRawCookies):
70355         (WebCore::deleteCookie):
70356
70357 2009-08-17  Adam Treat  <adam.treat@torchmobile.com>
70358
70359         Blind build fix for Leopard.
70360
70361         * platform/graphics/GraphicsContext.cpp:
70362         (WebCore::GraphicsContext::adjustLineToPixelBoundaries):
70363
70364 2009-08-13  Mike Fenton  <mike.fenton@torchmobile.com>
70365
70366         Reviewed by Adam Treat.
70367
70368         Style fixes based on cpp_style.py and WebKit Style guide for
70369         GraphicsContextCG.cpp
70370
70371         https://bugs.webkit.org/show_bug.cgi?id=28268
70372
70373         * platform/graphics/cg/GraphicsContextCG.cpp:
70374         (WebCore::GraphicsContext::drawLine):
70375         (WebCore::GraphicsContext::drawEllipse):
70376         (WebCore::GraphicsContext::strokeArc):
70377         (WebCore::GraphicsContext::drawConvexPolygon):
70378         (WebCore::GraphicsContext::applyStrokePattern):
70379         (WebCore::GraphicsContext::drawPath):
70380         (WebCore::GraphicsContext::clipOut):
70381         (WebCore::GraphicsContext::clipOutEllipseInRect):
70382         (WebCore::GraphicsContext::addInnerRoundedRectClip):
70383         (WebCore::GraphicsContext::clipToImageBuffer):
70384         (WebCore::GraphicsContext::setPlatformShadow):
70385         (WebCore::GraphicsContext::setLineCap):
70386         (WebCore::GraphicsContext::setLineJoin):
70387         (WebCore::GraphicsContext::roundToDevicePixels):
70388         (WebCore::GraphicsContext::drawLineForText):
70389         (WebCore::GraphicsContext::setURLForRect):
70390         (WebCore::GraphicsContext::setImageInterpolationQuality):
70391         (WebCore::GraphicsContext::imageInterpolationQuality):
70392         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
70393         (WebCore::GraphicsContext::setCompositeOperation):
70394
70395 2009-08-13  Mike Fenton  <mike.fenton@torchmobile.com>
70396
70397         Reviewed by Adam Treat.
70398
70399         Style fixes based on cpp_style.py and WebKit Style guide for
70400         GraphicsContext.cpp/h, GraphicsContextCairo.cpp and GraphicsContextQt.cpp.
70401
70402         https://bugs.webkit.org/show_bug.cgi?id=28268
70403
70404         * platform/graphics/GraphicsContext.cpp:
70405         (WebCore::GraphicsContext::save):
70406         (WebCore::GraphicsContext::restore):
70407         (GraphicsContext::drawText):
70408         (GraphicsContext::initFocusRing):
70409         (GraphicsContext::focusRingBoundingRect):
70410         (GraphicsContext::drawImage):
70411         * platform/graphics/GraphicsContext.h:
70412         * platform/graphics/cairo/GraphicsContextCairo.cpp:
70413         (WebCore::GraphicsContext::drawLine):
70414         (WebCore::GraphicsContext::strokeArc):
70415         (WebCore::GraphicsContext::setLineCap):
70416         (WebCore::GraphicsContext::setLineJoin):
70417         (WebCore::toCairoOperator):
70418         * platform/graphics/qt/GraphicsContextQt.cpp:
70419
70420 2009-08-17  Darin Adler  <darin@apple.com>
70421
70422         Reviewed by Dan Bernstein.
70423
70424         Change HTMLAreaElement to use OwnArrayPtr
70425         https://bugs.webkit.org/show_bug.cgi?id=28386
70426
70427         * html/HTMLAreaElement.cpp:
70428         (WebCore::HTMLAreaElement::HTMLAreaElement): Removed unneeded initializer.
70429         (WebCore::HTMLAreaElement::~HTMLAreaElement): Removed unneeded delete call.
70430         (WebCore::HTMLAreaElement::parseMappedAttribute): Use the set function
70431         instead of deletion followed by assignment.
70432         * html/HTMLAreaElement.h: Use OwnArrayPtr.
70433
70434 2009-08-17  Darin Adler  <darin@apple.com>
70435
70436         Fix Windows build.
70437
70438         * dom/make_names.pl: Add back cast to (void*) needed on Windows.
70439
70440 2009-08-17  Darin Adler  <darin@apple.com>
70441
70442         Reviewed by Dan Bernstein.
70443
70444         Move noResize from HTMLFrameElementBase to HTMLFrameElement
70445         https://bugs.webkit.org/show_bug.cgi?id=28384
70446
70447         * html/HTMLFrameElement.cpp:
70448         (WebCore::HTMLFrameElement::HTMLFrameElement): Initialize m_noResize.
70449         (WebCore::HTMLFrameElement::parseMappedAttribute): Set m_noResize to true
70450         here if noresizeAttr is changed. This code was moved here from
70451         HTMLFrameElementBase, but I added some FIXME comments.
70452         (WebCore::HTMLFrameElement::setNoResize): Set the attribute based on
70453         boolean argument. Moved here from HTMLFrameElementBase.
70454
70455         * html/HTMLFrameElement.h: Moved noResize, setNoResize, and m_noResize
70456         here from HTMLFrameElementBase.
70457
70458         * html/HTMLFrameElementBase.cpp:
70459         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Removed m_noResize.
70460         (WebCore::HTMLFrameElementBase::parseMappedAttribute): Removed code to parse
70461         noresizeAttr.
70462
70463         * html/HTMLFrameElementBase.h: Removed noResize, setNoResize, and m_noResize.
70464
70465 2009-08-17  Darin Adler  <darin@apple.com>
70466
70467         Reviewed by Dan Bernstein.
70468
70469         Tweak HTMLFrameElementBase so that m_URL can be private
70470         https://bugs.webkit.org/show_bug.cgi?id=28385
70471
70472         * html/HTMLFrameElement.cpp:
70473         (WebCore::HTMLFrameElement::rendererIsNeeded): Removed m_URL argument.
70474         * html/HTMLFrameElementBase.cpp:
70475         (WebCore::HTMLFrameElementBase::isURLAllowed): Use m_URL instead of
70476         taking an argument.
70477         (WebCore::HTMLFrameElementBase::openURL): Removed m_URL argument.
70478         * html/HTMLFrameElementBase.h: Removed argument from isURLAllowed function.
70479         * html/HTMLIFrameElement.cpp:
70480         (WebCore::HTMLIFrameElement::rendererIsNeeded): Removed m_URL argument.
70481
70482 2009-08-17  Darin Adler  <darin@apple.com>
70483
70484         Reviewed by Dan Bernstein.
70485
70486         HTMLViewSourceDocument should use smart pointers
70487         https://bugs.webkit.org/show_bug.cgi?id=28378
70488
70489         * html/HTMLViewSourceDocument.cpp:
70490         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): Don't initialize
70491         pointers any more since RefPtr starts 0 by default.
70492         (WebCore::HTMLViewSourceDocument::createContainingTable): Use more specific
70493         types for local variables.
70494         (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Return a PassRefPtr,
70495         and use a RefPtr of a more specific type for a local variable.
70496         (WebCore::HTMLViewSourceDocument::addLine): Use more specific types for local
70497         variables, and use RefPtr as well.
70498         (WebCore::HTMLViewSourceDocument::addLink): Return a PassRefPtr, and use a
70499         RefPtr of a more specific type for a local variable.
70500
70501         * html/HTMLViewSourceDocument.h: Change return types to PassRefPtr and
70502         data member types to RefPtr.
70503
70504 2009-08-17  Darin Adler  <darin@apple.com>
70505
70506         Reviewed by Sam Weinig.
70507
70508         DOM attribute getter/setter functions should use const AtomicString& type
70509         https://bugs.webkit.org/show_bug.cgi?id=25425
70510
70511         Convert 4 more classes. These are classes I am going to make other changes
70512         to soon, so it's good to have this use of Reflect in the IDL out of the way.
70513
70514         * html/HTMLEmbedElement.idl: Use Reflect for many attributes.
70515         * html/HTMLFrameElement.idl: Ditto.
70516         * html/HTMLIFrameElement.idl: Ditto.
70517         * html/HTMLObjectElement.idl: Ditto.
70518
70519 2009-08-17  Darin Adler  <darin@apple.com>
70520
70521         Reviewed by Sam Weinig.
70522
70523         Script to create element factory needs changes to accommodate calling create
70524         https://bugs.webkit.org/show_bug.cgi?id=28379
70525
70526         * dom/make_names.pl: Tweak formatting. Remove lots of unneeded quotes
70527         around names used inside {}. Added new createWithNew property for tags
70528         that makes the factory use a create function instead of calling new.
70529         Renamed functions with initialize in their name to have default in their
70530         name, since they return an array full of default values and don't themselves
70531         initialize anything.
70532
70533 2009-08-16  Darin Adler  <darin@apple.com>
70534
70535         Reviewed by Dan Bernstein.
70536
70537         StyledElement should use ASCIICType instead of having its own toHex function
70538         https://bugs.webkit.org/show_bug.cgi?id=28377
70539
70540         * dom/StyledElement.cpp:
70541         (WebCore::StyledElement::addCSSColor): Use isASCIIHexDigit and toASCIIHexValue.
70542
70543 2009-08-16  Darin Adler  <darin@apple.com>
70544
70545         Reviewed by Dan Bernstein.
70546
70547         execCommand("InsertHorizontalRule") inserts a broken <hr> element
70548         https://bugs.webkit.org/show_bug.cgi?id=28375
70549
70550         * editing/EditorCommand.cpp:
70551         (WebCore::executeInsertHorizontalRule): Create an HTMLHRElement
70552         instead of just an HTMLElement.
70553
70554 2009-08-16  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
70555
70556         Reviewed by George Staikos.
70557
70558         [WML] <option> element & 'onpick' events - history navigation is broken
70559         https://bugs.webkit.org/show_bug.cgi?id=28371
70560
70561         After selecting an option element with an 'onpick' event associated with a 'go' task,
70562         the navigation is executed. When going back in history, the same 'onpick' event is fired
70563         again. Fix that problem, add wml/option-element-onpick-recursion.html covering the bug.
70564
70565         Test: wml/option-element-onpick-recursion.html
70566
70567         * wml/WMLOptionElement.cpp:
70568         (WebCore::WMLOptionElement::handleIntrinsicEventIfNeeded):
70569         * wml/WMLSelectElement.cpp:
70570         (WebCore::WMLSelectElement::WMLSelectElement):
70571         (WebCore::WMLSelectElement::selectInitialOptions):
70572         * wml/WMLSelectElement.h:
70573         (WebCore::WMLSelectElement::initialized):
70574
70575 2009-08-16  Anthony Ricaud  <rik@webkit.org>
70576
70577         Reviewed by Timothy Hatcher.
70578
70579         Inspector Resource filtering: keyboard Navigation always uses ALL resources
70580         https://bugs.webkit.org/show_bug.cgi?id=28231
70581         
70582         Determine if a resource is selectable on user action.
70583         
70584         * inspector/front-end/ResourcesPanel.js:
70585         (WebInspector.ResourceSidebarTreeElement.prototype.get selectable):
70586
70587 2009-08-16  David Kilzer  <ddkilzer@apple.com>
70588
70589         <http://webkit.org/b/28355> Replace MAX()/MIN() macros with type-safe std::max()/min() templates
70590
70591         Reviewed by Dan Bernstein.
70592
70593         * accessibility/mac/AccessibilityObjectWrapper.mm:
70594         (AXAttributeStringSetSpelling): Changed MIN() to min().
70595         * platform/graphics/mac/FontMacATSUI.mm:
70596         (WebCore::Font::selectionRectForComplexText): Changed MAX() to
70597         max() and MIN() to min().
70598         (WebCore::Font::floatWidthForComplexText): Ditto.
70599         * platform/graphics/mac/SimpleFontDataMac.mm: Added using
70600         std::max statement.
70601         (WebCore::SimpleFontData::platformInit): Changed MAX() to max().
70602         * platform/text/mac/TextCodecMac.cpp:
70603         (WebCore::TextCodecMac::decode): Changed MIN() to min().
70604
70605 2009-08-16  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
70606
70607         Reviewed by George Staikos.
70608
70609         [WML] Cleanup WMLIntrinsicEventHandling code
70610         https://bugs.webkit.org/show_bug.cgi?id=28358
70611
70612         Remove superflous "Event* evt" parameter from executeTask() methods. It's a leftover from the initial WML merge.
70613
70614         * wml/WMLAnchorElement.cpp:
70615         (WebCore::WMLAnchorElement::defaultEventHandler):
70616         * wml/WMLDoElement.cpp:
70617         (WebCore::WMLDoElement::defaultEventHandler):
70618         * wml/WMLGoElement.cpp:
70619         (WebCore::WMLGoElement::executeTask):
70620         * wml/WMLGoElement.h:
70621         * wml/WMLIntrinsicEventHandler.cpp:
70622         (WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent):
70623         * wml/WMLPrevElement.cpp:
70624         (WebCore::WMLPrevElement::executeTask):
70625         * wml/WMLPrevElement.h:
70626         * wml/WMLRefreshElement.cpp:
70627         (WebCore::WMLRefreshElement::executeTask):
70628         * wml/WMLRefreshElement.h:
70629         * wml/WMLTaskElement.h:
70630
70631 2009-08-16  Pavel Feldman  <pfeldman@chromium.org>
70632
70633         Reviewed by Timothy Hatcher.
70634
70635         WebInspector: A handful of DOMAgent-related fixes and cleanups.
70636
70637         - renamed elementId to nodeId in operations on nodes.
70638         - added load listeners to frame owners in InspectorDOMAgent.
70639         - removed InspectorController::inspectedWindowScriptObjectCleared event.
70640         - preserved isViaInspector flag for 'via inspector' marker to survive styles update.
70641         - removed contentDocument-related logic from ElementsPanel since it is handled in
70642             the InspectorDOMAgent.
70643         - removed DOM listeners unregistration and corresponding events from InspectorController.
70644         - made this.styles 'private' in ElementsPanel.
70645         - added TODO for the handleCopy processing.
70646
70647         https://bugs.webkit.org/show_bug.cgi?id=28356
70648
70649         * WebCore.order:
70650         * inspector/InspectorBackend.cpp:
70651         (WebCore::InspectorBackend::getChildNodes):
70652         (WebCore::InspectorBackend::setTextNodeValue):
70653         * inspector/InspectorBackend.h:
70654         * inspector/InspectorBackend.idl:
70655         * inspector/InspectorController.cpp:
70656         * inspector/InspectorController.h:
70657         * inspector/InspectorDOMAgent.cpp:
70658         (WebCore::InspectorDOMAgent::startListening):
70659         (WebCore::InspectorDOMAgent::stopListening):
70660         (WebCore::InspectorDOMAgent::handleEvent):
70661         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
70662         (WebCore::InspectorDOMAgent::getChildNodes):
70663         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
70664         (WebCore::InspectorDOMAgent::setTextNodeValue):
70665         (WebCore::InspectorDOMAgent::buildObjectForNode):
70666         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
70667         (WebCore::InspectorDOMAgent::innerParentNode):
70668         * inspector/InspectorDOMAgent.h:
70669         * inspector/InspectorFrontend.cpp:
70670         * inspector/InspectorFrontend.h:
70671         * inspector/front-end/DOMAgent.js:
70672         (WebInspector.DOMDocument.prototype.addEventListener):
70673         (WebInspector.DOMDocument.prototype.removeEventListener):
70674         (WebInspector.DOMDocument.prototype._fireDomEvent):
70675         (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
70676         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
70677         (WebInspector.DOMAgent.prototype._setChildNodes):
70678         (WebInspector.CSSStyleDeclaration.parseRule):
70679         (WebInspector.childNodeInserted):
70680         (WebInspector.childNodeRemoved):
70681         * inspector/front-end/ElementsPanel.js:
70682         (WebInspector.ElementsPanel):
70683         (WebInspector.ElementsPanel.prototype.reset):
70684         (WebInspector.ElementsPanel.prototype.addStyleChange):
70685         (WebInspector.ElementsPanel.prototype.removeStyleChange):
70686         (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
70687         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
70688         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
70689         * inspector/front-end/ElementsTreeOutline.js:
70690         (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
70691         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
70692         (WebInspector.ElementsTreeElement):
70693         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
70694         (WebInspector.ElementsTreeElement.prototype._updateChildren):
70695         (WebInspector.ElementsTreeElement.prototype.onexpand):
70696         * inspector/front-end/InjectedScript.js:
70697         (InjectedScript.addStyleSelector):
70698         (InjectedScript._serializeRule):
70699         * inspector/front-end/StylesSidebarPane.js:
70700         (WebInspector.StylePropertiesSection):
70701         * inspector/front-end/inspector.js:
70702         (WebInspector.set hoveredDOMNode):
70703         * inspector/front-end/treeoutline.js:
70704         (TreeOutline.prototype.findTreeElement):
70705         * inspector/front-end/utilities.js:
70706         (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray):
70707         (Node.prototype.enclosingNodeOrSelfWithClass):
70708         (isAncestorNode):
70709         (firstCommonNodeAncestor):
70710         (traverseNextNode):
70711         (traversePreviousNode):
70712         ():
70713         * loader/FrameLoader.cpp:
70714         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
70715         * page/android/InspectorControllerAndroid.cpp:
70716
70717 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
70718
70719         Reviewed by Dave Hyatt
70720
70721         Optimize updateFillImages() to not add/remove clients every time
70722         https://bugs.webkit.org/show_bug.cgi?id=28334
70723
70724         Optimize the case where old and new just have a single layer pointing to the same (or no)
70725         image.
70726
70727         * rendering/RenderObject.cpp:
70728         (WebCore::RenderObject::updateFillImages):
70729
70730 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
70731
70732         Reviewed by Anders Carlsson.
70733
70734         Implement animations of multiple text-shadows and -webkit-box-shadows.
70735         https://bugs.webkit.org/show_bug.cgi?id=28266
70736         
70737         Test: transitions/multiple-shadow-transitions.html
70738
70739         * page/animation/AnimationBase.cpp:
70740         (WebCore::PropertyWrapperShadow::equals):
70741         (WebCore::PropertyWrapperShadow::blend):
70742
70743 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
70744
70745         Reviewed by Anders Carlsson.
70746
70747         Make transitions work for position and size of multiple backgrounds and masks.
70748         https://bugs.webkit.org/show_bug.cgi?id=28266
70749         
70750         Make background-position, background-size, -webkit-mask-position and -webkit-mask-size
70751         properties animatable with multiple backgrounds, rather than just animating the first one.
70752
70753         Tests: transitions/multiple-background-size-transitions.html
70754                transitions/multiple-background-transitions.html
70755                transitions/multiple-mask-transitions.html
70756
70757         * page/animation/AnimationBase.cpp:
70758         (WebCore::FillLayerPropertyWrapperBase::FillLayerPropertyWrapperBase):
70759         (WebCore::FillLayerPropertyWrapperBase::~FillLayerPropertyWrapperBase):
70760         (WebCore::FillLayerPropertyWrapperGetter::FillLayerPropertyWrapperGetter):
70761         (WebCore::FillLayerPropertyWrapperGetter::equals):
70762         (WebCore::FillLayerPropertyWrapper::FillLayerPropertyWrapper):
70763         (WebCore::FillLayerPropertyWrapper::blend):
70764         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
70765         (WebCore::FillLayersPropertyWrapper::equals):
70766         (WebCore::FillLayersPropertyWrapper::blend):
70767         (WebCore::ensurePropertyMap):
70768         * rendering/style/FillLayer.h:
70769         (WebCore::FillLayer::setXPosition):
70770         (WebCore::FillLayer::setYPosition):
70771         (WebCore::FillLayer::setSize):
70772
70773 2009-08-15  George Staikos  <george.staikos@torchmobile.com>
70774
70775         Reviewed by Jan Alonzo.
70776
70777         Don't crash in fieldset code when WML is enabled.
70778         https://bugs.webkit.org/show_bug.cgi?id=28012
70779
70780         Test: fast/wml/html-fieldset-crash.html
70781
70782         * rendering/RenderFieldset.cpp:
70783         (WebCore::RenderFieldset::findLegend): ++brackets
70784
70785 2009-08-15  Sam Weinig  <sam@webkit.org>
70786
70787         Try and enable EventSource on Windows.
70788
70789         * WebCore.vcproj/WebCoreCommon.vsprops:
70790         * WebCore.vcproj/build-generated-files.sh:
70791
70792 2009-08-15  Sam Weinig  <sam@webkit.org>
70793
70794         Reviewed by Dan Bernstein.
70795
70796         Setting attribute event listeners to the body does not set them on the window
70797         https://bugs.webkit.org/show_bug.cgi?id=28343
70798
70799         Tests: fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html
70800                fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html
70801
70802         * html/HTMLBodyElement.cpp:
70803         (WebCore::HTMLBodyElement::setOnblur): Use setWindowAttributeEventListener instead of setAttributeEventListener.
70804         (WebCore::HTMLBodyElement::setOnerror): Ditto.
70805         (WebCore::HTMLBodyElement::setOnfocus): Ditto.
70806         (WebCore::HTMLBodyElement::setOnload): Ditto.
70807         (WebCore::HTMLBodyElement::setOnbeforeunload): Ditto.
70808         (WebCore::HTMLBodyElement::setOnmessage): Ditto.
70809         (WebCore::HTMLBodyElement::setOnoffline): Ditto.
70810         (WebCore::HTMLBodyElement::setOnonline): Ditto.
70811         (WebCore::HTMLBodyElement::setOnresize): Ditto.
70812         (WebCore::HTMLBodyElement::setOnstorage): Ditto.
70813         (WebCore::HTMLBodyElement::setOnunload): Ditto.
70814         * html/HTMLFrameSetElement.cpp:
70815         (WebCore::HTMLFrameSetElement::setOnblur): Ditto.
70816         (WebCore::HTMLFrameSetElement::setOnerror): Ditto.
70817         (WebCore::HTMLFrameSetElement::setOnfocus): Ditto.
70818         (WebCore::HTMLFrameSetElement::setOnload): Ditto.
70819         (WebCore::HTMLFrameSetElement::setOnbeforeunload): Ditto.
70820         (WebCore::HTMLFrameSetElement::setOnmessage): Ditto.
70821         (WebCore::HTMLFrameSetElement::setOnoffline): Ditto.
70822         (WebCore::HTMLFrameSetElement::setOnonline): Ditto.
70823         (WebCore::HTMLFrameSetElement::setOnresize): Ditto.
70824         (WebCore::HTMLFrameSetElement::setOnstorage): Ditto.
70825         (WebCore::HTMLFrameSetElement::setOnunload): Ditto.
70826
70827 2009-08-15  Sam Weinig  <sam@webkit.org>
70828
70829         Reviewed by Dan Bernstein.
70830
70831         Fix up some IDL comments.
70832
70833         * html/HTMLBodyElement.idl:
70834         * html/HTMLFrameSetElement.idl:
70835
70836 2009-08-15  Adam Bergkvist  <adam.bergkvist@ericsson.com>
70837
70838         Reviewed by Sam Weinig.
70839
70840         Added implementation of the EventSource object that enables
70841         server-sent events from HTML5.
70842         http://dev.w3.org/html5/eventsource/
70843         https://bugs.webkit.org/show_bug.cgi?id=14997
70844
70845         Tests: fast/eventsource/eventsource-attribute-listeners.html
70846                fast/eventsource/eventsource-constructor.html
70847                http/tests/eventsource/eventsource-bad-mime-type.html
70848                http/tests/eventsource/eventsource-parse-event-stream.html
70849                http/tests/eventsource/eventsource-reconnect.html
70850                http/tests/eventsource/eventsource-status-code-states.html
70851                http/tests/eventsource/workers/eventsource-simple.html
70852
70853         * Configurations/FeatureDefines.xcconfig:
70854         * DerivedSources.cpp:
70855         * DerivedSources.make:
70856         * GNUmakefile.am:
70857         * WebCore.pro:
70858         * WebCore.vcproj/WebCore.vcproj:
70859         * WebCore.xcodeproj/project.pbxproj:
70860         * bindings/js/JSDOMWindowCustom.cpp:
70861         (WebCore::JSDOMWindow::eventSource):
70862         * bindings/js/JSEventSourceConstructor.cpp: Added.
70863         (WebCore::):
70864         (WebCore::JSEventSourceConstructor::JSEventSourceConstructor):
70865         (WebCore::constructEventSource):
70866         (WebCore::JSEventSourceConstructor::getConstructData):
70867         * bindings/js/JSEventSourceConstructor.h: Added.
70868         (WebCore::JSEventSourceConstructor::classInfo):
70869         * bindings/js/JSEventSourceCustom.cpp: Added.
70870         (WebCore::JSEventSource::markChildren):
70871         (WebCore::JSEventSource::addEventListener):
70872         (WebCore::JSEventSource::removeEventListener):
70873         * bindings/js/JSEventTarget.cpp:
70874         (WebCore::toJS):
70875         (WebCore::toEventTarget):
70876         * bindings/js/JSWorkerContextCustom.cpp:
70877         (WebCore::JSWorkerContext::eventSource):
70878         * dom/EventNames.h:
70879         * dom/EventTarget.cpp:
70880         (WebCore::EventTarget::toEventSource):
70881         * dom/EventTarget.h:
70882         * page/DOMWindow.idl:
70883         * page/EventSource.cpp: Added.
70884         (WebCore::EventSource::EventSource):
70885         (WebCore::EventSource::~EventSource):
70886         (WebCore::EventSource::connect):
70887         (WebCore::EventSource::endRequest):
70888         (WebCore::EventSource::scheduleReconnect):
70889         (WebCore::EventSource::reconnectTimerFired):
70890         (WebCore::EventSource::url):
70891         (WebCore::EventSource::readyState):
70892         (WebCore::EventSource::close):
70893         (WebCore::EventSource::scriptExecutionContext):
70894         (WebCore::EventSource::addEventListener):
70895         (WebCore::EventSource::removeEventListener):
70896         (WebCore::EventSource::dispatchEvent):
70897         (WebCore::EventSource::didReceiveResponse):
70898         (WebCore::EventSource::didReceiveData):
70899         (WebCore::EventSource::didFinishLoading):
70900         (WebCore::EventSource::didFail):
70901         (WebCore::EventSource::didFailRedirectCheck):
70902         (WebCore::EventSource::parseEventStream):
70903         (WebCore::EventSource::parseEventStreamLine):
70904         (WebCore::EventSource::dispatchGenericEvent):
70905         (WebCore::EventSource::dispatchMessageEvent):
70906         (WebCore::EventSource::stop):
70907         * page/EventSource.h: Added.
70908         (WebCore::EventSource::create):
70909         (WebCore::EventSource::):
70910         (WebCore::EventSource::setOnopen):
70911         (WebCore::EventSource::onopen):
70912         (WebCore::EventSource::setOnmessage):
70913         (WebCore::EventSource::onmessage):
70914         (WebCore::EventSource::setOnerror):
70915         (WebCore::EventSource::onerror):
70916         (WebCore::EventSource::toEventSource):
70917         (WebCore::EventSource::eventListeners):
70918         (WebCore::EventSource::refEventTarget):
70919         (WebCore::EventSource::derefEventTarget):
70920         * page/EventSource.idl: Added.
70921         * workers/WorkerContext.idl:
70922
70923 2009-08-15  Pavel Feldman  <pfeldman@chromium.org>
70924
70925         Reviewed by Timothy Hatcher.
70926
70927         WebInspector: Minor DOMAgent bugfixes.
70928
70929         https://bugs.webkit.org/show_bug.cgi?id=28177
70930
70931         * inspector/InspectorDOMAgent.cpp:
70932         (WebCore::InspectorDOMAgent::nodeForId):
70933         * inspector/front-end/DOMAgent.js:
70934         (WebInspector.DOMAgent):
70935         * inspector/front-end/ElementsPanel.js:
70936         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
70937
70938 2009-08-15  Pavel Feldman  <pfeldman@chromium.org>
70939
70940         Reviewed by Timothy Hatcher.
70941
70942         WebInspector: Evaluating objects while on a breakpoint dumps string
70943         representation instead of live object. 
70944
70945         https://bugs.webkit.org/show_bug.cgi?id=28280
70946
70947         * inspector/front-end/ConsoleView.js:
70948         (WebInspector.ConsoleView.prototype.completions.this._evalInInspectedWindow):
70949         (WebInspector.ConsoleView.prototype.completions):
70950         (WebInspector.ConsoleView.prototype._reportCompletions):
70951         * inspector/front-end/ScriptsPanel.js:
70952         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame.delayedEvaluation):
70953         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
70954         (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame):
70955
70956 2009-08-15  Maxime Simon  <simon.maxime@gmail.com>
70957
70958         Reviewed by Eric Seidel.
70959
70960         [Haiku] Adding two new files to WebCore/platform/haiku:
70961         LocalizedStringsHaiku.cpp and LoggingHaiku.cpp
70962         https://bugs.webkit.org/show_bug.cgi?id=28129
70963
70964         * platform/haiku/LocalizedStringsHaiku.cpp: Added.
70965         (WebCore::submitButtonDefaultLabel):
70966         (WebCore::inputElementAltText):
70967         (WebCore::resetButtonDefaultLabel):
70968         (WebCore::defaultLanguage):
70969         (WebCore::searchableIndexIntroduction):
70970         (WebCore::fileButtonChooseFileLabel):
70971         (WebCore::fileButtonNoFileSelectedLabel):
70972         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
70973         (WebCore::contextMenuItemTagDownloadLinkToDisk):
70974         (WebCore::contextMenuItemTagCopyLinkToClipboard):
70975         (WebCore::contextMenuItemTagOpenImageInNewWindow):
70976         (WebCore::contextMenuItemTagDownloadImageToDisk):
70977         (WebCore::contextMenuItemTagCopyImageToClipboard):
70978         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
70979         (WebCore::contextMenuItemTagCopy):
70980         (WebCore::contextMenuItemTagGoBack):
70981         (WebCore::contextMenuItemTagGoForward):
70982         (WebCore::contextMenuItemTagStop):
70983         (WebCore::contextMenuItemTagReload):
70984         (WebCore::contextMenuItemTagCut):
70985         (WebCore::contextMenuItemTagPaste):
70986         (WebCore::contextMenuItemTagNoGuessesFound):
70987         (WebCore::contextMenuItemTagIgnoreSpelling):
70988         (WebCore::contextMenuItemTagLearnSpelling):
70989         (WebCore::contextMenuItemTagSearchWeb):
70990         (WebCore::contextMenuItemTagLookUpInDictionary):
70991         (WebCore::contextMenuItemTagOpenLink):
70992         (WebCore::contextMenuItemTagIgnoreGrammar):
70993         (WebCore::contextMenuItemTagSpellingMenu):
70994         (WebCore::contextMenuItemTagShowSpellingPanel):
70995         (WebCore::contextMenuItemTagCheckSpelling):
70996         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
70997         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
70998         (WebCore::contextMenuItemTagFontMenu):
70999         (WebCore::contextMenuItemTagBold):
71000         (WebCore::contextMenuItemTagItalic):
71001         (WebCore::contextMenuItemTagUnderline):
71002         (WebCore::contextMenuItemTagOutline):
71003         (WebCore::contextMenuItemTagWritingDirectionMenu):
71004         (WebCore::contextMenuItemTagDefaultDirection):
71005         (WebCore::contextMenuItemTagLeftToRight):
71006         (WebCore::contextMenuItemTagRightToLeft):
71007         (WebCore::contextMenuItemTagInspectElement):
71008         (WebCore::searchMenuNoRecentSearchesText):
71009         (WebCore::searchMenuRecentSearchesText):
71010         (WebCore::searchMenuClearRecentSearchesText):
71011         (WebCore::unknownFileSizeText):
71012         (WebCore::AXWebAreaText):
71013         (WebCore::AXLinkText):
71014         (WebCore::AXListMarkerText):
71015         (WebCore::AXImageMapText):
71016         (WebCore::AXHeadingText):
71017         (WebCore::imageTitle):
71018         (WebCore::contextMenuItemTagTextDirectionMenu):
71019         (WebCore::AXButtonActionVerb):
71020         (WebCore::AXTextFieldActionVerb):
71021         (WebCore::AXRadioButtonActionVerb):
71022         (WebCore::AXCheckedCheckBoxActionVerb):
71023         (WebCore::AXUncheckedCheckBoxActionVerb):
71024         (WebCore::AXLinkActionVerb):
71025         (WebCore::AXDefinitionListTermText):
71026         (WebCore::AXDefinitionListDefinitionText):
71027         * platform/haiku/LoggingHaiku.cpp: Added.
71028         (WebCore::InitializeLoggingChannelsIfNecessary):
71029
71030 2009-08-15  Darin Adler  <darin@apple.com>
71031
71032         Fix GTK build.
71033
71034         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
71035         (fallbackObject): Pass 0 for document. Should be OK at least for now.
71036
71037 2009-08-15  Darin Adler  <darin@apple.com>
71038
71039         Fix Qt build.
71040
71041         * dom/XMLTokenizerQt.cpp: Use create functions instead of calling new
71042         directly to make CDATASection and Comment nodes.
71043
71044 2009-08-14  Darin Adler  <darin@apple.com>
71045
71046         Reviewed by Sam Weinig.
71047
71048         Make DOM classes start with a reference count of 1, like all other RefCounted
71049         https://bugs.webkit.org/show_bug.cgi?id=28068
71050
71051         First half, everything except for element classes.
71052
71053         * GNUmakefile.am: Removed DocPtr.h.
71054         * WebCore.gypi: Ditto.
71055         * WebCore.vcproj/WebCore.vcproj: Ditto.
71056         * WebCore.xcodeproj/project.pbxproj: Ditto.
71057
71058         * dom/Attr.cpp:
71059         (WebCore::Attr::Attr): Added a call to createTextChild here so callers don't
71060         have to call it explicitly.
71061         (WebCore::Attr::create): Added.
71062         (WebCore::Attr::setValue): Changed to take AtomicString.
71063         (WebCore::Attr::cloneNode): Use create.
71064
71065         * dom/Attr.h: Added a create function. Made the constructor private,
71066         and a lot of other functions private as well.
71067
71068         * dom/Attribute.cpp:
71069         (WebCore::Attribute::createAttrIfNeeded): Use Attr::create.
71070
71071         * dom/CDATASection.cpp:
71072         (WebCore::CDATASection::create): Added.
71073         (WebCore::CDATASection::cloneNode): Use create.
71074         (WebCore::CDATASection::virtualCreate): Ditto.
71075
71076         * dom/CDATASection.h: Added a create function. Made everything private.
71077         Removed unneeded destructor declaration.
71078
71079         * dom/CharacterData.cpp:
71080         (WebCore::CharacterData::CharacterData): Replaced the multiple constructors
71081         with a single one that takes ConstructionType.
71082
71083         * dom/CharacterData.h: Made more functions be protected and private.
71084         Made m_data be private.
71085
71086         * dom/Comment.cpp:
71087         (WebCore::Comment::Comment): Got rid of an extra constructor.
71088         (WebCore::Comment::create): Added.
71089         (WebCore::Comment::cloneNode): Call create.
71090
71091         * dom/Comment.h: Added a create function. Made everything private.
71092
71093         * dom/ContainerNode.cpp:
71094         (WebCore::dispatchChildInsertionEvents): Use RefPtr instead of DocPtr.
71095         (WebCore::dispatchChildRemovalEvents): Ditto.
71096
71097         * dom/ContainerNode.h: Made the constructor protected and passed
71098         ConstructionType instead of an isElement boolean.
71099
71100         * dom/DocPtr.h: Removed.
71101
71102         * dom/Document.cpp:
71103         (WebCore::Document::Document): Simplified the code that sets m_document
71104         since it's no longer a smart pointer.
71105         (WebCore::Document::removedLastRef): Use explicit calls to selfOnlyRef
71106         and selfOnlyDeref instead of a DocPtr in here.
71107         (WebCore::Document::~Document): Simplified the code that sets m_document
71108         since it's no longer a smart pointer.
71109         (WebCore::Document::createDocumentFragment): Call create.
71110         (WebCore::Document::createTextNode): Ditto.
71111         (WebCore::Document::createComment): Ditto.
71112         (WebCore::Document::createCDATASection): Ditto.
71113         (WebCore::Document::createProcessingInstruction): Ditto.
71114         (WebCore::Document::createEntityReference): Ditto.
71115         (WebCore::Document::createEditingTextNode): Ditto.
71116         (WebCore::Document::importNode): Call Attr::create.
71117         (WebCore::Document::createAttributeNS): Ditto.
71118
71119         * dom/Document.h: Call adoptRef. Made a lot of functions private and
71120         protected and sorted them so public functions come first.
71121
71122         * dom/DocumentFragment.cpp:
71123         (WebCore::DocumentFragment::create): Added.
71124         (WebCore::DocumentFragment::cloneNode): Call create.
71125         * dom/DocumentFragment.h: Added create.
71126
71127         * dom/DocumentType.cpp:
71128         (WebCore::DocumentType::DocumentType): Pass type to Node constructor.
71129         (WebCore::DocumentType::cloneNode): Use create.
71130         * dom/DocumentType.h:
71131         (WebCore::DocumentType::create): Call adoptRef.
71132
71133         * dom/EditingText.cpp:
71134         (WebCore::EditingText::create): Added.
71135         * dom/EditingText.h: Added a create function. Made everything private.
71136
71137         * dom/Element.cpp:
71138         (WebCore::Element::Element): Pass CreateElementZeroRefCount to preserve
71139         the zero reference count behavior for classes derived from Element.
71140
71141         * dom/EntityReference.cpp:
71142         (WebCore::EntityReference::create): Added.
71143         (WebCore::EntityReference::cloneNode): Call create.
71144         * dom/EntityReference.h: Added create. Made everything private.
71145
71146         * dom/Node.cpp:
71147         (WebCore::Node::initialRefCount): Added. Inline helper function for
71148         the constructor.
71149         (WebCore::Node::isContainer): Ditto.
71150         (WebCore::Node::isElement): Ditto.
71151         (WebCore::Node::isText): Ditto.
71152         (WebCore::Node::Node): Changed to take a construction type argument.
71153         Since m_document is now a normal pointer, added a call to selfOnlyRef.
71154         (WebCore::Node::~Node): Ditto, but selfOnlyDeref.
71155         (WebCore::Node::setDocument): Added selfOnlyRef/Deref calls.
71156         (WebCore::Node::appendTextContent): Use the data function instead of
71157         calling nodeValue functions, which do the same thing in a roundabout way.
71158
71159         * dom/Node.h: Made the constructor protected and replaced the multiple
71160         arguments iwth a single ConstructionType argument. Sorted the public
71161         things first.
71162
71163         * dom/Notation.h: Made most things private.
71164         * dom/Notation.cpp: Removed extra constructor.
71165
71166         * dom/ProcessingInstruction.cpp:
71167         (WebCore::ProcessingInstruction::create): Added.
71168         (WebCore::ProcessingInstruction::cloneNode): Call create.
71169         * dom/ProcessingInstruction.h: Added create function. Made many other
71170         members private.
71171
71172         * dom/Range.cpp:
71173         (WebCore::Range::processContents): Use DocumentFragment::create.
71174
71175         * dom/Text.cpp:
71176         (WebCore::Text::Text): Updated for base class change.
71177         (WebCore::Text::create): Added.
71178         (WebCore::Text::splitText): Changed to not require access to m_data.
71179         (WebCore::Text::cloneNode): Call create.
71180         (WebCore::Text::createRenderer): Call dataImpl.
71181         (WebCore::Text::attach): Call data.
71182         (WebCore::Text::recalcStyle): Call dataImpl.
71183         (WebCore::Text::virtualCreate): Call create.
71184         (WebCore::Text::createWithLengthLimit): Call create.
71185         (WebCore::Text::formatForDebugger): Call data.
71186
71187         * dom/Text.h: Added a create function. Made many other members private.
71188         Renamed createNew to virtualCreate.
71189
71190         * dom/XMLTokenizer.cpp:
71191         (WebCore::XMLTokenizer::enterText): Call Text::create.
71192
71193         * dom/XMLTokenizerLibxml2.cpp:
71194         (WebCore::XMLTokenizer::cdataBlock): Call CDATASection::create.
71195         (WebCore::XMLTokenizer::comment): Call Comment::create.
71196
71197         * editing/CompositeEditCommand.cpp:
71198         (WebCore::CompositeEditCommand::deleteInsignificantText):
71199         Call data instead of string.
71200
71201         * editing/CreateLinkCommand.cpp:
71202         (WebCore::CreateLinkCommand::doApply): Call Text::create.
71203
71204         * editing/EditorCommand.cpp:
71205         (WebCore::executeInsertNode): Call DocumentFragment::create.
71206
71207         * editing/SplitTextNodeCommand.cpp:
71208         (WebCore::SplitTextNodeCommand::doApply): Call Text::create.
71209
71210         * editing/markup.cpp:
71211         (WebCore::appendStartMarkup): Call data instead of nodeValue.
71212
71213         * html/HTMLDocument.h:
71214         (WebCore::HTMLDocument::create): Call adoptRef.
71215
71216         * html/HTMLElement.cpp:
71217         (WebCore::HTMLElement::createContextualFragment): Call DocumentFragment::create.
71218         (WebCore::replaceChildrenWithFragment): Call data instead of string.
71219         (WebCore::replaceChildrenWithText): Call Text::create.
71220         (WebCore::HTMLElement::setInnerText): Call DocumentFragment::create and
71221         Text::create.
71222         (WebCore::HTMLElement::setOuterText): Call Text::create.
71223
71224         * html/HTMLKeygenElement.cpp:
71225         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Call Text::create.
71226
71227         * html/HTMLOptionElement.cpp:
71228         (WebCore::HTMLOptionElement::setText): Call Text::create.
71229
71230         * html/HTMLParser.cpp:
71231         (WebCore::HTMLParser::textCreateErrorCheck): Call Text::create.
71232         (WebCore::HTMLParser::commentCreateErrorCheck): Call Comment::create.
71233         (WebCore::HTMLParser::handleIsindex): Call Text::create.
71234
71235         * html/HTMLViewSourceDocument.cpp:
71236         (WebCore::HTMLViewSourceDocument::addText): Call Text::create.
71237
71238         * html/HTMLViewSourceDocument.h:
71239         (WebCore::HTMLViewSourceDocument::create): Call adoptRef.
71240
71241         * loader/FTPDirectoryDocument.cpp:
71242         (WebCore::FTPDirectoryTokenizer::appendEntry): Call Text::create.
71243         (WebCore::FTPDirectoryTokenizer::createTDForFilename): Call Text::create.
71244
71245         * loader/FTPDirectoryDocument.h:
71246         (WebCore::FTPDirectoryDocument::create): Call adoptRef.
71247         * loader/ImageDocument.h:
71248         (WebCore::ImageDocument::create): Ditto.
71249         * loader/MediaDocument.h:
71250         (WebCore::MediaDocument::create): Ditto.
71251         * loader/PlaceholderDocument.h:
71252         (WebCore::PlaceholderDocument::create): Ditto.
71253         * loader/PluginDocument.h:
71254         (WebCore::PluginDocument::create): Ditto.
71255         * loader/TextDocument.h:
71256         (WebCore::TextDocument::create): Ditto.
71257
71258         * loader/loader.cpp:
71259         (WebCore::Loader::Host::didFinishLoading): Use RefPtr instead of DocPtr.
71260         (WebCore::Loader::Host::didFail): Ditto.
71261
71262         * platform/TreeShared.h:
71263         (WebCore::TreeShared::TreeShared): Added an initialRefCount argument,
71264         defaulting to 1. Node still sometimes initializes it to 0 instead for now.
71265
71266         * rendering/RenderText.cpp:
71267         (WebCore::RenderText::originalText): Use dataImpl instead of string.
71268
71269         * rendering/RenderTextFragment.cpp:
71270         (WebCore::RenderTextFragment::originalText): Use dataImpl instead of string.
71271         (WebCore::RenderTextFragment::previousCharacter): Ditto.
71272
71273         * svg/SVGDocument.h:
71274         (WebCore::SVGDocument::create): Use adoptRef.
71275
71276         * svg/SVGElementInstance.cpp:
71277         (WebCore::SVGElementInstance::SVGElementInstance): Updated to take a
71278         PassRefPtr.
71279
71280         * svg/SVGElementInstance.h: Made everything private.
71281
71282         * wml/WMLDocument.h:
71283         (WebCore::WMLDocument::create): Called adoptRef.
71284
71285         * xml/XPathNamespace.cpp:
71286         (WebCore::XPathNamespace::XPathNamespace): Take AtomicString arguments.
71287         * xml/XPathNamespace.h: Made everything private.
71288
71289         * xml/XSLTProcessor.cpp:
71290         (WebCore::createFragmentFromSource): Use DocumentFragment::create and
71291         Text::create.
71292
71293 2009-08-13  Jon Honeycutt  <jhoneycutt@apple.com>
71294
71295         Part of <rdar://problem/6218721> No MSAA focus events fired for Webkit
71296         nightly (20866)
71297
71298         https://bugs.webkit.org/show_bug.cgi?id=20866
71299
71300         Reviewed by Oliver Hunt.
71301
71302         * accessibility/AXObjectCache.cpp:
71303         (WebCore::AXObjectCache::AXObjectCache):
71304         Changed to take a pointer to its owner document. This is used by
71305         AXObjectCache::handleFocusedUIElementChanged().
71306         (WebCore::AXObjectCache::focusedUIElementForPage):
71307         Code moved from AccessibilityRenderObject::focusedUIElement(). Modified
71308         to be a static function and to take a pointer to a Page.
71309         (WebCore::AXObjectCache::platformGenerateAXID):
71310         Moved the code to generate the next AXID from getAXID() to here. Added
71311         a #if to make this non-WIN only, because Windows has its own
71312         implementation.
71313         (WebCore::AXObjectCache::getAXID):
71314         Ensure that we generate a positive AXID, ranging from 1 to LONG_MAX.
71315
71316         * accessibility/AXObjectCache.h:
71317         Add a declaration for Document and Page. Removed the declaration of
71318         AccessibilityObject, because we include the header. Reordered the
71319         declaration of Node alphabetically. Moved the typedef for AXID to
71320         AccessibilityObject. Removed some trailing whitespace. Added a member
71321         variable to hold a pointer to the owner Document.
71322         (WebCore::AXObjectCache::AXObjectCache):
71323         Changed to take a pointer to its owner Document.
71324         (WebCore::AXObjectCache::focusedUIElementForPage):
71325         Added; code moved from AccessiblityRenderObject::focusedUIElement().
71326         Returns the focused element with respect to accessibility.
71327         (WebCore::AXObjectCache::platformGenerateAXID):
71328         Declare a function to generate an AXID.
71329         (WebCore::AXObjectCache::objectFromAXID):
71330         Return the AccessibilityObject with the given AXID.
71331
71332         * accessibility/AccessibilityObject.h:
71333         Moved the typedef for AXID from AXObjectCache to here. Made the m_id
71334         member use the typedef.
71335         (WebCore::AccessibilityObject::axObjectID):
71336         Changed the return type to use the typedef.
71337         (WebCore::AccessibilityObject::setAXObjectID):
71338         Changed the argument type to use the typedef.
71339
71340         * accessibility/AccessibilityRenderObject.cpp:
71341         Removed some unneeded #includes.
71342         (WebCore::AccessibilityRenderObject::focusedUIElement):
71343         Moved the code to AXObjectCache::focusedUIElementForPage(), which we now
71344         call.
71345
71346         * accessibility/win/AXObjectCacheWin.cpp:
71347         (WebCore::AXObjectCache::platformGenerateAXID):
71348         Ensure that we generate an AXID that is in the range 1 to LONG_MAX.
71349         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
71350         If the Document has no Page, return. If the Page has not focused
71351         element (respecting accessibility), return. Assert that the
71352         accessibility of the focused element is not ignored, and that the
71353         object's AXID will be negative and fit into a LONG when negated.
71354         Broadcast a focus event for the object.
71355
71356         * dom/Document.cpp:
71357         (WebCore::Document::axObjectCache):
71358         Pass this when creating the AXObjectCache.
71359         (WebCore::Document::setFocusedNode):
71360         Call AXObjectCache::handleFocusedUIElementChanged() on Windows.
71361
71362 2009-08-14  Jiahua Huang  <jhuangjiahua@gmail.com>
71363
71364         Reviewed by Jan Alonzo.
71365
71366         [gtk] Pasteboard/GtkClipboard can't handle the "text/html" target.
71367         https://bugs.webkit.org/show_bug.cgi?id=27028
71368
71369         Remove the improper set of enum WebKitWebViewTargetInfo
71370         by grabbing the target infos via m_helper.
71371
71372         * manual-tests/gtk/copy-htmltext.html: Added.
71373         * platform/Pasteboard.h:
71374         * platform/gtk/PasteboardGtk.cpp:
71375         (WebCore::clipboard_get_contents_cb):
71376         * platform/gtk/PasteboardHelper.h:
71377
71378 2009-08-14  Simon Fraser  <simon.fraser@apple.com>
71379
71380         Reviewed by Dave Hyatt.
71381
71382         Fix an assertion when bringing up the Inspector.
71383         https://bugs.webkit.org/show_bug.cgi?id=28318
71384         
71385         The fix for bug 28295 assumed that image clients count the number of times
71386         addClient/removeClient is called. That was true for CachedResource clients,
71387         but not StyleGeneratedImage clients, which pass the call onto CSSImageGeneratorValue.
71388         
71389         Fix by making CSSImageGeneratorValue count the number of times a client is
71390         added/removed.
71391
71392         * css/CSSCanvasValue.cpp:
71393         (WebCore::CSSCanvasValue::canvasChanged):
71394         (WebCore::CSSCanvasValue::canvasResized):
71395         * css/CSSImageGeneratorValue.cpp:
71396         (WebCore::CSSImageGeneratorValue::addClient):
71397         (WebCore::CSSImageGeneratorValue::removeClient):
71398         (WebCore::CSSImageGeneratorValue::getImage):
71399         * css/CSSImageGeneratorValue.h:
71400
71401 2009-08-14  Brent Fulgham  <bfulgham@webkit.org>
71402
71403         Reviewed by Kevin Ollivier.
71404
71405         Correct libcurl crash when downloading local files.
71406         https://bugs.webkit.org/show_bug.cgi?id=28312
71407
71408         No new tests. Test is covered by fast/encoding/char-encoding-mac.html.
71409
71410         * platform/network/curl/ResourceHandleManager.cpp:
71411         (WebCore::handleLocalReceiveResponse): New static function that
71412           performs the local setting of valid URL and firing didReceiveResponse.
71413           This code was moved from writeCallback.
71414         (WebCore::writeCallback): Move local file handling to static function
71415           (above) and use the function instead.
71416         (WebCore::readCallback): Add check
71417           for responseFired, and handle as a local file if it was not.
71418
71419 2009-08-14  Maxime Simon  <simon.maxime@gmail.com>
71420
71421         Reviewed by Oliver Hunt.
71422
71423         [Haiku] Fix RenderThemeHaiku build.
71424         https://bugs.webkit.org/show_bug.cgi?id=28307
71425
71426         * platform/haiku/RenderThemeHaiku.cpp: Included RenderThemeHaiku.h
71427         instead of RenderTheme.h.
71428         (WebCore::RenderThemeHaiku::paintCheckbox): Removed the wrong 'virtual'
71429         before the function.
71430         (WebCore::RenderThemeHaiku::paintRadio): Removed the wrong 'virtual'
71431         before the function.
71432         * platform/haiku/RenderThemeHaiku.h: Corrected wrong function definitions.
71433
71434 2009-08-14  Maxime Simon  <simon.maxime@gmail.com>
71435
71436         Reviewed by Oliver Hunt.
71437
71438         [Haiku] Adding SharedBufferHaiku to WebCore.
71439         https://bugs.webkit.org/show_bug.cgi?id=28309
71440
71441         * platform/haiku/SharedBufferHaiku.cpp: Added.
71442         (WebCore::SharedBuffer::createWithContentsOfFile):
71443         * platform/haiku/TemporaryLinkStubs.cpp: Removed unnecessary headers
71444         and functions.
71445         (WebCore::signedPublicKeyAndChallengeString):
71446         (WebCore::getSupportedKeySizes):
71447
71448 2009-08-14  Nate Chapin  <japhet@chromium.org>
71449
71450         Reviewed by Dimitri Glazkov.
71451
71452         Ensure we're getting the right v8 context in the V8 DOMWindowEvent custom getter.
71453
71454         https://bugs.webkit.org/show_bug.cgi?id=28311
71455
71456         This should fix Chromium failing LayoutTests/fast/events/set-event-in-another-frame.html.
71457
71458         * bindings/v8/custom/V8DOMWindowCustom.cpp:
71459         (WebCore::ACCESSOR_GETTER):
71460
71461 2009-08-14  Aaron Boodman  <aa@chromium.org>
71462
71463         Reviewed by Alexey Proskuryakov.
71464
71465         BUG 28134: Move the remaining parts of Access Control from XMLHttpRequest to ThreadableDocumentLoader.
71466         https://bugs.webkit.org/show_bug.cgi?id=28134
71467
71468         No new tests added since Access Control was already well tested and this is a pure refactor.
71469
71470         * loader/DocumentThreadableLoader.cpp: Move a lot of the access control code from XHR in, preserving its
71471         basic strategy. Also, modify the synchronous path to not be a special case, but reuse more of the async
71472         path.
71473
71474         (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Go through the async path and pass additional flags.
71475         (WebCore::DocumentThreadableLoader::create): Group enum params into an options struct.
71476         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto.
71477         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Brought mostly from XHR.
71478         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight): Ditto.
71479         (WebCore::DocumentThreadableLoader::willSendRequest): Handle preflight case.
71480         (WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto.
71481         (WebCore::DocumentThreadableLoader::didFinishLoading): Ditto.
71482         (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): Ditto.
71483         (WebCore::DocumentThreadableLoader::preflightSuccess): Preflight handling.
71484         (WebCore::DocumentThreadableLoader::preflightFailure): Ditto.
71485         (WebCore::DocumentThreadableLoader::loadRequest): Common request function that handles async/sync.
71486         * loader/DocumentThreadableLoader.h: Group enum params into an options struct.
71487         * loader/ThreadableLoader.cpp: Ditto.
71488         (WebCore::ThreadableLoader::create): Ditto.
71489         (WebCore::ThreadableLoader::loadResourceSynchronously): Ditto.
71490         * loader/ThreadableLoader.h: Ditto.
71491         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Ditto.
71492         * loader/WorkerThreadableLoader.cpp: Ditto.
71493         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):Ditto.
71494         (WebCore::WorkerThreadableLoader::loadResourceSynchronously): Ditto.
71495         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Ditto.
71496         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): Ditto.
71497         * loader/WorkerThreadableLoader.h: Ditto.
71498         (WebCore::WorkerThreadableLoader::create): Ditto.
71499         * platform/CrossThreadCopier.h: Allow ThreadableLoaderOptions to be copied across threads.
71500         (WebCore::):
71501         * workers/WorkerScriptLoader.cpp: More enum->struct grouping.
71502         (WebCore::WorkerScriptLoader::loadSynchronously): More enum->struct grouping.
71503         (WebCore::WorkerScriptLoader::loadAsynchronously): More enum->struct grouping.
71504         * xml/XMLHttpRequest.cpp: Remove all the access control code and some supporting state.
71505         (WebCore::XMLHttpRequest::XMLHttpRequest): Ditto.
71506         (WebCore::XMLHttpRequest::createRequest): Ditto.
71507         (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
71508         (WebCore::XMLHttpRequest::didReceiveResponse): Ditto.
71509         (WebCore::XMLHttpRequest::didReceiveData): Ditto.
71510         * xml/XMLHttpRequest.h: Ditto.
71511
71512 2009-08-14  Darin Adler  <darin@apple.com>
71513
71514         Reviewed by Sam Weinig.
71515
71516         Rename the confusing isObject(<class>) to inherits(<class>).
71517         It still works on non-objects, returning false.
71518
71519         * bindings/js/JSEventTarget.cpp:
71520         (WebCore::toEventTarget):
71521         * bindings/js/JSGeolocationCustom.cpp:
71522         (WebCore::createPositionCallback):
71523         (WebCore::createPositionErrorCallback):
71524         * bindings/js/JSNodeFilterCustom.cpp:
71525         (WebCore::toNodeFilter):
71526         * bindings/js/JSXMLHttpRequestCustom.cpp:
71527         (WebCore::JSXMLHttpRequest::send):
71528         * bindings/js/JSXSLTProcessorCustom.cpp:
71529         (WebCore::JSXSLTProcessor::importStylesheet):
71530         (WebCore::JSXSLTProcessor::transformToFragment):
71531         (WebCore::JSXSLTProcessor::transformToDocument):
71532         * bindings/scripts/CodeGeneratorJS.pm:
71533         * bridge/objc/objc_runtime.mm:
71534         (JSC::Bindings::callObjCFallbackObject):
71535         * bridge/runtime_method.cpp:
71536         (JSC::callRuntimeMethod):
71537         Updated to new name, inherits, from old name, isObject.
71538
71539 2009-08-14  Yael Aharon  <yael.aharon@nokia.com>
71540
71541         Reviewed by Simon Hausmann.
71542
71543         Allow Qt API to list and to remove URL schemes that were registered as
71544         local URL schemes.
71545         [Qt] Allow applications to register their own local URL scheme.
71546         https://bugs.webkit.org/show_bug.cgi?id=28240
71547
71548         * page/SecurityOrigin.cpp:
71549         (WebCore::SecurityOrigin::removeURLSchemeRegisteredAsLocal):
71550         (WebCore::SecurityOrigin::localURLSchemes):
71551         * page/SecurityOrigin.h:
71552
71553 2009-08-14  Pavel Feldman  <pfeldman@chromium.org>
71554
71555         Reviewed by Timothy Hatcher.
71556
71557         WebInspector: Wrap console objects late (in the frontend) so that injected
71558         script was already in place.
71559
71560         https://bugs.webkit.org/show_bug.cgi?id=28297
71561
71562         * inspector/ConsoleMessage.cpp:
71563         (WebCore::ConsoleMessage::ConsoleMessage):
71564         * inspector/ConsoleMessage.h:
71565         * inspector/InspectorController.cpp:
71566         (WebCore::InspectorController::addMessageToConsole):
71567         (WebCore::InspectorController::startGroup):
71568         (WebCore::InspectorController::setFrontendProxyObject):
71569         * inspector/InspectorController.h:
71570         * inspector/InspectorFrontend.cpp:
71571         (WebCore::InspectorFrontend::InspectorFrontend):
71572         (WebCore::InspectorFrontend::addMessageToConsole):
71573         * inspector/InspectorFrontend.h:
71574
71575 2009-08-13  Simon Fraser  <simon.fraser@apple.com>
71576
71577         Reviewed by Dan Bernstein.
71578
71579         Fix logic in RenderObject::updateFillImages() that led to incorrect client
71580         counts if an image was used twice in the background-image property.
71581         https://bugs.webkit.org/show_bug.cgi?id=28295
71582
71583         Test: fast/backgrounds/multiple-backgrounds-assert.html
71584
71585         * rendering/RenderObject.cpp:
71586         (WebCore::RenderObject::updateFillImages):
71587         Simplify the logic to call addClient()/removeClient() for every background
71588         image, but go through the new layers first to avoid removing all the
71589         clients of an image.
71590
71591 2009-08-13  Oliver Hunt  <oliver@apple.com>
71592
71593         Reviewed by Maciej Stachowiak.
71594
71595         Devirtualise marking
71596         https://bugs.webkit.org/show_bug.cgi?id=28294
71597
71598         Make sure we override the JSObject createStructure method on those
71599         objects that have custom marking routines.
71600
71601         * bindings/scripts/CodeGeneratorJS.pm:
71602
71603 2009-08-13  Darin Adler  <darin@apple.com>
71604
71605         Reviewed by Mark Rowe.
71606
71607         Follow-up to earlier work to remove dependencies on JavaScriptCore.
71608
71609         * ForwardingHeaders/parser/Parser.h: Removed.
71610         * inspector/JavaScriptDebugServer.cpp: Removed now-unneeded includes
71611         of Parser.h.
71612
71613 2009-08-13  Dan Bernstein  <mitz@apple.com>
71614
71615         Reviewed by Eric Seidel.
71616
71617         'box-orient: block-axis' behaves like 'box-orient: horizontal', causes
71618         an assertion failure in debug builds
71619         https://bugs.webkit.org/show_bug.cgi?id=28279
71620
71621         Test: fast/flexbox/block-axis.html
71622
71623         * css/CSSPrimitiveValueMappings.h:
71624         (WebCore::CSSPrimitiveValue::operator EBoxOrient): Map block-axis to
71625         vertical.
71626
71627 2009-08-13  Simon Fraser  <simon.fraser@apple.com>
71628
71629         Reviewed by Dan Bernstein.
71630
71631         Fix crash when removing reflection on an absolutely-positioned image.
71632         https://bugs.webkit.org/show_bug.cgi?id=28289
71633         
71634         Make sure we clean up the reflection layer when removing the reflection,
71635         so that the RenderLayer tree does not contain pointers to deleted layers.
71636
71637         Test: fast/reflections/reflected-img-crash.html
71638
71639         * rendering/RenderLayer.cpp:
71640         (WebCore::RenderLayer::~RenderLayer):
71641         (WebCore::RenderLayer::styleChanged):
71642         (WebCore::RenderLayer::removeReflection):
71643         * rendering/RenderLayer.h:
71644
71645 2009-08-13  Dan Bernstein  <mitz@apple.com>
71646
71647         Reviewed by Simon Fraser.
71648
71649         misalignment because of float:left of <div> tag
71650         https://bugs.webkit.org/show_bug.cgi?id=15869
71651
71652         One section of http://edgar.sec.gov site draws to the right of the rest
71653         of the content
71654         <rdar://problem/7135951>
71655
71656         Tests: fast/block/float/avoidance-percent-width-compat.html
71657                fast/block/float/avoidance-percent-width-strict.html
71658
71659         * rendering/RenderBlock.cpp:
71660         (WebCore::RenderBlock::getClearDelta): Changed to apply the same float
71661             avoidance logic in strict mode and in compatibility mode, which
71662             matches Firefox and IE. Changed to compute and use the computed
71663             width of the child, instead of ignoring non-fixed widths.
71664
71665 2009-08-13  Steve Block  <steveblock@google.com>
71666
71667         Reviewed by Darin Adler.
71668
71669         Geolocation PositionOptions does not use correct default values.
71670         https://bugs.webkit.org/show_bug.cgi?id=27254
71671
71672         Sets the correct default values for the properties of the PositionOptions object
71673         passed to Geolocation methods. See http://www.w3.org/TR/geolocation-API/.
71674
71675         Also adds checking to throw an exception if arguments of the incorrect type are
71676         passed to Geolocation methods. Adds a layout test to test this. This test should
71677         pass on all platforms where Geolocation is implemented.
71678
71679         Test: fast/dom/Geolocation/argument-types.html
71680
71681         * bindings/js/JSGeolocationCustom.cpp:
71682         (WebCore::createPositionCallback): Added. Creates the callback.
71683         (WebCore::createPositionErrorCallback): Added. Creates the calback.
71684         (WebCore::createPositionOptions): Added. Creates the PositionOptions object, setting defaults where required.
71685         (WebCore::JSGeolocation::getCurrentPosition): Modified. Now uses above helper functions.
71686         (WebCore::JSGeolocation::watchPosition): Modified. Now uses above helper functions.
71687         * page/Geolocation.cpp:
71688         (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Asserts that PositionOptions object is present.
71689         (WebCore::Geolocation::GeoNotifier::startTimer): Modified. Only starts timer if timeout has been set.
71690         * page/PositionOptions.h:
71691         (WebCore::PositionOptions::create): Modified. Creates object with default values.
71692         (WebCore::PositionOptions::timeout): Modified. Uses correct type.
71693         (WebCore::PositionOptions::hasTimeout): Added. Determines whether a timeout has been set.
71694         (WebCore::PositionOptions::setTimeout): Modified. Uses correct type.
71695         (WebCore::PositionOptions::maximumAge): Modified. Uses correct type.
71696         (WebCore::PositionOptions::setMaximumAge): Modified. Uses correct type.
71697         (WebCore::PositionOptions::PositionOptions): Modified. Creates object with default values.
71698
71699 2009-08-13  David Levin  <levin@chromium.org>
71700
71701         Unreviewed chromium build fix.
71702
71703         [Chromium] Let CodeGeneratorV8.pm know that RGBColor is ref-counted.
71704
71705         * bindings/scripts/CodeGeneratorV8.pm:
71706
71707 2009-08-13  Drew Wilson  <atwilson@google.com>
71708
71709         Reviewed by David Levin.
71710
71711         Merge error in SharedWorker code
71712         https://bugs.webkit.org/show_bug.cgi?id=28277
71713
71714         Fixed merge error that prevents WebKit from compiling with SHARED_WORKERS enabled.
71715         No new tests needed.
71716
71717         * workers/DefaultSharedWorkerRepository.cpp:
71718         Removed duplicated functions.
71719
71720 2009-08-13  Kyle Prete  <kylep@chromium.org>
71721
71722         Reviewed by Dave Levin.
71723
71724         Chromium: Show a "Playback Disabled" button on media error.
71725         https://bugs.webkit.org/show_bug.cgi?id=28196
71726         Use a disabled play button when the media file cannot be played.
71727
71728         No new tests needed. Covered by LayoutTests/media/video-empty-source.html
71729
71730         * rendering/RenderThemeChromiumSkia.cpp:
71731         (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
71732
71733 2009-08-13  Mark Rowe  <mrowe@apple.com>
71734
71735         Try and fix the Qt build.
71736
71737         * bridge/qt/qt_runtime.cpp:
71738
71739 2009-08-13  Zan Dobersek  <zandobersek@gmail.com>
71740
71741         Reviewed by Gustavo Noronha.
71742
71743         [GTK] Drag and drop support
71744         https://bugs.webkit.org/show_bug.cgi?id=23642
71745
71746         Utilizes functions that are being called upon drag and drop actions.
71747         Uses different GTK clipboards that hold different types
71748         of drag data - images, HTML markup, text, URL, URL label.
71749         Also clears each clipboard before setting new data to it.
71750
71751         No new tests - despite some implementations, no new functionality
71752         is added until implementations of the GTK drag and drop protocol
71753         in WebKit part.
71754
71755         * platform/gtk/ClipboardGtk.cpp:
71756         (WebCore::ClipboardGtk::ClipboardGtk):
71757         (WebCore::ClipboardGtk::~ClipboardGtk):
71758         (WebCore::getCachedImage):
71759         (WebCore::ClipboardGtk::declareAndWriteDragImage):
71760         (WebCore::ClipboardGtk::writeURL):
71761         (WebCore::ClipboardGtk::writeRange):
71762         * platform/gtk/ClipboardGtk.h: ClipboardGdk -> ClipboardGtk
71763
71764 2009-08-13  Darin Adler  <darin@apple.com>
71765
71766         Reviewed by David Levin.
71767
71768         JavaScriptCore tweaks to get ready for the parser arena
71769         https://bugs.webkit.org/show_bug.cgi?id=28243
71770
71771         * ForwardingHeaders/runtime/CollectorHeapIterator.h: Removed.
71772
71773         * WebCore.xcodeproj/project.pbxproj: Exposed a couple header
71774         files as Private that are now needed to compile Mac WebKit.
71775
71776         * bindings/js/JSAudioConstructor.cpp:
71777         * bindings/js/JSDOMBinding.cpp:
71778         * bindings/js/JSDOMBinding.h:
71779         * bindings/js/JSDOMWindowCustom.cpp:
71780         * bindings/js/JSHTMLInputElementCustom.cpp:
71781         * bindings/js/JSHistoryCustom.cpp:
71782         * bindings/js/JSImageConstructor.cpp:
71783         * bindings/js/JSLazyEventListener.cpp:
71784         * bindings/js/JSLocationCustom.cpp:
71785         * bindings/js/JSMessageChannelConstructor.cpp:
71786         * bindings/js/JSOptionConstructor.cpp:
71787         * bindings/js/JSWebSocketConstructor.cpp:
71788         * bindings/js/JSWebSocketCustom.cpp:
71789         * bindings/js/JSWorkerConstructor.cpp:
71790         * bindings/js/JSXMLHttpRequestConstructor.cpp:
71791         * bridge/jni/jni_jsobject.mm:
71792         Updated includes.
71793
71794         * inspector/JavaScriptDebugServer.cpp:
71795         (WebCore::JavaScriptDebugServer::sourceParsed):
71796         Change to not assert if this is called with no listeners.
71797         I don't think this was guaranteed before, and we now use
71798         this code path when recompiling. Slightly less efficient,
71799         but this is a one-time cost when turning on the debugger.
71800         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
71801         Change to call Debugger::recompileAllJSFunctions.
71802
71803 2009-08-13  Brady Eidson  <beidson@apple.com>
71804
71805         Reviewed by Eric Seidel.
71806
71807         <rdar://problem/7138591> and https://bugs.webkit.org/show_bug.cgi?id=28260
71808         onhashchange property cannot be set from javascript.
71809
71810         Test: fast/loader/onhashchange-attribute-listeners.html
71811
71812         * html/HTMLBodyElement.cpp:
71813         (WebCore::HTMLBodyElement::onhashchange):
71814         (WebCore::HTMLBodyElement::setOnhashchange):
71815         * html/HTMLBodyElement.h:
71816         * html/HTMLBodyElement.idl:
71817
71818         * html/HTMLFrameSetElement.cpp:
71819         (WebCore::HTMLFrameSetElement::onhashchange):
71820         (WebCore::HTMLFrameSetElement::setOnhashchange):
71821         * html/HTMLFrameSetElement.h:
71822         * html/HTMLFrameSetElement.idl:
71823
71824         * page/DOMWindow.cpp:
71825         (WebCore::DOMWindow::onhashchange):
71826         (WebCore::DOMWindow::setOnhashchange):
71827         * page/DOMWindow.h:
71828         * page/DOMWindow.idl:
71829
71830 2009-08-13  Mark Rowe  <mrowe@apple.com>
71831
71832         Reviewed by Geoff Garen.
71833
71834         Fix leaks of RGBColor instances from below SVGColor::rgbColor.
71835
71836         * svg/SVGColor.cpp:
71837         (WebCore::SVGColor::rgbColor): Return a PassRefPtr to ensure that the newly-allocated
71838         RGBColor is cleaned up by the caller.
71839         * svg/SVGColor.h:
71840
71841 2009-08-13  Pavel Feldman  <pfeldman@chromium.org>
71842
71843         Reviewed by Timothy Hatcher.
71844
71845         WebInspector: Migrate to DOMAgent (serialized access to DOM).
71846
71847         https://bugs.webkit.org/show_bug.cgi?id=28177
71848
71849         * bindings/js/JSInspectorBackendCustom.cpp:
71850         (WebCore::JSInspectorBackend::highlightDOMNode):
71851         (WebCore::JSInspectorBackend::nodeForId):
71852         (WebCore::JSInspectorBackend::idForNode):
71853         (WebCore::JSInspectorBackend::wrapObject):
71854         (WebCore::JSInspectorBackend::unwrapObject):
71855         (WebCore::JSInspectorBackend::pushNodePathToFrontend):
71856         (WebCore::JSInspectorBackend::selectDatabase):
71857         (WebCore::JSInspectorBackend::selectDOMStorage):
71858         * bindings/js/ScriptObjectQuarantine.cpp:
71859         (WebCore::getQuarantinedScriptObject):
71860         * bindings/js/ScriptObjectQuarantine.h:
71861         * bindings/js/ScriptValue.cpp:
71862         (WebCore::ScriptValue::isObject):
71863         * bindings/js/ScriptValue.h:
71864         * bindings/v8/ScriptObjectQuarantine.cpp:
71865         (WebCore::getQuarantinedScriptObject):
71866         * bindings/v8/ScriptObjectQuarantine.h:
71867         * bindings/v8/ScriptValue.h:
71868         (WebCore::ScriptValue::isObject):
71869         * bindings/v8/custom/V8CustomBinding.h:
71870         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
71871         (WebCore::CALLBACK_FUNC_DECL):
71872         * inspector/ConsoleMessage.cpp:
71873         (WebCore::ConsoleMessage::ConsoleMessage):
71874         * inspector/ConsoleMessage.h:
71875         * inspector/InspectorBackend.cpp:
71876         (WebCore::InspectorBackend::clearMessages):
71877         (WebCore::InspectorBackend::loaded):
71878         (WebCore::InspectorBackend::highlight):
71879         (WebCore::InspectorBackend::nodeForId):
71880         (WebCore::InspectorBackend::idForNode):
71881         (WebCore::InspectorBackend::wrapObject):
71882         (WebCore::InspectorBackend::unwrapObject):
71883         (WebCore::InspectorBackend::pushNodePathToFrontend):
71884         (WebCore::InspectorBackend::addNodesToSearchResult):
71885         (WebCore::InspectorBackend::selectDatabase):
71886         (WebCore::InspectorBackend::selectDOMStorage):
71887         * inspector/InspectorBackend.h:
71888         * inspector/InspectorBackend.idl:
71889         * inspector/InspectorController.cpp:
71890         (WebCore::InspectorController::InspectorController):
71891         (WebCore::InspectorController::focusNode):
71892         (WebCore::InspectorController::addMessageToConsole):
71893         (WebCore::InspectorController::clearConsoleMessages):
71894         (WebCore::InspectorController::startGroup):
71895         (WebCore::InspectorController::scriptObjectReady):
71896         (WebCore::InspectorController::setFrontendProxyObject):
71897         (WebCore::InspectorController::close):
71898         (WebCore::InspectorController::didCommitLoad):
71899         (WebCore::InspectorController::wrapObject):
71900         (WebCore::InspectorController::unwrapObject):
71901         * inspector/InspectorController.h:
71902         * inspector/InspectorDOMAgent.cpp:
71903         (WebCore::InspectorDOMAgent::setDocument):
71904         (WebCore::InspectorDOMAgent::handleEvent):
71905         (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
71906         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
71907         (WebCore::InspectorDOMAgent::nodeForId):
71908         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
71909         (WebCore::InspectorDOMAgent::buildObjectForNode):
71910         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
71911         (WebCore::InspectorDOMAgent::innerParentElement):
71912         * inspector/InspectorDOMAgent.h:
71913         * inspector/InspectorDOMStorageResource.cpp:
71914         (WebCore::InspectorDOMStorageResource::bind):
71915         * inspector/InspectorFrontend.cpp:
71916         (WebCore::InspectorFrontend::clearConsoleMessages):
71917         (WebCore::InspectorFrontend::updateFocusedNode):
71918         (WebCore::InspectorFrontend::setDocument):
71919         (WebCore::InspectorFrontend::selectDatabase):
71920         (WebCore::InspectorFrontend::selectDOMStorage):
71921         (WebCore::InspectorFrontend::addNodesToSearchResult):
71922         * inspector/InspectorFrontend.h:
71923         * inspector/front-end/ConsoleView.js:
71924         (WebInspector.ConsoleView.prototype.clearMessages):
71925         (WebInspector.ConsoleView.prototype.completions):
71926         (WebInspector.ConsoleView.prototype._reportCompletions):
71927         (WebInspector.ConsoleView.prototype._messagesClicked):
71928         (WebInspector.ConsoleView.prototype.doEvalInWindow.evalCallback):
71929         (WebInspector.ConsoleView.prototype.doEvalInWindow):
71930         (WebInspector.ConsoleView.prototype._format):
71931         (WebInspector.ConsoleView.prototype._formatfunction):
71932         (WebInspector.ConsoleView.prototype._formatdate):
71933         (WebInspector.ConsoleView.prototype._formatregexp):
71934         (WebInspector.ConsoleView.prototype._formatnode):
71935         (WebInspector.ConsoleView.prototype._formatobject):
71936         * inspector/front-end/DOMAgent.js:
71937         (WebInspector.DOMNode):
71938         (WebInspector.DOMNode.prototype._renumber):
71939         (WebInspector.DOMDocument):
71940         (WebInspector.DOMAgent):
71941         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
71942         (WebInspector.DOMAgent.prototype.setAttributeAsync):
71943         (WebInspector.DOMAgent.prototype.removeAttributeAsync):
71944         (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
71945         (WebInspector.DOMAgent.prototype.nodeForId):
71946         (WebInspector.DOMAgent.prototype._setDocument):
71947         (WebInspector.DOMAgent.prototype._setChildNodes):
71948         (WebInspector.DOMAgent.prototype._bindNodes):
71949         (WebInspector.DOMAgent.prototype._childNodeInserted):
71950         (WebInspector.CSSStyleDeclaration):
71951         (WebInspector.CSSStyleDeclaration.parseRule):
71952         (WebInspector.setDocument):
71953         (InspectorController.getStyles):
71954         (InspectorController.getComputedStyle):
71955         (InspectorController.getInlineStyle):
71956         (InspectorController.applyStyleText):
71957         (InspectorController.setStyleText):
71958         (InspectorController.toggleStyleEnabled):
71959         (InspectorController.applyStyleRuleText):
71960         (InspectorController.addStyleSelector):
71961         (InspectorController.setStyleProperty):
71962         (InspectorController.getPrototypes):
71963         (InspectorController.getProperties):
71964         (InspectorController.setPropertyValue):
71965         (InspectorController.evaluate):
71966         (InspectorController.addInspectedNode):
71967         (InspectorController.performSearch):
71968         (InspectorController.searchCanceled):
71969         * inspector/front-end/ElementsPanel.js:
71970         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
71971         (WebInspector.ElementsPanel.prototype.searchCanceled):
71972         (WebInspector.ElementsPanel.prototype.performSearch):
71973         (WebInspector.ElementsPanel.prototype._updateMatchesCount):
71974         (WebInspector.ElementsPanel.prototype._updateMatchesCountSoon):
71975         (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
71976         * inspector/front-end/ElementsTreeOutline.js:
71977         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode):
71978         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
71979         (WebInspector.ElementsTreeElement.prototype.updateChildren):
71980         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
71981         * inspector/front-end/InjectedScript.js:
71982         (InjectedScript.applyStyleRuleText):
71983         (InjectedScript.addStyleSelector):
71984         (InjectedScript._doesSelectorAffectNode):
71985         (InjectedScript._serializeRule):
71986         (InjectedScript._serializeStyle):
71987         (InjectedScript.getProperties):
71988         (InjectedScript.evaluate):
71989         (InjectedScript.addInspectedNode):
71990         (InjectedScript.performSearch.addNodesToResults):
71991         (InjectedScript.performSearch.matchExactItems):
71992         (InjectedScript.performSearch.matchExactId.addNodesToResults.call):
71993         (InjectedScript.performSearch.matchExactId):
71994         (InjectedScript.performSearch):
71995         (InjectedScript.performSearch.matchExactTagNames):
71996         (InjectedScript.performSearch.matchExactAttributeNames):
71997         (InjectedScript.performSearch.matchPartialTagNames):
71998         (InjectedScript.performSearch.matchStartOfTagNames):
71999         (InjectedScript.performSearch.matchPartialTagNamesAndAttributeValues):
72000         (InjectedScript.performSearch.matchPartialAttributeValues):
72001         (InjectedScript.performSearch.matchStyleSelector):
72002         (InjectedScript.performSearch.matchPlainText):
72003         (InjectedScript.performSearch.matchXPathQuery):
72004         (InjectedScript.performSearch.finishedSearching):
72005         (InjectedScript.performSearch.processChunk):
72006         (InjectedScript.searchCanceled):
72007         (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
72008         (InjectedScript._ensureCommandLineAPIInstalled):
72009         (InjectedScript._resolveObject):
72010         (InjectedScript._nodeForId):
72011         (InjectedScript._objectForId):
72012         (InjectedScript._createProxyObject):
72013         * inspector/front-end/ObjectPropertiesSection.js:
72014         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
72015         (WebInspector.ObjectPropertyTreeElement.prototype.update):
72016         * inspector/front-end/ObjectProxy.js:
72017         (WebInspector.ObjectProxy):
72018         (WebInspector.ObjectPropertyProxy):
72019         * inspector/front-end/PropertiesSidebarPane.js:
72020         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
72021         (WebInspector.PropertiesSidebarPane.prototype.update):
72022         * inspector/front-end/StylesSidebarPane.js:
72023         (WebInspector.StylesSidebarPane.prototype.update.callback):
72024         (WebInspector.StylesSidebarPane.prototype.update):
72025         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
72026         (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
72027         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted.callback):
72028         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
72029         (WebInspector.StylePropertyTreeElement.prototype):
72030         * inspector/front-end/inspector.js:
72031         (WebInspector._updateHoverHighlight):
72032         (WebInspector.loaded):
72033         (WebInspector.clearConsoleMessages):
72034         (WebInspector.selectDatabase):
72035         (WebInspector.selectDOMStorage):
72036         (WebInspector.updateFocusedNode):
72037         (WebInspector.addNodesToSearchResult):
72038         * inspector/front-end/utilities.js:
72039         (Object.proxyType):
72040         * storage/Storage.h:
72041         (WebCore::Storage::frame):
72042
72043 2009-08-13  Mark Rowe  <mrowe@apple.com>
72044
72045         Reviewed by Geoff Garen.
72046
72047         Fix leaks of RGBColor instances from below CSSPrimitiveValue::getRGBColorValue.
72048
72049         * css/CSSPrimitiveValue.cpp:
72050         (WebCore::CSSPrimitiveValue::getRGBColorValue): Return a PassRefPtr to ensure that the
72051         newly-allocated RGBColor is cleaned up by the caller.
72052         * css/CSSPrimitiveValue.h:
72053
72054 2009-08-13  Eric Seidel  <eric@webkit.org>
72055
72056         Reviewed by David Hyatt.
72057
72058         wrong font size when css font-family includes monospace
72059         https://bugs.webkit.org/show_bug.cgi?id=19161
72060
72061         Firefox only uses fixed-width default size for exactly "font-family: monospace;".
72062         WebKit has historically used fixed-width default size any time a
72063         font-family includes monospace in the fallback list.
72064
72065         This patch corrects WebKit's behavior to match Firefox.
72066         I also had to fix a bug in WebKit's font-family fallback behavior where
72067         child elements would inherit parts of their parents fallback lists.
72068
72069         This patch is mostly just replacing all cases where we used to check for:
72070         fontDescription.genericFontFamily() == MonospaceFamily
72071         with:
72072         fontDescription.useFixedDefaultSize()
72073
72074         Tests: fast/css/getComputedStyle/computed-style-font-family-monospace.html
72075                fast/css/getComputedStyle/font-family-fallback-reset.html
72076
72077         * css/CSSStyleSelector.cpp:
72078         (WebCore::CSSStyleSelector::applyProperty):
72079            Deploy useFixedDefaultSize().  Also fix the bug where child
72080            FontDescriptions would carry part of the parent font-family fallback list.
72081         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
72082            It's no longer alright to just check genericFontFamily(),
72083            we have to check to make sure the changed style has a matching useFixedDefaultSize().
72084         * platform/graphics/FontDescription.h:
72085         (WebCore::FontDescription::useFixedDefaultSize):
72086            Only use the fixed default size if we have one font family and it is "monospace".
72087            "-webkit-monospace" is the internal representation of the CSS identifier "monospace".
72088
72089 2009-08-13  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
72090
72091         Reviewed by Dimitri Glazkov.
72092
72093         [v8] Fix atomic string externalization crash.
72094         Atomic string externalization assumes that all non-empty strings
72095         can be externalized which is untrue on 64-bit.  This change fixed
72096         that.
72097
72098         https://bugs.webkit.org/show_bug.cgi?id=28215
72099
72100         This bug causes loads of test crashes, no need to add new tests
72101         specifically for this.
72102
72103         * bindings/v8/V8Binding.cpp:
72104         (WebCore::v8StringToAtomicWebCoreString):
72105
72106 2009-08-13  George Staikos  <george.staikos@torchmobile.com>
72107
72108         Rubberstamped by Darin Adler.
72109
72110         Use ASSERT_UNUSED instead of UNUSED_PARAM
72111
72112         * wml/WMLAnchorElement.cpp:
72113         (WebCore::WMLAnchorElement::deregisterTask):
72114         * wml/WMLDoElement.cpp:
72115         (WebCore::WMLDoElement::deregisterTask):
72116
72117 2009-08-13  Steve Block  <steveblock@google.com>
72118
72119         Reviewed by Darin Adler.
72120
72121         Fixes a couple of bugs in SecurityOrigin::createFromDatabaseIdentifier.
72122         https://bugs.webkit.org/show_bug.cgi?id=28262
72123
72124         No new tests possible.
72125
72126         * page/SecurityOrigin.cpp:
72127         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
72128
72129 2009-08-13  Dirk Schulze  <krit@webkit.org>
72130
72131         Reviewed by Eric Seidel.
72132
72133         [CAIRO] getImageData fails on a given rect bigger than the image rect
72134
72135         The destination image and the source image was mixed up on creating the
72136         imageData.
72137
72138         This is just a clean up and doesn't affect the current behavior. It's not
72139         possible to test this failure in a LayoutTest. Only canvas uses getImageData
72140         at the moment and returns before calling getImageData, if the image rect does
72141         not contain the requested rect.
72142
72143         * platform/graphics/cairo/ImageBufferCairo.cpp:
72144         (WebCore::getImageData):
72145
72146 2009-08-13  Maxime Simon  <simon.maxime@gmail.com>
72147
72148         Reviewed by Eric Seidel.
72149
72150         [Haiku] Adding RenderTheme to WebCore.
72151         https://bugs.webkit.org/show_bug.cgi?id=28258
72152
72153         * platform/haiku/RenderThemeHaiku.cpp: Added.
72154         (WebCore::RenderThemeHaiku::create):
72155         (WebCore::RenderTheme::themeForPage):
72156         (WebCore::RenderThemeHaiku::RenderThemeHaiku):
72157         (WebCore::RenderThemeHaiku::~RenderThemeHaiku):
72158         (WebCore::supportsFocus):
72159         (WebCore::RenderThemeHaiku::supportsFocusRing):
72160         (WebCore::RenderThemeHaiku::platformActiveSelectionBackgroundColor):
72161         (WebCore::RenderThemeHaiku::platformInactiveSelectionBackgroundColor):
72162         (WebCore::RenderThemeHaiku::platformActiveSelectionForegroundColor):
72163         (WebCore::RenderThemeHaiku::platformInactiveSelectionForegroundColor):
72164         (WebCore::RenderThemeHaiku::platformTextSearchHighlightColor):
72165         (WebCore::RenderThemeHaiku::systemFont):
72166         (WebCore::RenderThemeHaiku::paintCheckbox):
72167         (WebCore::RenderThemeHaiku::setCheckboxSize):
72168         (WebCore::RenderThemeHaiku::paintRadio):
72169         (WebCore::RenderThemeHaiku::setRadioSize):
72170         (WebCore::RenderThemeHaiku::adjustMenuListStyle):
72171         (WebCore::RenderThemeHaiku::paintMenuList):
72172         * platform/haiku/RenderThemeHaiku.h: Added.
72173         (WebCore::RenderThemeHaiku::supportsHover):
72174
72175 2009-08-13  Maxime Simon  <simon.maxime@gmail.com>
72176
72177         Reviewed by Eric Seidel.
72178
72179         [Haiku] Remove the "m_point" code from ContextMenuHaiku.cpp
72180         https://bugs.webkit.org/show_bug.cgi?id=28256
72181
72182         * platform/haiku/ContextMenuHaiku.cpp:
72183         (WebCore::ContextMenuReceiver::ContextMenuReceiver):
72184         (WebCore::ContextMenu::ContextMenu):
72185         (WebCore::ContextMenu::appendItem):
72186         (WebCore::ContextMenu::insertItem):
72187
72188 2009-08-13  Joseph Pecoraro  <joepeck02@gmail.com>
72189
72190         Reviewed by Darin Adler.
72191
72192         Inspector: Show Hidden Cookie Data
72193         https://bugs.webkit.org/show_bug.cgi?id=28185
72194
72195           Added new file Cookie.h to the WebCore XCode
72196
72197         * WebCore.xcodeproj/project.pbxproj:
72198
72199           InspectorController.cookies() binding
72200
72201         * bindings/js/JSInspectorBackendCustom.cpp:
72202         (WebCore::JSInspectorBackend::cookies):
72203         * inspector/InspectorBackend.idl:
72204
72205           Struct for static Cookie information
72206           (name, value, path, domain, expires, httpOnly, secure, session)
72207
72208         * platform/Cookie.h: Added.
72209         (WebCore::Cookie::Cookie):
72210         
72211           Getter for the a list of raw Cookies
72212           getRawCookies(., ., out Vector<Cookie>)
72213         
72214         * platform/CookieJar.h:
72215
72216           Implementation of getRawCookies for the mac platform.
72217
72218         * platform/mac/CookieJar.mm:
72219         (WebCore::getRawCookies):
72220
72221           Stub other CookieJar implementations to satisfy the interface.
72222
72223         * platform/haiku/CookieJarHaiku.cpp:
72224         (WebCore::getRawCookies):
72225         * platform/network/chromium/CookieJarChromium.cpp:
72226         (WebCore::getRawCookies):
72227         * platform/network/curl/CookieJarCurl.cpp:
72228         (WebCore::getRawCookies):
72229         * platform/network/soup/CookieJarSoup.cpp:
72230         (WebCore::getRawCookies):
72231         * platform/network/win/CookieJarCFNetWin.cpp:
72232         (WebCore::getRawCookies):
72233         * platform/network/win/CookieJarWin.cpp:
72234         (WebCore::getRawCookies):
72235         * platform/qt/CookieJarQt.cpp:
72236         (WebCore::getRawCookies):
72237
72238 2009-08-13  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
72239
72240         Reviewed by Timothy Hatcher.
72241
72242         Add a new gesture in Web Inspector to remove breakpoints
72243         https://bugs.webkit.org/show_bug.cgi?id=19131
72244         
72245         * inspector/front-end/SourceFrame.js:
72246         (WebInspector.SourceFrame.prototype._documentMouseDown):
72247
72248 2009-08-13  Norbert Leser  <norbert.leser@nokia.com>
72249
72250         Reviewed by Simon Hausmann.
72251
72252         Symbian target components (library and executable files)
72253         require Unique Identifiers (i.e., UID3).
72254         These identifiers are defined in the respective project
72255         file, conditionally for "symbian" platform.
72256
72257         * WebCore.pro:
72258
72259 2009-08-13  Shinichiro Hamaji  <hamaji@chromium.org>
72260
72261         Reviewed by Eric Seidel.
72262
72263         wrong calculation of overflow size for flexbox and table
72264         https://bugs.webkit.org/show_bug.cgi?id=28064
72265
72266         RenderFlexibleBox and RenderTable were using the width of overflow
72267         to update height of overflow, so height became wrong value and
72268         width was not updated. As the corresponding code of RenderBlock
72269         was sane, I factored it out and used from RenderFlexibleBox and
72270         RenderTable.
72271
72272         * rendering/RenderBlock.cpp:
72273         (WebCore::RenderBlock::updateOverflowWithShadowAndReflection): created from code of layoutBlock
72274         (WebCore::RenderBlock::layoutBlock):
72275         * rendering/RenderBlock.h:
72276         * rendering/RenderFlexibleBox.cpp: use updateOverflowWithShadowAndReflection
72277         (WebCore::RenderFlexibleBox::layoutBlock):
72278         * rendering/RenderTable.cpp:
72279         (WebCore::RenderTable::layout): use updateOverflowWithShadowAndReflection
72280
72281 2009-08-13  Mark Rowe  <mrowe@apple.com>
72282
72283         Revert r47185, the fix for <https://bugs.webkit.org/show_bug.cgi?id=28185>, as it broke the
72284         Windows build in a non-obvious manner.
72285
72286         * WebCore.xcodeproj/project.pbxproj:
72287         * bindings/js/JSInspectorBackendCustom.cpp:
72288         * inspector/InspectorBackend.idl:
72289         * platform/Cookie.h: Removed.
72290         * platform/CookieJar.h:
72291         * platform/haiku/CookieJarHaiku.cpp:
72292         (WebCore::setCookies):
72293         (WebCore::cookies):
72294         * platform/mac/CookieJar.mm:
72295         * platform/network/chromium/CookieJarChromium.cpp:
72296         * platform/network/curl/CookieJarCurl.cpp:
72297         * platform/network/soup/CookieJarSoup.cpp:
72298         * platform/network/win/CookieJarCFNetWin.cpp:
72299         * platform/network/win/CookieJarWin.cpp:
72300         * platform/qt/CookieJarQt.cpp:
72301
72302 2009-08-13  Ariya Hidayat  <ariya.hidayat@nokia.com>
72303
72304         Not reviewed: build fix (for r47192), adding new file from
72305         https://bugs.webkit.org/show_bug.cgi?id=28174
72306
72307         * inspector/front-end/StatusBarButton.js: Added.
72308
72309 2009-08-13  Mikhail Naganov  <mnaganov@chromium.org>
72310
72311         Reviewed by Timothy Hatcher.
72312
72313         Introduced StatusBarButton class that encapsulates glyphs support.
72314         Views updated accordingly.
72315
72316         https://bugs.webkit.org/show_bug.cgi?id=28174
72317
72318         * WebCore.gypi:
72319         * WebCore.vcproj/WebCore.vcproj:
72320         * inspector/front-end/CookieItemsView.js:
72321         (WebInspector.CookieItemsView):
72322         (WebInspector.CookieItemsView.prototype.get statusBarItems): Updated to retrieve DOM element from StatusBarButton instance (here and in similar getters below.)
72323         (WebInspector.CookieItemsView.prototype.hide):
72324         (WebInspector.CookieItemsView.prototype.update):
72325         * inspector/front-end/DOMStorageItemsView.js:
72326         (WebInspector.DOMStorageItemsView):
72327         (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
72328         (WebInspector.DOMStorageItemsView.prototype.hide):
72329         (WebInspector.DOMStorageItemsView.prototype.update):
72330         * inspector/front-end/ElementsPanel.js:
72331         (WebInspector.ElementsPanel):
72332         (WebInspector.ElementsPanel.prototype.get statusBarItems):
72333         (WebInspector.ElementsPanel.prototype.hide):
72334         (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
72335         * inspector/front-end/Panel.js:
72336         * inspector/front-end/ProfileView.js:
72337         (WebInspector.ProfileView):
72338         (WebInspector.ProfileView.prototype.get statusBarItems):
72339         (WebInspector.ProfileView.prototype._updatePercentButton):
72340         (WebInspector.ProfileView.prototype._focusClicked):
72341         (WebInspector.ProfileView.prototype._excludeClicked):
72342         (WebInspector.ProfileView.prototype._resetClicked):
72343         * inspector/front-end/ProfilesPanel.js:
72344         (WebInspector.ProfilesPanel):
72345         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
72346         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
72347         (WebInspector.ProfilesPanel.prototype._updateInterface):
72348         * inspector/front-end/ResourcesPanel.js:
72349         (WebInspector.ResourcesPanel.prototype.get statusBarItems):
72350         (WebInspector.ResourcesPanel.prototype.reset):
72351         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
72352         * inspector/front-end/ScriptsPanel.js:
72353         (WebInspector.ScriptsPanel):
72354         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
72355         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
72356         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
72357         * inspector/front-end/StatusBarButton.js: Added.
72358         (WebInspector.StatusBarButton):
72359         (WebInspector.StatusBarButton.prototype._clicked):
72360         (WebInspector.StatusBarButton.prototype.get disabled):
72361         (WebInspector.StatusBarButton.prototype.set disabled):
72362         (WebInspector.StatusBarButton.prototype.get title):
72363         (WebInspector.StatusBarButton.prototype.set title):
72364         (WebInspector.StatusBarButton.prototype.get toggled):
72365         (WebInspector.StatusBarButton.prototype.set toggled):
72366         (WebInspector.StatusBarButton.prototype.get visible):
72367         (WebInspector.StatusBarButton.prototype.set visible):
72368         * inspector/front-end/WebKit.qrc:
72369         * inspector/front-end/inspector.css: For uniformity, class names are always used to identify status bar buttons. Also, fixed "Reload" button style to use glyphs.
72370         * inspector/front-end/inspector.html:
72371
72372 2009-08-12  Ariya Hidayat  <ariya.hidayat@nokia.com>
72373
72374         Reviewed by Simon Hausmann.
72375
72376         [Qt] Add shadow support in GraphicsContext::fillRect().
72377
72378         * platform/graphics/qt/GraphicsContextQt.cpp:
72379         (WebCore::GraphicsContext::fillRect): Paint shadow if necessary.
72380         (WebCore::GraphicsContext::setPlatformShadow): Inverse y offset.
72381
72382 2009-08-13  David Levin  <levin@chromium.org>
72383
72384         Unreviewed build fix for Chromium Linux.
72385
72386         Rollback r47157 as this broke debug tests of Chromium Linux.
72387
72388         * platform/graphics/skia/PlatformContextSkia.cpp:
72389         (PlatformContextSkia::setupPaintCommon):
72390
72391 2009-08-13  David Levin  <levin@chromium.org>
72392
72393         Unreviewed build fix for chromium.
72394
72395         The chromium build broke due to r47185 which added
72396         a cookies array to inspector/InspectorBackend.idl.
72397
72398         * bindings/v8/custom/V8CustomBinding.h: Added the declaration for the cookies callback.
72399         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
72400         (WebCore::CALLBACK_FUNC_DECL(InspectorBackendCookies)): Stubbed out an implementation
72401          for the cookies callback.
72402
72403 2009-08-12  Joseph Pecoraro  <joepeck02@gmail.com>
72404
72405         Reviewed by Timothy Hatcher.
72406
72407         Inspector: Show Hidden Cookie Data
72408         https://bugs.webkit.org/show_bug.cgi?id=28185
72409
72410           Added new file Cookie.h to the WebCore XCode
72411
72412         * WebCore.xcodeproj/project.pbxproj:
72413
72414           InspectorController.cookies() binding
72415
72416         * bindings/js/JSInspectorBackendCustom.cpp:
72417         (WebCore::JSInspectorBackend::cookies):
72418         * inspector/InspectorBackend.idl:
72419
72420           Struct for static Cookie information
72421           (name, value, path, domain, expires, httpOnly, secure, session)
72422
72423         * platform/Cookie.h: Added.
72424         (WebCore::Cookie::Cookie):
72425         
72426           Getter for the a list of raw Cookies
72427           getRawCookies(., ., out Vector<Cookie>)
72428         
72429         * platform/CookieJar.h:
72430
72431           Implementation of getRawCookies for the mac platform.
72432
72433         * platform/mac/CookieJar.mm:
72434         (WebCore::getRawCookies):
72435
72436           Stub other CookieJar implementations to satisfy the interface.
72437
72438         * platform/haiku/CookieJarHaiku.cpp:
72439         (WebCore::getRawCookies):
72440         * platform/network/chromium/CookieJarChromium.cpp:
72441         (WebCore::getRawCookies):
72442         * platform/network/curl/CookieJarCurl.cpp:
72443         (WebCore::getRawCookies):
72444         * platform/network/soup/CookieJarSoup.cpp:
72445         (WebCore::getRawCookies):
72446         * platform/network/win/CookieJarCFNetWin.cpp:
72447         (WebCore::getRawCookies):
72448         * platform/network/win/CookieJarWin.cpp:
72449         (WebCore::getRawCookies):
72450         * platform/qt/CookieJarQt.cpp:
72451         (WebCore::getRawCookies):
72452
72453 2009-08-08  Joseph Pecoraro  <joepeck02@gmail.com>
72454
72455         Reviewed by Timothy Hatcher.
72456
72457         Inspector: Cookies in Storage Panel
72458         https://bugs.webkit.org/show_bug.cgi?id=27202
72459
72460           Data Structure for a Cookie. Just Key/Value for Now:
72461
72462         * inspector/front-end/Cookie.js: Added.
72463         (WebInspector.Cookie):
72464         (WebInspector.Cookie.prototype.get key):
72465         (WebInspector.Cookie.prototype.set key):
72466         (WebInspector.Cookie.prototype.get value):
72467         (WebInspector.Cookie.prototype.set value):
72468
72469           A Storage View for Cookies.  Allows for Refresh/Delete:
72470
72471         * inspector/front-end/CookieItemsView.js: Added.
72472         (WebInspector.CookieItemsView):
72473         (WebInspector.CookieItemsView.prototype.get statusBarItems): refresh and delete buttons
72474         (WebInspector.CookieItemsView.prototype.show):
72475         (WebInspector.CookieItemsView.prototype.hide):
72476         (WebInspector.CookieItemsView.prototype.update):
72477         (WebInspector.CookieItemsView.prototype.buildCookies): parses the inspected window's document.cookie string
72478         (WebInspector.CookieItemsView.prototype.dataGridForCookies): creates a datagrid for cookies
72479         (WebInspector.CookieItemsView.prototype._deleteButtonClicked): attempt at deleting the cookie (not flawless)
72480         (WebInspector.CookieItemsView.prototype._refreshButtonClicked): rebuild the datagrid
72481
72482           Include a SidebarSection Section in the Databases Panel:
72483
72484         * inspector/front-end/DatabasesPanel.js:
72485         (WebInspector.DatabasesPanel):
72486         (WebInspector.DatabasesPanel.prototype.show): calls populateInterface
72487         (WebInspector.DatabasesPanel.prototype.populateInterface): adds cookies if they don't exist
72488         (WebInspector.DatabasesPanel.prototype.reset): remove cookie specific parts
72489         (WebInspector.DatabasesPanel.prototype.addCookies): add cookies sidebar tree element
72490         (WebInspector.DatabasesPanel.prototype.showCookies): sets the visible view to a CookiesItemView
72491         (WebInspector.CookieSidebarTreeElement):
72492         (WebInspector.CookieSidebarTreeElement.prototype.onselect):
72493         (WebInspector.CookieSidebarTreeElement.prototype.get mainTitle): just "Cookies" at the moment
72494         (WebInspector.CookieSidebarTreeElement.prototype.set mainTitle):
72495         (WebInspector.CookieSidebarTreeElement.prototype.get subtitle): no subtitle yet
72496         (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
72497
72498           New "Cookies" Image for the Sidebar:
72499
72500         * inspector/front-end/Images/cookie.png: Added.
72501         * inspector/front-end/inspector.css:
72502
72503           Include the Added Files where appropriate:
72504
72505         * inspector/front-end/WebKit.qrc:
72506         * inspector/front-end/inspector.html:
72507
72508 2009-08-12  George Wright  <george.wright@torchmobile.com>
72509
72510         Reviewed by George Staikos.
72511
72512         Add SQLTransactionCoordinator.[h,cpp] to WebCore.pro.
72513
72514         https://bugs.webkit.org/show_bug.cgi?id=28246
72515
72516         * WebCore.pro:
72517
72518 2009-08-12  George Staikos  <george.staikos@torchmobile.com>
72519
72520         Reviewed by Adam Treat.
72521
72522         Mark unused variables to avoid compile failures in -Werror.
72523
72524         * wml/WMLAnchorElement.cpp:
72525         (WebCore::WMLAnchorElement::deregisterTask):
72526         * wml/WMLDoElement.cpp:
72527         (WebCore::WMLDoElement::deregisterTask):
72528
72529 2009-08-12  Charles Wei  <charles.wei@torchmobile.com.cn>
72530
72531         Reviewed by Niko Zimmermann.
72532
72533         This is to add WCSS marquee support , which is defined by OMA and is an extension for CSS2, 
72534         It extends CSS display with "display:-wap-marquee;-wap-marquee-dir:xxx;-wap-marquee-speed:xxx;-wap-marquee-style:xxx"
72535         Minor fixes by Eric Seidel and George Staikos.
72536         https://bugs.webkit.org/show_bug.cgi?id=23727
72537
72538         No new tests, the tests have already been landed at LayoutTests/fast/wcss/
72539
72540         * WebCore.pro:
72541         * css/CSSParser.cpp:
72542         (WebCore::CSSParser::parseValue):
72543         * css/CSSPrimitiveValueMappings.h:
72544         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
72545         * css/CSSStyleSelector.cpp:
72546         (WebCore::CSSStyleSelector::applyProperty):
72547         * css/CSSValueKeywords.in:
72548         * css/WCSSPropertyNames.in: Added.
72549         * css/WCSSValueKeywords.in: Added.
72550         * rendering/RenderMarquee.cpp:
72551         (WebCore::RenderMarquee::start):
72552         * rendering/RenderObject.cpp:
72553         (WebCore::RenderObject::createObject):
72554         * rendering/style/RenderStyleConstants.h:
72555         (WebCore::):
72556
72557 2009-08-12  George Wright  <george.wright@torchmobile.com>
72558
72559         Reviewed by David Hyatt.
72560
72561         Update the canvas renderer's intrinsic size with the zoomed
72562         lengths and ensure the intrinsic size is correct when setting
72563         an initial style.
72564
72565         https://bugs.webkit.org/show_bug.cgi?id=26908
72566
72567         Test: fast/canvas/canvas-zoom.html
72568
72569         * rendering/RenderHTMLCanvas.cpp:
72570         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
72571         * rendering/RenderReplaced.cpp:
72572         (WebCore::RenderReplaced::styleDidChange):
72573
72574 2009-08-12  Alpha Lam  <hclam@chromium.org>
72575
72576         Reviewed by Simon Fraser.
72577
72578         Fix regression for dragging the media controller thumb.
72579         https://bugs.webkit.org/show_bug.cgi?id=28211
72580
72581         Modified the conditions for rejecting events on the media controller
72582         to only rejecting mouse events not from the left button.
72583
72584         Test: media/controls-drag-timebar.html
72585
72586         * rendering/MediaControlElements.cpp:
72587         (WebCore::MediaControlTimelineElement::defaultEventHandler):
72588
72589 2009-08-12  Dumitru Daniliuc  <dumi@chromium.org>
72590
72591         Reviewed by Eric Seidel.
72592
72593         Fixing a deadlock caused by two transactions that run on two
72594         different database handles for the same DB. Adding a per-DB thread
72595         transaction coordinator that allows the DB thread to run only one
72596         transaction per DB file at any given time.
72597
72598         Adding a regression test for this bug.
72599
72600         Test: storage/multiple-transactions-on-different-handles.html
72601
72602         https://bugs.webkit.org/show_bug.cgi?id=27966
72603
72604         * GNUmakefile.am:
72605         * WebCore.gypi:
72606         * WebCore.vcproj/WebCore.vcproj:
72607         * WebCore.xcodeproj/project.pbxproj:
72608         * storage/Database.cpp:
72609         (WebCore::Database::transactionCoordinator):
72610         * storage/Database.h:
72611         * storage/DatabaseThread.cpp:
72612         (WebCore::DatabaseThread::DatabaseThread):
72613         * storage/DatabaseThread.h:
72614         (WebCore::DatabaseThread::transactionCoordinator):
72615         * storage/SQLTransaction.cpp:
72616         (WebCore::SQLTransaction::SQLTransaction):
72617         (WebCore::SQLTransaction::debugStepName):
72618         (WebCore::SQLTransaction::performNextStep):
72619         (WebCore::SQLTransaction::aquireLock):
72620         (WebCore::SQLTransaction::lockAquired):
72621         (WebCore::SQLTransaction::cleanupAfterSuccessCallback):
72622         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
72623         * storage/SQLTransaction.h:
72624         * storage/SQLTransactionCoordinator.cpp: Added.
72625         * storage/SQLTransactionCoordinator.h: Added.
72626
72627 2009-08-12  Darin Adler  <darin@apple.com>
72628
72629         Reviewed by Geoff Garen.
72630
72631         Custom properties on DOM objects are lost after GC (as demonstrated by the gc-9.html test)
72632         https://bugs.webkit.org/show_bug.cgi?id=28194
72633
72634         * GNUmakefile.am: Added the two new source files.
72635         * WebCore.gypi: Ditto.
72636         * WebCore.pro: Ditto.
72637         * WebCore.vcproj/WebCore.vcproj: Ditto.
72638         * WebCore.xcodeproj/project.pbxproj: Ditto.
72639         * WebCoreSources.bkl: Ditto.
72640
72641         * bindings/js/JSCSSRuleListCustom.cpp: Added.
72642         (WebCore::JSCSSRuleList::markChildren): Call markDOMObjectWrapper
72643         on rules in the list.
72644
72645         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
72646         (WebCore::JSCSSStyleDeclaration::markChildren): Added. Call
72647         markDOMObjectWrapper on the CSSValue objects that are owned by the
72648         declaration as values of the properties.
72649
72650         * bindings/js/JSDOMBinding.cpp:
72651         (WebCore::isObservableThroughDOM): Added code to handle some
72652         cases where nodes are observable because they own objects that
72653         in turn have custom properties.
72654
72655         * bindings/js/JSDOMBinding.h: Fix a typo in the header.
72656
72657         * bindings/js/JSDocumentCustom.cpp:
72658         (WebCore::JSDocument::markChildren): Added call to markDOMObjectWrapper
72659         for implementation and styleSheets.
72660
72661         * bindings/js/JSElementCustom.cpp:
72662         (WebCore::JSElement::markChildren): Added. Calls markDOMObjectWrapper
72663         for attributes and style.
72664
72665         * bindings/js/JSHTMLCanvasElementCustom.cpp: Added.
72666         (WebCore::JSHTMLCanvasElement::markChildren): Call markDOMObjectWrapper
72667         on the rendering context.
72668
72669         * bindings/js/JSStyleSheetCustom.cpp:
72670         (WebCore::JSStyleSheet::markChildren): Call markDOMObjectWrapper on
72671         items in the stylesheet.
72672
72673         * bindings/js/JSStyleSheetListCustom.cpp:
72674         (WebCore::JSStyleSheetList::markChildren): Added. Calls
72675         markDOMObjectWrapper on stylesheets in the list.
72676
72677         * css/CSSRuleList.idl: Added CustomMarkFunction.
72678         * css/CSSStyleDeclaration.idl: Ditto.
72679         * css/StyleSheetList.idl: Ditto.
72680         * dom/Element.idl: Ditto.
72681         * html/HTMLCanvasElement.idl: Ditto.
72682
72683         * dom/Element.h: Made everything private that could be.
72684         Added access to the attributeMap that does returns
72685         the existing map without doing any of the lazy-updating work. This
72686         is needed to get at the existing attributes during garbage collection
72687         without having side effects.
72688
72689         * html/HTMLCanvasElement.h: Cleaned up the header a bit, making
72690         members private. Added renderingContext2D function for use in
72691         JSHTMLCanvasElement::markChildren.
72692
72693 2009-08-12  Brian Weinstein  <bweinstein@apple.com>
72694
72695         Reviewed by Eric Seidel.
72696
72697         Fixes two bugs about Pan Scrolling - Scrolling with middle mouse button doesn't 
72698         work in Expanded view on reader.google.com, and Can enter auto scroll from a non-scrollable area.
72699         https://bugs.webkit.org/show_bug.cgi?id=28023
72700         https://bugs.webkit.org/show_bug.cgi?id=24794
72701         
72702         Added a new method to RenderBox seeing if the Box can be scrolled and actually has something to
72703         scroll, and use that for pan scrolling.
72704
72705         Test: platform/win/fast/events/panScroll-nested-divs.html
72706
72707         * page/EventHandler.cpp:
72708         (WebCore::EventHandler::handleMouseDraggedEvent):
72709         (WebCore::EventHandler::updateAutoscrollRenderer):
72710         (WebCore::EventHandler::handleMousePressEvent):
72711         * rendering/RenderBox.cpp:
72712         (WebCore::RenderBox::canBeScrolledAndHasScrollableArea):
72713         * rendering/RenderBox.h:
72714         * rendering/RenderLayer.cpp:
72715         (WebCore::RenderLayer::scrollByRecursively):
72716
72717 2009-08-12  Brian Weinstein  <bweinstein@apple.com>
72718
72719         Reviewed by Adam Roben.
72720
72721         Fix of <rdar://6728361> Mouse wheel scrolling on a page with expanded drop down 
72722         list detaches drop down.
72723
72724         Added a function for Windows PopupMenu's to return their class name.
72725
72726          * platform/PopupMenu.h:
72727          * platform/win/PopupMenuWin.cpp:
72728          (WebCore::PopupMenu::popupClassName):
72729
72730 2009-08-12  Shinichiro Hamaji  <hamaji@chromium.org>
72731
72732         Reviewed by Dan Bernstein.
72733
72734         WINCE PORT: Color and Gradient
72735         https://bugs.webkit.org/show_bug.cgi?id=27511
72736
72737         * platform/graphics/wince/ColorWince.cpp: Added.
72738         * platform/graphics/wince/GradientWince.cpp: Added.
72739
72740 2009-08-12  Yong Li  <yong.li@torchmobile.com>
72741
72742         Reviewed by Eric Seidel.
72743
72744         fix a typo in platform/graphics/skia/PlatformContextSkia.cpp
72745         https://bugs.webkit.org/show_bug.cgi?id=28172
72746
72747         No new tests because it's a just typo fix.
72748
72749         * platform/graphics/skia/PlatformContextSkia.cpp:
72750         (PlatformContextSkia::setupPaintCommon):
72751
72752 2009-08-12  Michelangelo De Simone  <micdesim@gmail.com>
72753
72754         Reviewed by Darin Adler.
72755
72756         https://bugs.webkit.org/show_bug.cgi?id=27458
72757         Support for the :default CSS pseudoclass, as per HTML5 spec.
72758         http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#selector-default
72759
72760         Tests: fast/css/pseudo-default-001.html
72761                fast/css/pseudo-default-002.html
72762                fast/css/pseudo-default-003.html
72763                fast/css/pseudo-default-004.html
72764
72765         * css/CSSSelector.cpp:
72766         (WebCore::CSSSelector::extractPseudoType): pseudoDefault
72767         * css/CSSSelector.h:
72768         (WebCore::CSSSelector::):
72769         * css/CSSStyleSelector.cpp:
72770         (WebCore::CSSStyleSelector::canShareStyleWithElement): sharing stuff is
72771         aware that only one default button can be present in a form
72772         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): applies
72773         the :default CSS pseudoclass
72774         * dom/Element.h:
72775         (WebCore::Element::isDefaultButtonForForm): new method to determine
72776         whether a FormControl is a default button for a given form
72777         * html/HTMLFormControlElement.cpp:
72778         (WebCore::HTMLFormControlElement::isDefaultButtonForForm): ditto
72779         * html/HTMLFormControlElement.h:
72780         * html/HTMLFormElement.cpp:
72781         (WebCore::HTMLFormElement::defaultButton): extracts the default button
72782         from the form
72783         * html/HTMLFormElement.h:
72784
72785 2009-08-12  David Levin  <levin@chromium.org>
72786
72787         No review, rolling out r47106.
72788         https://bugs.webkit.org/show_bug.cgi?id=28215
72789
72790         This patch relied on a new version of v8 which is not available
72791         in chromium yet.
72792
72793         * bindings/v8/V8Binding.cpp:
72794         (WebCore::v8StringToAtomicWebCoreString):
72795
72796 2009-08-12  Steve Block  <steveblock@google.com>
72797
72798         Reviewed by Eric Seidel.
72799
72800         Bug 26993 : Geolocation::requestPermission()
72801         https://bugs.webkit.org/show_bug.cgi?id=26993
72802
72803         Second patch to allow the Geolocation permission request to chrome to be asynchronous
72804         or synchronous. Fixes a bug where callbacks were called twice when permissions
72805         are granted synchronously.
72806
72807         No new tests required.
72808
72809         * page/Geolocation.cpp:
72810         (WebCore::Geolocation::setIsAllowed): Modified. Calls makeSuccessCallbacks() rather than geolocationServicePositionChanged().
72811         (WebCore::Geolocation::geolocationServicePositionChanged): Modified. Updated logic to avoid repeated callbacks when permissions are granted synchronously.
72812         (WebCore::Geolocation::makeSuccessCallbacks): Added. Calls success callbacks.
72813         * page/Geolocation.h: Modified. Adds makeSuccessCallbacks().
72814
72815 2009-08-12  Anders Carlsson  <andersca@apple.com>
72816
72817         Reviewed by Sam Weinig.
72818
72819         <rdar://problem/6952336>
72820         CrashTracer: [USER] 3 crashes in Safari at com.apple.WebCore â€¢ WebCore::SecurityOrigin::canAccess const 27
72821
72822         Make sure to set the security origin before calling dispatchWindowObjectAvailable.
72823         
72824         * loader/FrameLoader.cpp:
72825         (WebCore::FrameLoader::begin):
72826
72827 2009-08-12  Xiaomei Ji  <xji@chromium.org>
72828
72829         Reviewed by Eric Seidel.
72830
72831         Fix [Chromium] drop down menu letter selection, skip selections
72832         https://bugs.webkit.org/show_bug.cgi?id=28205
72833
72834         Not auto-testable since it is chromim platform specific code, and it involves sending a keyboard 
72835         event to the popup, which is not possible (eventSender sends the key
72836         events through webview, we want to go through the webwidget).
72837
72838         * manual-tests/keyboard_select_elements_with_same_beginning.html: Added.
72839         * platform/chromium/PopupMenuChromium.cpp:
72840         (WebCore::isCharacterTypeEvent): style change.
72841         (WebCore::PopupListBox::handleKeyEvent): typeAheadFind should be called only when the event is
72842         a character type event to avoid calling twice for English.
72843         (WebCore::PopupListBox::typeAheadFind): remove unnecessary checking of isCharacterTypeEvent() since the whole function is only called under that condition.
72844
72845 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
72846
72847         Reviewed by Eric Seidel.
72848
72849         [Haiku] Adding GraphicsContext to WebCore/platform/graphics/haiku.
72850         https://bugs.webkit.org/show_bug.cgi?id=28130
72851
72852         * platform/graphics/haiku/GraphicsContextHaiku.cpp: Added.
72853         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
72854         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
72855         (WebCore::GraphicsContext::GraphicsContext):
72856         (WebCore::GraphicsContext::~GraphicsContext):
72857         (WebCore::GraphicsContext::platformContext):
72858         (WebCore::GraphicsContext::savePlatformState):
72859         (WebCore::GraphicsContext::restorePlatformState):
72860         (WebCore::GraphicsContext::drawRect):
72861         (WebCore::GraphicsContext::drawLine):
72862         (WebCore::GraphicsContext::drawEllipse):
72863         (WebCore::GraphicsContext::strokeArc):
72864         (WebCore::GraphicsContext::strokePath):
72865         (WebCore::GraphicsContext::drawConvexPolygon):
72866         (WebCore::GraphicsContext::fillRect):
72867         (WebCore::GraphicsContext::fillRoundedRect):
72868         (WebCore::GraphicsContext::fillPath):
72869         (WebCore::GraphicsContext::beginPath):
72870         (WebCore::GraphicsContext::addPath):
72871         (WebCore::GraphicsContext::clip):
72872         (WebCore::GraphicsContext::drawFocusRing):
72873         (WebCore::GraphicsContext::drawLineForText):
72874         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
72875         (WebCore::GraphicsContext::roundToDevicePixels):
72876         (WebCore::GraphicsContext::beginTransparencyLayer):
72877         (WebCore::GraphicsContext::endTransparencyLayer):
72878         (WebCore::GraphicsContext::clearRect):
72879         (WebCore::GraphicsContext::strokeRect):
72880         (WebCore::GraphicsContext::setLineCap):
72881         (WebCore::GraphicsContext::setLineJoin):
72882         (WebCore::GraphicsContext::setMiterLimit):
72883         (WebCore::GraphicsContext::setAlpha):
72884         (WebCore::GraphicsContext::setCompositeOperation):
72885         (WebCore::GraphicsContext::clipOut):
72886         (WebCore::GraphicsContext::clipToImageBuffer):
72887         (WebCore::GraphicsContext::getCTM):
72888         (WebCore::GraphicsContext::translate):
72889         (WebCore::GraphicsContext::origin):
72890         (WebCore::GraphicsContext::rotate):
72891         (WebCore::GraphicsContext::scale):
72892         (WebCore::GraphicsContext::clipOutEllipseInRect):
72893         (WebCore::GraphicsContext::addInnerRoundedRectClip):
72894         (WebCore::GraphicsContext::concatCTM):
72895         (WebCore::GraphicsContext::setPlatformShouldAntialias):
72896         (WebCore::GraphicsContext::setImageInterpolationQuality):
72897         (WebCore::GraphicsContext::setURLForRect):
72898         (WebCore::GraphicsContext::setPlatformFont):
72899         (WebCore::GraphicsContext::setPlatformStrokeColor):
72900         (WebCore::GraphicsContext::getHaikuStrokeStyle):
72901         (WebCore::GraphicsContext::setPlatformStrokeStyle):
72902         (WebCore::GraphicsContext::setPlatformStrokeThickness):
72903         (WebCore::GraphicsContext::setPlatformFillColor):
72904         (WebCore::GraphicsContext::clearPlatformShadow):
72905         (WebCore::GraphicsContext::setPlatformShadow):
72906
72907 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
72908
72909         Reviewed by Eric Seidel.
72910
72911         [Haiku] Modifying WebCore/platform/graphics files to allow Haiku port.
72912         https://bugs.webkit.org/show_bug.cgi?id=28128
72913
72914         * platform/graphics/BitmapImage.h: Adding getBBitmap() function.
72915         * platform/graphics/Color.h: rgb_color is the Color struct in Haiku.
72916         * platform/graphics/FloatPoint.h: BPoint is the Point class in Haiku.
72917         * platform/graphics/FloatRect.h: BRect is the Rect class in Haiku.
72918         * platform/graphics/GraphicsContext.cpp: 
72919         * platform/graphics/GraphicsContext.h: BView is the PlatformGraphicsContext
72920         class for Haiku. Adding getHaikuStrokeStyle() function.
72921         * platform/graphics/Icon.h: Adding an empty Icon() constructor because
72922         this class isn't implemented for the moment.
72923         * platform/graphics/ImageSource.h: BBitmap is the native bitmap class 
72924         for Haiku.
72925         * platform/graphics/IntPoint.h: BPoint is the Point class in Haiku.
72926         * platform/graphics/IntRect.h: BRect is the Rect class in Haiku.
72927         * platform/graphics/IntSize.h: BSize is the Size class in Haiku.
72928         * platform/graphics/Path.h: BRegion is the Path class in Haiku.
72929         * platform/graphics/Pattern.h: Adding the GraphicsDef.h header and the 
72930         native pattern type.
72931         * platform/graphics/SimpleFontData.h: Adding Haiku's Font.h header.
72932
72933 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
72934
72935         Reviewed by Eric Seidel.
72936
72937         [Haiku] Adding modification to the WebCore/platform/ files to allow
72938         the Haiku port.
72939         https://bugs.webkit.org/show_bug.cgi?id=28128
72940
72941         * platform/ContextMenuItem.h: BMenu is the PlatformMenuItemDescription
72942         class of Haiku.
72943         * platform/Cursor.h: BCursor is the Cursor class of Haiku.
72944         * platform/DragData.h: Use a BMessage as DragDataRef.
72945         * platform/DragImage.h: Use a BBitmap as DragImageRef.
72946         * platform/PlatformKeyboardEvent.h: Use BMessage as event vehicle.
72947         * platform/PlatformMenuDescription.h: BMenu is the 
72948         PlatformMenuDescription class of Haiku.
72949         * platform/PlatformMouseEvent.h: Use BMessage as event vehicle.
72950         * platform/PlatformWheelEvent.h: Use BMessage as event vehicle.
72951         * platform/PopupMenu.h: Adding a m_menu attribute for Haiku.
72952         * platform/Widget.h: BView is the PlatformWidget class of Haiku.
72953
72954 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
72955
72956         Reviewed by Eric Seidel.
72957
72958         [Haiku] Tiny modifications on WebCore files to allow Haiku port.
72959         https://bugs.webkit.org/show_bug.cgi?id=28128
72960
72961         * bindings/js/ScriptControllerHaiku.cpp: Style cleanup.
72962         * loader/CachedFont.cpp: Haiku behaves like Qt, Gtk, or Chromium,
72963         so many PLATFORM(HAIKU) were added to these functions.
72964         (WebCore::CachedFont::~CachedFont):
72965         (WebCore::CachedFont::ensureCustomFontData):
72966         (WebCore::CachedFont::platformDataFromCustomData):
72967         (WebCore::CachedFont::allClientsRemoved):
72968         * page/EventHandler.cpp: Like the mac and Qt port, Haiku doesn't need the
72969         invertSenseOfTabsToLinks() function.
72970         * page/haiku/DragControllerHaiku.cpp: Style cleanup.
72971         * platform/image-decoders/ImageDecoder.h: For image decoding Haiku
72972         behaves like Cairo or Wx, (not like Skia).
72973         (WebCore::RGBA32Buffer::getAddr):
72974         * platform/text/PlatformString.h: Adding the String(BString&) and BString()
72975         methods specific to Haiku.
72976         * platform/text/UnicodeRange.h: Haiku needs to include stdint.h.
72977         * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp:
72978         (WebCore::currentSearchLocaleID): Missing function.
72979
72980 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
72981
72982         Reviewed by Eric Seidel.
72983
72984         [Haiku] Adding the ScrollbarTheme files.
72985         https://bugs.webkit.org/show_bug.cgi?id=28125
72986
72987         * platform/haiku/ScrollbarThemeHaiku.cpp: Added.
72988         (buttonWidth):
72989         (WebCore::ScrollbarTheme::nativeTheme):
72990         (WebCore::ScrollbarThemeHaiku::ScrollbarThemeHaiku):
72991         (WebCore::ScrollbarThemeHaiku::~ScrollbarThemeHaiku):
72992         (WebCore::ScrollbarThemeHaiku::scrollbarThickness):
72993         (WebCore::ScrollbarThemeHaiku::hasButtons):
72994         (WebCore::ScrollbarThemeHaiku::hasThumb):
72995         (WebCore::ScrollbarThemeHaiku::backButtonRect):
72996         (WebCore::ScrollbarThemeHaiku::forwardButtonRect):
72997         (WebCore::ScrollbarThemeHaiku::trackRect):
72998         (WebCore::ScrollbarThemeHaiku::paintScrollbarBackground):
72999         (WebCore::ScrollbarThemeHaiku::paintButton):
73000         (WebCore::ScrollbarThemeHaiku::paintThumb):
73001         * platform/haiku/ScrollbarThemeHaiku.h: Added.
73002
73003 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
73004
73005         Reviewed by Eric Seidel.
73006
73007         [Haiku] Adding eight simple files to WebCore/platform/graphics/haiku.
73008         https://bugs.webkit.org/show_bug.cgi?id=28122
73009
73010         * platform/graphics/haiku/ColorHaiku.cpp: Added.
73011         (WebCore::Color::Color):
73012         (WebCore::Color::operator rgb_color):
73013         (WebCore::focusRingColor):
73014         * platform/graphics/haiku/FloatPointHaiku.cpp: Added.
73015         (WebCore::FloatPoint::FloatPoint):
73016         (WebCore::FloatPoint::operator BPoint):
73017         * platform/graphics/haiku/FloatRectHaiku.cpp: Added.
73018         (WebCore::FloatRect::FloatRect):
73019         (WebCore::FloatRect::operator BRect):
73020         * platform/graphics/haiku/GradientHaiku.cpp: Added.
73021         (WebCore::Gradient::platformDestroy):
73022         (WebCore::Gradient::platformGradient):
73023         (WebCore::Gradient::fill):
73024         * platform/graphics/haiku/IntPointHaiku.cpp: Added.
73025         (WebCore::IntPoint::IntPoint):
73026         (WebCore::IntPoint::operator BPoint):
73027         * platform/graphics/haiku/IntRectHaiku.cpp: Added.
73028         (WebCore::IntRect::IntRect):
73029         (WebCore::IntRect::operator BRect):
73030         * platform/graphics/haiku/IntSizeHaiku.cpp: Added.
73031         (WebCore::IntSize::IntSize):
73032         (WebCore::IntSize::operator BSize):
73033         * platform/graphics/haiku/PathHaiku.cpp: Added.
73034         (WebCore::Path::Path):
73035         (WebCore::Path::~Path):
73036         (WebCore::Path::operator=):
73037         (WebCore::Path::hasCurrentPoint):
73038         (WebCore::Path::contains):
73039         (WebCore::Path::translate):
73040         (WebCore::Path::boundingRect):
73041         (WebCore::Path::moveTo):
73042         (WebCore::Path::addLineTo):
73043         (WebCore::Path::addQuadCurveTo):
73044         (WebCore::Path::addBezierCurveTo):
73045         (WebCore::Path::addArcTo):
73046         (WebCore::Path::closeSubpath):
73047         (WebCore::Path::addArc):
73048         (WebCore::Path::addRect):
73049         (WebCore::Path::addEllipse):
73050         (WebCore::Path::clear):
73051         (WebCore::Path::isEmpty):
73052         (WebCore::Path::debugString):
73053         (WebCore::Path::apply):
73054         (WebCore::Path::transform):
73055         (WebCore::Path::strokeBoundingRect):
73056
73057 2009-08-12  Lyon Chen  <lyon.chen@torchmobile.com>
73058
73059         Reviewed by George Staikos.
73060
73061         WINCE PORT: Implement Keygen for WINCE
73062         https://bugs.webkit.org/show_bug.cgi?id=27543
73063
73064         * platform/wince/KeygenWince.cpp: Added.
73065
73066 2009-08-12  Brent Fulgham  <bfulgham@webkit.org>
73067
73068         Rubber-stamped by Kevin Ollivier.
73069
73070         Handle crash in wx due to null value passed to strlen in
73071         the CString constructor.
73072
73073         * platform/network/curl/ResourceHandleManager.cpp:
73074         (WebCore::certificatePath):  Check for null return from getenv
73075         and use default CString constructor instead.
73076
73077 2009-08-12  Yong Li  <yong.li@torchmobile.com>
73078
73079         Reviewed by Eric Seidel.
73080
73081         WINCE PORT: simple stubs to make it build for WINCE
73082         https://bugs.webkit.org/show_bug.cgi?id=27543
73083
73084         * platform/wince/DragDataWince.cpp: Added.
73085         * platform/wince/DragImageWince.cpp: Added.
73086         * platform/wince/EditorWince.cpp: Added.
73087         * platform/wince/KURLWince.cpp: Added.
73088
73089 2009-08-12  Yong Li  <yong.li@torchmobile.com>
73090
73091         Reviewed by George Staikos.
73092
73093         WINCEPORT: FileSystem and FileChooser
73094         https://bugs.webkit.org/show_bug.cgi?id=27543
73095
73096         * platform/wince/FileChooserWince.cpp: Added.
73097         * platform/wince/FileSystemWince.cpp: Added.
73098
73099 2009-08-12  Yong Li  <yong.li@torchmobile.com>
73100
73101         Reviewed by Eric Seidel.
73102
73103         WINCE PORT: implement Cursor for WINCE. There's no real cursor on most
73104         WinMob devices. We pass the cursor info to application, which so that 
73105         can determine what to do.
73106         https://bugs.webkit.org/show_bug.cgi?id=27543
73107
73108         * platform/wince/CursorWince.cpp: Added.
73109
73110 2009-08-12  Yong Li  <yong.li@torchmobile.com>
73111
73112         Reviewed by George Staikos.
73113
73114         WINCE PORT: MIMETypeRegistry
73115         https://bugs.webkit.org/show_bug.cgi?id=27543
73116
73117         * platform/wince/MIMETypeRegistryWince.cpp: Added.
73118
73119 2009-08-12  Joe Mason  <joe.mason@torchmobile.com>
73120
73121         Reviewed by George Staikos.
73122
73123         WINCE PORT: Pasteboard and SearchPopupMenu
73124         https://bugs.webkit.org/show_bug.cgi?id=27543
73125
73126         * platform/wince/PasteboardWince.cpp: Added.
73127         * platform/wince/SearchPopupMenuWince.cpp: Added.
73128
73129 2009-08-12  Yong Li  <yong.li@torchmobile.com>
73130
73131         Reviewed by George Staikos.
73132
73133         WINCE PORT: Add SharedTimerWince.cpp and SystemTimeWince.cpp
73134         https://bugs.webkit.org/show_bug.cgi?id=27543
73135
73136         * platform/wince/SharedTimerWince.cpp: Added.
73137         * platform/wince/SystemTimeWince.cpp: Added.
73138
73139 2009-08-12  Mark Mentovai  <mark@chromium.org>
73140
73141         Reviewed by Darin Adler.
73142
73143         https://bugs.webkit.org/show_bug.cgi?id=28204
73144         Allow C+exceptions to be disabled in WebCore's V8 Mac build.
73145
73146         * WebCorePrefix.h:
73147         Only undefine |try| and |catch| when building Objective-C[++],
73148         leaving the C+library definitions intact for C++.
73149
73150 2009-08-12  Nate Chapin  <japhet@chromium.org>
73151
73152         Reviewed by Adam Barth.
73153
73154         Add a Custom Setter for DOMWindowEvent in the V8 bindings.
73155         https://bugs.webkit.org/show_bug.cgi?id=27719
73156
73157         Tests: fast/events/set-event-in-another-frame.html
73158                fast/events/set-event-to-null.html
73159
73160         * bindings/scripts/CodeGeneratorV8.pm: Clean up custom getter/setter code, 
73161             as it currently doesn't support a custom getter 
73162             and a v8-specific custom setter simultaneously.
73163         * bindings/v8/custom/V8CustomBinding.h:
73164         * bindings/v8/custom/V8DOMWindowCustom.cpp:
73165         (WebCore::ACCESSOR_SETTER):
73166         * page/DOMWindow.idl:
73167
73168 2009-08-12  Peter Kasting  <pkasting@google.com>
73169
73170         Reviewed by Adam Treat.
73171
73172         https://bugs.webkit.org/show_bug.cgi?id=27965
73173         Merge wx/ImageSourceWx.cpp into ImageSource.cpp.  No changes to
73174         ImageSource.cpp were needed, so this just deletes ImageSourceWx.cpp.
73175
73176         * WebCore.gypi:
73177         * WebCoreSources.bkl:
73178         * platform/graphics/wx/ImageSourceWx.cpp: Removed.
73179         * webcore-wx.bkl:
73180
73181 2009-08-12  Peter Kasting  <pkasting@google.com>
73182
73183         Reviewed by Dave Levin.
73184
73185         https://bugs.webkit.org/show_bug.cgi?id=27933
73186         Build fix after r47099.
73187
73188         * platform/graphics/skia/ImageBufferSkia.cpp:
73189         (WebCore::getImageData):
73190         (WebCore::putImageData):
73191
73192 2009-08-08  Yong Li  <yong.li@torchmobile.com>
73193
73194         Reviewed by Adam Treat.
73195
73196         WINCE PORT: Implement Path for WINCE. Most code can be
73197         reused for other ports that don't have native path support
73198         https://bugs.webkit.org/show_bug.cgi?id=28188
73199
73200         Written also by George Staikos (including quadCurve() and bezier())
73201
73202         * platform/graphics/wince/PathWince.cpp: Added.
73203         * platform/graphics/wince/PlatformPathWince.cpp: Added.
73204         * platform/graphics/wince/PlatformPathWince.h: Added.
73205         * platform/graphics/wince/WinceGraphicsExtras.h: Added.
73206
73207 2009-08-12  Joseph Pecoraro  <joepeck02@gmail.com>
73208
73209         "Double-click to add" new style button does not always show up [quick fix]
73210         https://bugs.webkit.org/show_bug.cgi?id=28187
73211
73212         * inspector/front-end/StylesSidebarPane.js:
73213         (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
73214
73215 2009-08-12  Crystal Zhang <crystal.zhang@torchmobile.com>
73216
73217         Reviewed by George Staikos.
73218
73219         WINCE PORT: MediaPlayerProxy and MediaPlayerPrivate
73220         https://bugs.webkit.org/show_bug.cgi?id=28178
73221
73222         * platform/graphics/wince/MediaPlayerPrivateWince.h: Added.
73223         * platform/graphics/wince/MediaPlayerProxy.cpp: Added.
73224         * platform/graphics/wince/MediaPlayerProxy.h: Added.
73225
73226 2009-08-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
73227
73228         Reviewed by Eric Seidel.
73229
73230         HTML 5 database and LocalStorage is not persistent on the Symbian port of QtWebKit
73231         https://bugs.webkit.org/show_bug.cgi?id=28175
73232
73233         Call QDir::toNativeSeparators() before the path is passed to the OS.
73234
73235         Based on work by David Leong.
73236         
73237         * platform/qt/FileSystemQt.cpp:
73238         (WebCore::pathByAppendingComponent):
73239
73240 2009-08-12  Dirk Schulze  <krit@webkit.org>
73241
73242         Reviewed by Ariya Hidayat.
73243
73244         Minor build-fix for SVG Filter. Use getUnmultipliedImageData instead
73245         of getImageData. This changed since r47099.
73246
73247         * platform/graphics/filters/FEColorMatrix.cpp:
73248         (WebCore::FEColorMatrix::apply):
73249
73250 2009-08-12  Viet-Trung Luu  <viettrungluu@gmail.com>
73251
73252         Reviewed by Dimitri Glazkov.
73253
73254         Explicitly set control tints for Chromium/Mac, since the controls'
73255         NSCell(s) lack an NSView and hence their tint isn't updated
73256         automatically when the application is activated/deactivated.
73257         https://bugs.webkit.org/show_bug.cgi?id=28108
73258         http://crbug.com/18199
73259
73260         * rendering/RenderThemeChromiumMac.mm:
73261         (WebCore::updateNSCellControlTint):
73262         (WebCore::RenderThemeChromiumMac::paintCheckbox):
73263         (WebCore::RenderThemeChromiumMac::paintRadio):
73264         (WebCore::RenderThemeChromiumMac::paintButton):
73265         (WebCore::RenderThemeChromiumMac::paintMenuList):
73266         (WebCore::RenderThemeChromiumMac::paintSliderThumb):
73267         (WebCore::RenderThemeChromiumMac::paintSearchField):
73268         (WebCore::RenderThemeChromiumMac::paintSearchFieldCancelButton):
73269         (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsDecoration):
73270         (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
73271
73272 2009-08-12  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
73273
73274         Reviewed by Dimitri Glazkov.
73275
73276         [V8] Fix atomic string externalization crash.
73277         Atomic string externalization assumes that all non-empty strings
73278         can be externalized which is untrue on 64-bit.  This change fixed
73279         that.
73280
73281         https://bugs.webkit.org/show_bug.cgi?id=28215
73282
73283         This bug causes loads of test crashes, no need to add new tests
73284         specifically for this.
73285
73286         * bindings/v8/V8Binding.cpp:
73287         (WebCore::v8StringToAtomicWebCoreString):
73288
73289 2009-08-12  Ariya Hidayat  <ariya.hidayat@nokia.com>
73290
73291         Reviewed by Holger Freyther.
73292
73293         [Qt] Fix box-shadow painting in r47103. The edge should not be blurry.
73294         Also optimize by not having to save and restore painter state.
73295
73296         * platform/graphics/qt/GraphicsContextQt.cpp:
73297         (WebCore::GraphicsContext::drawRect):
73298         (WebCore::GraphicsContext::fillRect):
73299
73300 2009-08-12  Ariya Hidayat  <ariya.hidayat@nokia.com>
73301
73302         Reviewed by Adam Treat.
73303
73304         [Qt] Fix coding style in GraphicsContextQt.cpp
73305
73306         * platform/graphics/qt/GraphicsContextQt.cpp:
73307         (WebCore::toQtCompositionMode):
73308         (WebCore::toQtLineCap):
73309         (WebCore::toQtLineJoin):
73310         (WebCore::GraphicsContextPlatformPrivate::p):
73311         (WebCore::GraphicsContext::drawLine):
73312         (WebCore::GraphicsContext::strokeArc):
73313         (WebCore::GraphicsContext::drawConvexPolygon):
73314         (WebCore::GraphicsContext::pen):
73315         (WebCore::GraphicsContext::fillPath):
73316         (WebCore::GraphicsContext::strokePath):
73317         (WebCore::GraphicsContext::fillRect):
73318         (WebCore::GraphicsContext::clipPath):
73319         (WebCore::GraphicsContext::drawFocusRing):
73320         (WebCore::GraphicsContext::beginTransparencyLayer):
73321         (WebCore::GraphicsContext::endTransparencyLayer):
73322         (WebCore::GraphicsContext::clearRect):
73323         (WebCore::GraphicsContext::setLineCap):
73324         (WebCore::GraphicsContext::setLineJoin):
73325         (WebCore::GraphicsContext::setMiterLimit):
73326         (WebCore::GraphicsContext::setAlpha):
73327         (WebCore::GraphicsContext::clipOut):
73328         (WebCore::GraphicsContext::clipOutEllipseInRect):
73329         (WebCore::GraphicsContext::addInnerRoundedRectClip):
73330         (WebCore::GraphicsContext::setPlatformStrokeColor):
73331         (WebCore::GraphicsContext::setPlatformStrokeStyle):
73332         (WebCore::GraphicsContext::setPlatformStrokeThickness):
73333
73334 2009-08-12  Szabo Carol  <carol.szabo@nokia.com>
73335
73336         Reviewed by Simon Hausmann and Ariya Hidayat.
73337
73338         https://bugs.webkit.org/show_bug.cgi?id=23291
73339
73340         [Qt] Partial support for -webkit-box-shadow. Blur is not support and
73341         the shadow still does not go well with border radius.
73342
73343         * platform/graphics/qt/GraphicsContextQt.cpp:
73344         (WebCore::GraphicsContext::drawRect):
73345         (WebCore::GraphicsContext::fillRect):
73346
73347 2009-08-12  Xan Lopez  <xlopez@igalia.com>
73348
73349         Reviewed by Jan Alonzo.
73350
73351         Use AM_V_GEN in a few more places, for less noisy builds.
73352
73353         * GNUmakefile.am:
73354
73355 2009-08-12  Dirk Schulze  <krit@webkit.org>
73356
73357         Reviewed by Oliver Hunt.
73358
73359         SVG Filter premultiplied color support for getImageDate/putImageData
73360         [https://bugs.webkit.org/show_bug.cgi?id=27933]
73361
73362         Some SVG Filters need premultiplied ImageData for the calculation. Therefore getImageData
73363         and putImageData of ImageBuffer need support for premultiplied colors.
73364
73365         * html/CanvasRenderingContext2D.cpp:
73366         (WebCore::CanvasRenderingContext2D::getImageData):
73367         (WebCore::CanvasRenderingContext2D::putImageData):
73368         * platform/graphics/ImageBuffer.h:
73369         (WebCore::):
73370         * platform/graphics/cairo/ImageBufferCairo.cpp:
73371         (WebCore::getImageData):
73372         (WebCore::ImageBuffer::getUnmultipliedImageData):
73373         (WebCore::ImageBuffer::getPremultipliedImageData):
73374         (WebCore::putImageData):
73375         (WebCore::ImageBuffer::putUnmultipliedImageData):
73376         (WebCore::ImageBuffer::putPremultipliedImageData):
73377         * platform/graphics/cg/ImageBufferCG.cpp:
73378         (WebCore::getImageData):
73379         (WebCore::ImageBuffer::getUnmultipliedImageData):
73380         (WebCore::ImageBuffer::getPremultipliedImageData):
73381         (WebCore::putImageData):
73382         (WebCore::ImageBuffer::putUnmultipliedImageData):
73383         (WebCore::ImageBuffer::putPremultipliedImageData):
73384         * platform/graphics/qt/ImageBufferQt.cpp:
73385         (WebCore::getImageData):
73386         (WebCore::ImageBuffer::getUnmultipliedImageData):
73387         (WebCore::ImageBuffer::getPremultipliedImageData):
73388         (WebCore::putImageData):
73389         (WebCore::ImageBuffer::putUnmultipliedImageData):
73390         (WebCore::ImageBuffer::putPremultipliedImageData):
73391         * platform/graphics/skia/ImageBufferSkia.cpp:
73392         (WebCore::getImageData):
73393         (WebCore::ImageBuffer::getUnmultipliedImageData):
73394         (WebCore::ImageBuffer::getPremultipliedImageData):
73395         (WebCore::putImageData):
73396         (WebCore::ImageBuffer::putUnmultipliedImageData):
73397         (WebCore::ImageBuffer::putPremultipliedImageData):
73398         * platform/graphics/wx/ImageBufferWx.cpp:
73399         (WebCore::ImageBuffer::getUnmultipliedImageData):
73400         (WebCore::ImageBuffer::getPremultipliedImageData):
73401         (WebCore::ImageBuffer::putUnmultipliedImageData):
73402         (WebCore::ImageBuffer::putPremultipliedImageData):
73403         * svg/graphics/SVGResourceMasker.cpp:
73404         (WebCore::SVGResourceMasker::applyMask):
73405
73406 2009-08-12  Mikhail Naganov  <mnaganov@chromium.org>
73407
73408         Reviewed by Timothy Hatcher.
73409
73410         Changed Number.bytesToString to support low-resolution output.
73411
73412         https://bugs.webkit.org/show_bug.cgi?id=28146
73413
73414         * inspector/front-end/utilities.js:
73415         (Number.bytesToString):
73416
73417 2009-08-12  Prasanth Ullattil  <prasanth.ullattil@nokia.com>
73418
73419         Reviewed by Simon Hausmann.
73420
73421         Add support for hooking BeginPaint/EndPaint on 64Bit Windows
73422
73423         Webkit uses the runtime patching trick explained by "Feng Yuan" for
73424         hooking these paint functions. It currently supports only 32bit assembly
73425         code. This patch adds support for 64Bit version. Since inline-assemblies
73426         are not supported for 64Bit, we have use a seperate .asm file.
73427
73428         * WebCore.pro:
73429         * plugins/win/PaintHooks.asm: Added.
73430         * plugins/win/PluginViewWin.cpp:
73431         (WebCore::PluginView::hookedBeginPaint):
73432         (WebCore::PluginView::hookedEndPaint):
73433         (WebCore::hook):
73434
73435 2009-08-11  Oliver Hunt  <oliver@apple.com>
73436
73437         Reviewed by Gavin Barraclough.
73438
73439         Make it harder to misuse try* allocation routines
73440         https://bugs.webkit.org/show_bug.cgi?id=27469
73441
73442         Add forwarding header for PossiblyNull type, and add missing null check
73443         to ImageBuffer creation.
73444
73445         * ForwardingHeaders/wtf/PossiblyNull.h: Added.
73446         * platform/graphics/cg/ImageBufferCG.cpp:
73447         (WebCore::ImageBuffer::ImageBuffer):
73448
73449 2009-08-11  Gavin Barraclough  <barraclough@apple.com>
73450
73451         Reviewed by Oliver Hunt.
73452
73453         Restrict use of FuncDeclNode & FuncExprNode to the parser.
73454         https://bugs.webkit.org/show_bug.cgi?id=28209
73455
73456         * inspector/JavaScriptDebugServer.cpp:
73457         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
73458             Function signature change.
73459
73460 2009-08-11  Peter Kasting  <pkasting@google.com>
73461
73462         Reviewed by Adam Treat.
73463
73464         https://bugs.webkit.org/show_bug.cgi?id=27965
73465         Merge skia/ImageSourceSkia.cpp into ImageSource.cpp.
73466
73467         * WebCore.gypi: Remove deleted file, plus a file that was deleted a while back.
73468         * platform/graphics/ImageSource.cpp:
73469         (WebCore::ImageSource::setData): Use slightly shorter syntax.
73470         (WebCore::ImageSource::filenameExtension): Use shorter syntax.
73471         (WebCore::ImageSource::createFrameAtIndex): Remove redundant call, clarify comments, reject all empty images.
73472         (WebCore::ImageSource::frameHasAlphaAtIndex): Clarify comments, use shorter syntax.
73473         * platform/graphics/skia/ImageSourceSkia.cpp: Removed.
73474
73475 2009-08-11  Drew Wilson  <atwilson@google.com>
73476
73477         Reviewed by David Levin.
73478
73479         SharedWorkers do not exit when the last parent document exits
73480         https://bugs.webkit.org/show_bug.cgi?id=28170
73481
73482         Prevents Documents from being suspended/placed in the page cache if they are associated with shared workers.
73483
73484         Added vector cache instead of nested hash tables for SharedWorker repository.
73485
73486         Added SharedWorkerRepository::documentDetached API.
73487
73488         * dom/Document.cpp:
73489         (WebCore::Document::detach):
73490         Notifies SharedWorkerRepository when the document is closing.
73491         * loader/FrameLoader.cpp:
73492         Updated FrameLoader to not cache the Document if it is associated with a SharedWorker (since we can't suspend workers yet, we need to shut them down).
73493         (WebCore::FrameLoader::canCachePageContainingThisFrame):
73494         (WebCore::FrameLoader::logCanCacheFrameDecision):
73495         * workers/DefaultSharedWorkerRepository.cpp:
73496         (WebCore::SharedWorkerProxy::create):
73497         (WebCore::SharedWorkerProxy::isClosing):
73498         Renamed from closing().
73499         (WebCore::SharedWorkerProxy::matches):
73500         Added manual equality function to replace old hash lookup.
73501         (WebCore::SharedWorkerProxy::isDocumentInWorkerDocuments):
73502         Checks to see if a document is in the worker's list of documents. Used to determine if page is suspendable.
73503         (WebCore::SharedWorkerProxy::SharedWorkerProxy):
73504         (WebCore::SharedWorkerProxy::addToWorkerDocuments):
73505         Added tracking of the worker's list of documents for lifecycle purposes.
73506         (WebCore::SharedWorkerProxy::documentDetached):
73507         Shuts down the proxy when the last associated document is detached.
73508         (WebCore::SharedWorkerProxy::close):
73509         Marks the proxy as closed so it is no longer shared with new instances.
73510         (WebCore::SharedWorkerProxy::workerContextDestroyed):
73511         Removes the proxy from the repository/frees the proxy when the associated SharedWorkerContext is destroyed.
73512         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
73513         closing()->isClosing()
73514         (WebCore::SharedWorkerRepository::documentDetached):
73515         (WebCore::SharedWorkerRepository::hasSharedWorkers):
73516         Used by FrameLoader to determine if a page has shared workers and so cannot be suspended/cached.
73517         (WebCore::DefaultSharedWorkerRepository::hasSharedWorkers):
73518         (WebCore::DefaultSharedWorkerRepository::removeProxy):
73519         Invoked by workerContextDestroyed() to remove a SharedWorkerProxy from the repository.
73520         (WebCore::DefaultSharedWorkerRepository::documentDetached):
73521         (WebCore::DefaultSharedWorkerRepository::connectToWorker):
73522         (WebCore::DefaultSharedWorkerRepository::getProxy):
73523         * workers/DefaultSharedWorkerRepository.h:
73524         * workers/SharedWorkerRepository.h:
73525
73526 2009-08-11  Chris Fleizach  <cfleizach@apple.com>
73527
73528         Reviewed by Darin Adler.
73529
73530         Bug 28200 - ListMarker should be included as part of the text value to parse
73531         https://bugs.webkit.org/show_bug.cgi?id=28200
73532
73533         When returning text through the marker range attributes, the list marker text should
73534         also be included. It isn't included by default because a TextIterator is used which
73535         only looks at Nodes for text. A list marker does not have a corresponding node,
73536         so its text is not returned through accessibility. That is, until now.
73537
73538         Test: platform/mac/accessibility/string-range-contains-listmarker.html
73539
73540         * accessibility/AccessibilityObject.cpp:
73541         (WebCore::AccessibilityObject::listMarkerTextForRange):
73542         (WebCore::AccessibilityObject::stringForVisiblePositionRange):
73543         * accessibility/AccessibilityObject.h:
73544         * accessibility/mac/AccessibilityObjectWrapper.mm:
73545         (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
73546         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
73547         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
73548         * rendering/RenderListItem.h:
73549
73550         Make markerText() public so that accessibility code can access it.
73551
73552 2009-08-11  Peter Kasting  <pkasting@google.com>
73553
73554         Reviewed by Adam Treat.
73555
73556         https://bugs.webkit.org/show_bug.cgi?id=27965
73557         Move cairo/ImageSourceCairo.cpp to ImageSource.cpp in preparation for
73558         merging most of the other ImageSource*.cpp files with it.
73559
73560         * GNUmakefile.am:
73561         * WebCore.gypi:
73562         * WebCore.vcproj/WebCore.vcproj:
73563         * platform/graphics/ImageSource.cpp: Copied from WebCore/platform/graphics/cairo/ImageSourceCairo.cpp.
73564         * platform/graphics/cairo/ImageSourceCairo.cpp: Removed.
73565
73566 2009-08-10  Brent Fulgham  <bfulgham@webkit.org>
73567
73568         Reviewed by Adam Roben.
73569
73570         Cairo-based Windows port does not handle the https protocol.
73571         https://bugs.webkit.org/show_bug.cgi?id=28171.
73572
73573         No new tests needed.  Existing https tests show this failure
73574         for WinCairo builds.
73575
73576         * WebCore.vcproj/WebCoreCURL.vsprops: Add a few preprocessor
73577           definitions for SSL support in cURL.
73578         * platform/network/curl/ResourceHandleManager.h: Add new
73579           certificate path member variable.
73580         * platform/network/curl/ResourceHandleManager.cpp:
73581         (WebCore::certificateBundlePath): New method to retrieve the
73582           proper certificate resource bundle path.
73583         (WebCore::ResourceHandleManager::initializeHandle): Check for
73584           the resource bundle and use if available to activate SSL
73585           support.
73586
73587 2009-08-11  Maxime Simon  <simon.maxime@gmail.com>
73588
73589         Reviewed by Eric Seidel.
73590
73591         [Haiku] Use Clipboard::create() instead of the constructor of Clipboard.
73592         https://bugs.webkit.org/show_bug.cgi?id=28127
73593
73594         * editing/haiku/EditorHaiku.cpp:
73595         (WebCore::Editor::newGeneralClipboard):
73596         * page/haiku/EventHandlerHaiku.cpp:
73597         (WebCore::EventHandler::passWheelEventToWidget):
73598         (WebCore::EventHandler::createDraggingClipboard):
73599         * platform/haiku/ClipboardHaiku.cpp: Style cleanup. There were many whitespace end of lines.
73600         (WebCore::ClipboardHaiku::ClipboardHaiku):
73601         (WebCore::ClipboardHaiku::clearAllData):
73602         (WebCore::ClipboardHaiku::getData):
73603         (WebCore::ClipboardHaiku::setData):
73604         (WebCore::ClipboardHaiku::types):
73605         (WebCore::ClipboardHaiku::dragLocation):
73606         (WebCore::ClipboardHaiku::dragImage):
73607         (WebCore::ClipboardHaiku::setDragImage):
73608         (WebCore::ClipboardHaiku::dragImageElement):
73609         (WebCore::ClipboardHaiku::createDragImage):
73610         (WebCore::ClipboardHaiku::declareAndWriteDragImage):
73611         (WebCore::ClipboardHaiku::writeURL):
73612         (WebCore::ClipboardHaiku::writeRange):
73613         (WebCore::ClipboardHaiku::hasData):
73614         * platform/haiku/DragDataHaiku.cpp:
73615         (WebCore::DragData::createClipboard):
73616
73617 2009-08-11  Drew Wilson  <atwilson@google.com>
73618
73619         Reviewed by NOBODY (build break).
73620
73621         Speculative GTK build fix
73622
73623         * GNUmakefile.am:
73624         Added missing .idl file, and added notifications directory to IDL_PATH.
73625
73626 2009-08-11  Drew Wilson  <atwilson@google.com>
73627
73628         Reviewed by NOBODY (build break).
73629
73630         Speculative Windows build fix
73631
73632         * WebCore.vcproj/WebCore.vcproj:
73633         Added missing build steps for non-debug targets.
73634
73635 2009-08-11  Drew Wilson <atwilson@google.com>
73636
73637         Reviewed by NOBODY (build break)
73638
73639         Speculative build fix for Qt build.
73640
73641         * WebCore.pro: Added /notifications to include path
73642
73643 2009-08-11  John Gregg  <johnnyg@google.com>
73644
73645         Reviewed by Maciej Stachowiak.
73646
73647         Desktop Notifications API
73648         https://bugs.webkit.org/show_bug.cgi?id=25463
73649
73650         Adds an implementation of desktop notifications, behind the compile-time
73651         flag ENABLE(NOTIFICATIONS).  This code simply relays calls on the JavaScript
73652         API through a NotificationProvider interface, which must provide the services
73653         to actually notify the user and manage the desktop.  This provider is injected
73654         into WebKit through the ChromeClient for normal page contexts and through the
73655         WorkerThread for worker contexts.
73656
73657         A permissions API is defined on a per-origin basis, which allows a web page
73658         to check if its origin is allowed to show desktop notifications, and to request
73659         permission for its origin.
73660
73661         * Configurations/FeatureDefines.xcconfig:
73662         * DerivedSources.cpp:
73663         * DerivedSources.make:
73664         * GNUmakefile.am:
73665         * WebCore.vcproj/WebCore.vcproj:
73666         * WebCore.vcproj/WebCoreCommon.vsprops:
73667         * WebCore.xcodeproj/project.pbxproj:
73668         * bindings/js/JSDOMWindowCustom.cpp:
73669         * bindings/js/JSDesktopNotificationsCustom.cpp: Added.
73670         (WebCore::JSNotificationCenter::requestPermission):
73671         (WebCore::JSNotification::addEventListener):
73672         (WebCore::JSNotification::removeEventListener):
73673         * bindings/js/JSEventTarget.cpp:
73674         (WebCore::toJS):
73675         (WebCore::toEventTarget):
73676         * dom/EventTarget.cpp:
73677         (WebCore::EventTarget::toNotification):
73678         * dom/EventTarget.h:
73679         * loader/EmptyClients.h:
73680         (WebCore::EmptyChromeClient::notificationPresenter):
73681         * notifications: Added.
73682         * notifications/Notification.cpp: Added.
73683         (WebCore::Notification::Notification):
73684         (WebCore::Notification::~Notification):
73685         (WebCore::Notification::show):
73686         (WebCore::Notification::cancel):
73687         (WebCore::Notification::ondisplay):
73688         (WebCore::Notification::setOndisplay):
73689         (WebCore::Notification::onerror):
73690         (WebCore::Notification::setOnerror):
73691         (WebCore::Notification::onclose):
73692         (WebCore::Notification::setOnclose):
73693         (WebCore::Notification::getAttributeEventListener):
73694         (WebCore::Notification::setAttributeEventListener):
73695         (WebCore::Notification::clearAttributeEventListener):
73696         (WebCore::Notification::dispatchDisplayEvent):
73697         (WebCore::Notification::dispatchErrorEvent):
73698         (WebCore::Notification::dispatchCloseEvent):
73699         (WebCore::Notification::addEventListener):
73700         (WebCore::Notification::removeEventListener):
73701         (WebCore::Notification::handleEvent):
73702         (WebCore::Notification::dispatchEvent):
73703         * notifications/Notification.h: Added.
73704         (WebCore::Notification::create):
73705         (WebCore::Notification::isHTML):
73706         (WebCore::Notification::url):
73707         (WebCore::Notification::contents):
73708         (WebCore::Notification::scriptExecutionContext):
73709         (WebCore::Notification::toNotification):
73710         (WebCore::Notification::refEventTarget):
73711         (WebCore::Notification::derefEventTarget):
73712         * notifications/Notification.idl: Added.
73713         * notifications/NotificationCenter.cpp: Added.
73714         (WebCore::NotificationCenter::NotificationCenter):
73715         (WebCore::NotificationCenter::checkPermission):
73716         (WebCore::NotificationCenter::requestPermission):
73717         * notifications/NotificationCenter.h: Added.
73718         (WebCore::NotificationCenter::create):
73719         (WebCore::NotificationCenter::createHTMLNotification):
73720         (WebCore::NotificationCenter::createNotification):
73721         (WebCore::NotificationCenter::context):
73722         (WebCore::NotificationCenter::presenter):
73723         * notifications/NotificationCenter.idl: Added.
73724         * notifications/NotificationContents.h: Added.
73725         (WebCore::NotificationContents::NotificationContents):
73726         (WebCore::NotificationContents::icon):
73727         (WebCore::NotificationContents::title):
73728         (WebCore::NotificationContents::body):
73729         * notifications/NotificationPresenter.h: Added.
73730         (WebCore::NotificationPresenter::):
73731         (WebCore::NotificationPresenter::~NotificationPresenter):
73732         * page/Chrome.cpp:
73733         (WebCore::Chrome::notificationPresenter):
73734         * page/Chrome.h:
73735         * page/ChromeClient.h:
73736         * page/DOMWindow.cpp:
73737         (WebCore::DOMWindow::clear):
73738         (WebCore::DOMWindow::webkitNotifications):
73739         * page/DOMWindow.h:
73740         * page/DOMWindow.idl:
73741         * page/Page.h:
73742         * workers/WorkerContext.cpp:
73743         (WebCore::WorkerContext::~WorkerContext):
73744         (WebCore::WorkerContext::webkitNotifications):
73745         * workers/WorkerContext.h:
73746         * workers/WorkerContext.idl:
73747         * workers/WorkerThread.h:
73748         (WebCore::WorkerThread::getNotificationPresenter):
73749         (WebCore::WorkerThread::setNotificationPresenter):
73750
73751 2009-08-11  Joseph Pecoraro  <joepeck02@gmail.com>
73752
73753         Reviewed by Timothy Hatcher.
73754
73755         Inspector: Console Drawer is Toggling instead of Staying Open
73756         https://bugs.webkit.org/show_bug.cgi?id=28115
73757
73758         * inspector/front-end/Drawer.js:
73759         (WebInspector.Drawer.prototype.showView): ensures the drawer will be open and showing the provided view
73760         * inspector/front-end/inspector.js:
73761         (WebInspector.showConsole): usees the new showView to guarantee the Drawer will be open
73762         (WebInspector.showChanges): uses the new showView guarantee the Drawer will be open
73763
73764 2009-08-11  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
73765
73766         Reviewed by George Staikos.
73767
73768         [WML] WMLPageState is not allowed to store the active card, it needs to be done per document
73769         https://bugs.webkit.org/show_bug.cgi?id=28180
73770
73771         Don't store the active WMLCardElement in WMLPageState, but in WMLDocument.
73772         Otherwhise this may lead to crashes related to intrinsic event exeuction.
73773
73774         Unfortunately select elements aren't testable by the layout tests, so adding
73775         a new manual test reproducing the crash.
73776
73777         * manual-tests/wml/select-onpick-event-crash.wml: Added.
73778         * wml/WMLCardElement.cpp:
73779         (WebCore::WMLCardElement::determineActiveCard):
73780         * wml/WMLDoElement.cpp:
73781         (WebCore::WMLDoElement::defaultEventHandler):
73782         * wml/WMLDocument.cpp:
73783         (WebCore::WMLDocument::finishedParsing):
73784         * wml/WMLDocument.h:
73785         (WebCore::WMLDocument::activeCard):
73786         * wml/WMLGoElement.cpp:
73787         (WebCore::WMLGoElement::executeTask):
73788         * wml/WMLPageState.cpp:
73789         (WebCore::WMLPageState::WMLPageState):
73790         * wml/WMLPageState.h:
73791         * wml/WMLPrevElement.cpp:
73792         (WebCore::WMLPrevElement::executeTask):
73793         * wml/WMLRefreshElement.cpp:
73794         (WebCore::WMLRefreshElement::executeTask):
73795
73796 2009-08-07  Peter Kasting  <pkasting@google.com>
73797
73798         Reviewed by Eric Seidel.
73799
73800         https://bugs.webkit.org/show_bug.cgi?id=28073
73801         Treat icons with no bit count and no color count as 256-color for
73802         purposes of quality ranking.  Also fix a couple cases of a style
73803         violation.
73804
73805         Test: fast/images/icon-0colors.html
73806
73807         * platform/image-decoders/ico/ICOImageDecoder.cpp:
73808         (WebCore::ICOImageDecoder::processDirectory):
73809         (WebCore::ICOImageDecoder::readDirectoryEntry):
73810
73811 2009-08-11  Drew Wilson  <atwilson@google.com>
73812
73813         Reviewed by David Levin.
73814
73815         Need to refactor WorkerObjectProxy.
73816         https://bugs.webkit.org/show_bug.cgi?id=28136
73817
73818         Added WorkerReportingProxy for reporting worker state (exceptions, console messages, thread exited) to the parent.
73819
73820         Existing tests are sufficient, as this is only a refactoring.
73821
73822         * GNUmakefile.am:
73823         Added WorkerReportingProxy.h to build.
73824         * WebCore.gypi:
73825         Added WorkerReportingProxy.h to build.
73826         * WebCore.vcproj/WebCore.vcproj:
73827         Added WorkerReportingProxy.h to build.
73828         * WebCore.xcodeproj/project.pbxproj:
73829         Added WorkerReportingProxy.h to build.
73830         * workers/DedicatedWorkerContext.cpp:
73831         * workers/DedicatedWorkerContext.h:
73832         Removed addMessage/forwardException() APIs - now handled by WorkerReportingProxy.
73833         * workers/DedicatedWorkerThread.cpp:
73834         (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
73835         Changed constructor to pass WorkerReportingProxy to base class.
73836         * workers/DefaultSharedWorkerRepository.cpp:
73837         Updated SharedWorkerProxy to implement WorkerReportingProxy interface.
73838         (WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
73839         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
73840         (WebCore::SharedWorkerProxy::workerContextClosed):
73841         (WebCore::SharedWorkerProxy::workerContextDestroyed):
73842         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
73843         Now passes in WorkerReportingProxy when creating SharedWorkerThread.
73844         * workers/SharedWorkerContext.cpp:
73845         * workers/SharedWorkerContext.h:
73846         Removed addMessage/forwardException() APIs - now handled by WorkerReportingProxy.
73847         * workers/SharedWorkerThread.cpp:
73848         (WebCore::SharedWorkerThread::create):
73849         (WebCore::SharedWorkerThread::SharedWorkerThread):
73850         Passes WorkerReportingProxy to base class constructor.
73851         * workers/SharedWorkerThread.h:
73852         Constructor now takes a WorkerReportingProxy.
73853         * workers/WorkerContext.cpp:
73854         (WebCore::WorkerContext::~WorkerContext):
73855         Moved code that calls workerContextDestroyed() into base class so shared workers share this functionality.
73856         (WebCore::WorkerContext::close):
73857         Now notifies WorkerReportingProxy when the thread is closing.
73858         (WebCore::WorkerContext::reportException):
73859         Reports exceptions via WorkerReportingProxy.
73860         (WebCore::WorkerContext::addMessage):
73861         Reports console messages via WorkerReportingProxy.
73862         * workers/WorkerContext.h:
73863         * workers/WorkerObjectProxy.h:
73864         (WebCore::WorkerObjectProxy::workerContextClosed):
73865         Default empty implementation for dedicated workers.
73866         * workers/WorkerReportingProxy.h: Added.
73867         Base interface that contains APIs moved from WorkerObjectProxy.
73868         (WebCore::WorkerReportingProxy::~WorkerReportingProxy):
73869         * workers/WorkerThread.cpp:
73870         (WebCore::WorkerThread::WorkerThread):
73871         Updated constructor to accept a WorkerReportingProxy.
73872         * workers/WorkerThread.h:
73873         (WebCore::WorkerThread::workerReportingProxy):
73874
73875 2009-08-11  Simon Hausmann  <simon.hausmann@nokia.com>
73876
73877         Reviewed by NOBODY (build fix).
73878
73879         Fix the Qt build after r47022.
73880
73881         Use the new markChildren() pattern for marking aggregate/child objects.
73882
73883         * bridge/qt/qt_instance.cpp:
73884         (JSC::Bindings::QtRuntimeObjectImp::markChildren):
73885         (JSC::Bindings::QtInstance::markAggregate):
73886         * bridge/qt/qt_instance.h:
73887         * bridge/qt/qt_runtime.cpp:
73888         (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
73889         * bridge/qt/qt_runtime.h:
73890
73891 2009-08-11  Simon Hausmann  <simon.hausmann@nokia.com>
73892
73893         Reviewed by Holger Freyther.
73894
73895         Fix the build on the Qt build bot by making the generated JS bindings
73896         files depend on the code generator itself.
73897
73898         * WebCore.pro:
73899
73900 2009-08-07  Oliver Hunt  <oliver@apple.com>
73901
73902         Reviewed by Sam Weinig
73903
73904         Stack overflow crash in JavaScript garbage collector mark pass
73905         https://bugs.webkit.org/show_bug.cgi?id=12216
73906
73907         Make WebCore use the new iterative marking logic.
73908
73909         Tests: fast/js/nested-object-gc.html
73910
73911         * bindings/js/JSAbstractWorkerCustom.cpp:
73912         (WebCore::JSAbstractWorker::markChildren):
73913         * bindings/js/JSDOMApplicationCacheCustom.cpp:
73914         (WebCore::JSDOMApplicationCache::markChildren):
73915         * bindings/js/JSDOMBinding.cpp:
73916         (WebCore::markDOMNodesForDocument):
73917         (WebCore::markActiveObjectsForContext):
73918         (WebCore::markDOMObjectWrapper):
73919         * bindings/js/JSDOMBinding.h:
73920         (WebCore::DOMObjectWithGlobalPointer::markChildren):
73921         * bindings/js/JSDOMGlobalObject.cpp:
73922         (WebCore::JSDOMGlobalObject::markChildren):
73923         * bindings/js/JSDOMGlobalObject.h:
73924         * bindings/js/JSDOMWindowCustom.cpp:
73925         (WebCore::JSDOMWindow::markChildren):
73926         * bindings/js/JSDOMWindowShell.cpp:
73927         (WebCore::JSDOMWindowShell::markChildren):
73928         * bindings/js/JSDOMWindowShell.h:
73929         * bindings/js/JSDedicatedWorkerContextCustom.cpp:
73930         (WebCore::JSDedicatedWorkerContext::markChildren):
73931         * bindings/js/JSDocumentCustom.cpp:
73932         (WebCore::JSDocument::markChildren):
73933         * bindings/js/JSEventListener.cpp:
73934         (WebCore::JSEventListener::markJSFunction):
73935         * bindings/js/JSEventListener.h:
73936         * bindings/js/JSMessageChannelCustom.cpp:
73937         (WebCore::JSMessageChannel::markChildren):
73938         * bindings/js/JSMessagePortCustom.cpp:
73939         (WebCore::JSMessagePort::markChildren):
73940         * bindings/js/JSNavigatorCustom.cpp:
73941         (WebCore::JSNavigator::markChildren):
73942         * bindings/js/JSNodeCustom.cpp:
73943         (WebCore::JSNode::markChildren):
73944         * bindings/js/JSNodeFilterCondition.cpp:
73945         (WebCore::JSNodeFilterCondition::markAggregate):
73946         * bindings/js/JSNodeFilterCondition.h:
73947         * bindings/js/JSNodeFilterCustom.cpp:
73948         (WebCore::JSNodeFilter::markChildren):
73949         * bindings/js/JSNodeIteratorCustom.cpp:
73950         (WebCore::JSNodeIterator::markChildren):
73951         * bindings/js/JSQuarantinedObjectWrapper.cpp:
73952         (WebCore::JSQuarantinedObjectWrapper::markChildren):
73953         * bindings/js/JSQuarantinedObjectWrapper.h:
73954         * bindings/js/JSSVGElementInstanceCustom.cpp:
73955         (WebCore::JSSVGElementInstance::markChildren):
73956         * bindings/js/JSSharedWorkerCustom.cpp:
73957         (WebCore::JSSharedWorker::markChildren):
73958         * bindings/js/JSStyleSheetCustom.cpp:
73959         (WebCore::JSStyleSheet::markChildren):
73960         * bindings/js/JSTreeWalkerCustom.cpp:
73961         (WebCore::JSTreeWalker::markChildren):
73962         * bindings/js/JSWebSocketCustom.cpp:
73963         (WebCore::JSWebSocket::markChildren):
73964         * bindings/js/JSWorkerContextCustom.cpp:
73965         (WebCore::JSWorkerContext::markChildren):
73966         * bindings/js/JSWorkerCustom.cpp:
73967         (WebCore::JSWorker::markChildren):
73968         * bindings/js/JSXMLHttpRequestCustom.cpp:
73969         (WebCore::JSXMLHttpRequest::markChildren):
73970         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
73971         (WebCore::JSXMLHttpRequestUpload::markChildren):
73972         * bindings/scripts/CodeGeneratorJS.pm:
73973         * dom/EventListener.h:
73974         (WebCore::EventListener::markJSFunction):
73975         (WebCore::markIfNotNull):
73976         * dom/NodeFilter.h:
73977         (WebCore::NodeFilter::markAggregate):
73978         * dom/NodeFilterCondition.h:
73979         (WebCore::NodeFilterCondition::markAggregate):
73980         * dom/RegisteredEventListener.h:
73981         (WebCore::markEventListeners):
73982         * page/DOMWindow.h:
73983         * workers/WorkerContext.h:
73984
73985 2009-08-10  Jeremy Orlow  <jorlow@chromium.org>
73986
73987         Reviewed by Eric Seidel.
73988
73989         Renamed all V8 NPN_ functions to _NPN_ to match JSC and make them "private".
73990         https://bugs.webkit.org/show_bug.cgi?id=28089
73991
73992         Rename all the NPN_foo functions to _NPN_foo so that they can't directly be
73993         called by mistake.  This roughly matches the way JSC does it, which is an
73994         additional advantage.
73995
73996         * bindings/v8/NPV8Object.cpp:
73997         (npCreateV8ScriptObject):
73998         (_NPN_Invoke):
73999         (_NPN_InvokeDefault):
74000         (_NPN_Evaluate):
74001         (_NPN_EvaluateHelper):
74002         (_NPN_GetProperty):
74003         (_NPN_SetProperty):
74004         (_NPN_RemoveProperty):
74005         (_NPN_HasProperty):
74006         (_NPN_HasMethod):
74007         (_NPN_SetException):
74008         (_NPN_Enumerate):
74009         (_NPN_Construct):
74010         * bindings/v8/ScriptController.cpp:
74011         (WebCore::ScriptController::clearScriptObjects):
74012         (WebCore::ScriptController::createScriptInstanceForWidget):
74013         (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
74014         * bindings/v8/V8NPObject.cpp:
74015         (npObjectInvokeImpl):
74016         (npObjectGetProperty):
74017         (npObjectIndexedPropertyGetter):
74018         (npObjectGetIndexedProperty):
74019         (npObjectSetProperty):
74020         (npObjectIndexedPropertySetter):
74021         (npObjectSetIndexedProperty):
74022         (weakNPObjectCallback):
74023         (createV8ObjectForNPObject):
74024         (forgetV8ObjectForNPObject):
74025         * bindings/v8/V8NPUtils.cpp:
74026         (getStringIdentifier):
74027         * bindings/v8/npruntime.cpp:
74028         * bindings/v8/npruntime_impl.h:
74029
74030 2009-08-10  Jeremy Orlow  <jorlow@chromium.org>
74031
74032         Reviewed by Brady Eidson.
74033
74034         Change ___Storage.key() to match current spec behavior.
74035         https://bugs.webkit.org/show_bug.cgi?id=28112
74036
74037         The current WebStorage spec says that ___Storage.key() should return null when
74038         the index is out of bounds, rather than an exception.  A bunch of logic can be
74039         simplified after this change.
74040
74041         * bindings/js/JSStorageCustom.cpp:
74042         (WebCore::JSStorage::getPropertyNames):
74043         * bindings/v8/custom/V8StorageCustom.cpp:
74044         (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
74045         * storage/Storage.cpp:
74046         (WebCore::Storage::key):
74047         * storage/Storage.h:
74048         * storage/Storage.idl:
74049         * storage/StorageArea.h:
74050         * storage/StorageAreaImpl.cpp:
74051         (WebCore::StorageAreaImpl::key):
74052         * storage/StorageAreaImpl.h:
74053         * storage/StorageMap.cpp:
74054         (WebCore::StorageMap::key):
74055         * storage/StorageMap.h:
74056
74057 2009-08-07  Michael Nordman  <michaeln@google.com>
74058
74059         Reviewed by Darin Fisher.
74060
74061         https://bugs.webkit.org/show_bug.cgi?id=28087
74062
74063         Mods for a chrome specific impl of ApplicationCacheHost.
74064
74065         * The public section of the interface is the same, but we use
74066         PLATFORM(CHROMIUM) to identify which parts of the private
74067         section are shared. The chrome specific internals are encapsulated
74068         in a seperate ApplicationCacheHostInternal class. WebCore common
74069         code only contains a forward reference to this class.
74070
74071         * Cleanup a couple of stale comments.
74072
74073         * Have window.applicationCache return null to script when the
74074         feature is disabled in the preferences.
74075         
74076         No new tests.
74077
74078         * loader/appcache/ApplicationCacheHost.cpp:
74079         * loader/appcache/ApplicationCacheHost.h:
74080         (WebCore::ApplicationCacheHost::documentLoader):
74081         * page/DOMWindow.cpp:
74082         (WebCore::DOMWindow::applicationCache):
74083
74084 2009-08-10  Crystal Zhang  <crystal.zhang@torchmobile.com>
74085
74086         Reviewed by George Staikos.
74087
74088         Implement GraphicsContext::fillRoundRect() for WINCE port
74089         https://bugs.webkit.org/show_bug.cgi?id=27842
74090
74091         * platform/graphics/GraphicsContext.h:
74092         * platform/graphics/wince/GraphicsContextWince.cpp:
74093         (WebCore::rectCenterPoint):
74094         (WebCore::GraphicsContext::fillRoundedRect):
74095         (WebCore::GraphicsContext::drawRoundCorner):
74096
74097 2009-08-10  Anthony Ricaud  <rik@webkit.org>
74098
74099         Reviewed by Timothy Hatcher.
74100
74101         Inspector Resources / Graphs should support filtering
74102         https://bugs.webkit.org/show_bug.cgi?id=20629
74103
74104         Introduces a filter bar for resources.
74105
74106         Thanks to Matt Lilek for the CSS scope bar.
74107
74108         * English.lproj/localizedStrings.js:
74109         * inspector/front-end/ResourcesPanel.js:
74110         (WebInspector.ResourcesPanel.createFilterElement):
74111         (WebInspector.ResourcesPanel):
74112         (WebInspector.ResourcesPanel.prototype.toolbarItemClass.categoryOrder.filter):
74113         (WebInspector.ResourcesPanel.prototype._updateFilter):
74114         (WebInspector.ResourcesPanel.prototype._updateSummaryGraph):
74115         * inspector/front-end/inspector.css:
74116         * inspector/front-end/inspector.js:
74117         (WebInspector.loaded):
74118
74119 2009-08-10  Brent Fulgham  <bfulgham@webkit.org>
74120
74121         Unreviewed build correction after http://trac.webkit.org/changeset/46978
74122
74123         * platform/network/curl/ResourceHandleManager.cpp:
74124         (WebCore::ResourceHandleManager::initializeHandle):  Correct
74125          deprecated removeRef to new removeFragmentIdentifier.
74126
74127 2009-08-07  Ryosuke Niwa  <rniwa@webkit.org>
74128
74129         Reviewed by Justin Garcia.
74130
74131         Background color formatting lost on enter
74132         https://bugs.webkit.org/show_bug.cgi?id=20348
74133
74134         This patch makes background color be preserved during editing.
74135         In particular, editingStyleAtPosition would include the background color when obtaining styles.
74136
74137         * editing/ApplyStyleCommand.cpp:
74138         (WebCore::): Added CSSPropertyBackgroundColor to editingStyleProperties
74139
74140 2009-08-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
74141
74142         Reviewed by Simon Hausmann.
74143
74144         Stop sending QEvent::CursorChange to Qt for mouse move.
74145
74146         Verify if the cursor didn't change in WidgetQt::setCursor,
74147         just like the mac port does.
74148
74149         Thanks to Adriano Rezendo for spotting and debugging the
74150         issue.
74151
74152         * platform/qt/WidgetQt.cpp:
74153         (WebCore::Widget::setCursor):
74154
74155 2009-08-10  Alexey Proskuryakov  <ap@apple.com>
74156
74157         Reviewed by Brady Eidson.
74158
74159         https://bugs.webkit.org/show_bug.cgi?id=28165
74160         Application cache maximum size cannot be set before the database is opened
74161
74162         * loader/appcache/ApplicationCacheStorage.cpp:
74163         (WebCore::ApplicationCacheStorage::vacuumDatabaseFile): Open appcache database if it isn't
74164         open yet.
74165
74166 2009-08-10  Vitaly Repeshko  <vitalyr@quad.spb.corp.google.com>
74167
74168         Reviewed by Dimitri Glazkov.
74169
74170         [V8] Fix memory leak in node event listeners. See http://crbug.com/17400.
74171         https://bugs.webkit.org/show_bug.cgi?id=28156
74172
74173         * bindings/scripts/CodeGeneratorV8.pm: Custom event handler accessors now apply to all Node descendants.
74174         * bindings/v8/V8AbstractEventListener.h:
74175         (WebCore::V8AbstractEventListener::isObjectListener): Added virtual method to detect listeners that have weak references to JS objects.
74176         * bindings/v8/V8DOMWrapper.cpp:
74177         (WebCore::V8DOMWrapper::getTemplate):
74178         * bindings/v8/V8ObjectEventListener.cpp:
74179         * bindings/v8/V8ObjectEventListener.h:
74180         (WebCore::V8ObjectEventListener::isObjectListener):
74181         * bindings/v8/V8Utilities.cpp:
74182         (WebCore::removeHiddenDependency):
74183         * bindings/v8/custom/V8CustomBinding.h:
74184         * bindings/v8/custom/V8ElementCustom.cpp:
74185         * bindings/v8/custom/V8NodeCustom.cpp: Moved custom accessors from V8ElementCustom.cpp.
74186         (WebCore::toEventType):
74187         (WebCore::getEventListener):
74188         (WebCore::ACCESSOR_SETTER):
74189         (WebCore::ACCESSOR_GETTER):
74190         (WebCore::CALLBACK_FUNC_DECL):
74191         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
74192         (WebCore::getEventListener): Made static.
74193
74194 2009-08-10  Jeremy Orlow  <jorlow@chromium.org>
74195
74196         Reviewed by Darin Fisher.
74197
74198         Cleanup DOM Storage namespace shutdown code usage of security origin.
74199         https://bugs.webkit.org/show_bug.cgi?id=28094
74200
74201         If a storage namespace is not explicitly closed, be sure to do so on
74202         destruction of the object.  In addition, the close call should wait
74203         on the background thread finishing its syncing.  (Not doing so is actually
74204         a regression from the original LocalStorage code.)
74205
74206         There's no point to passing in the SecurityOrigin when copying a storage
74207         area since what was passed in is exactly what is stored within each
74208         storage area.  In addition, the non-copy constructor should take in a
74209         PassRefPtr rather than a pointer since that pointer was only passed into
74210         the constuctor for RefPtr's anyway.
74211
74212         * storage/StorageAreaImpl.cpp:
74213         (WebCore::StorageAreaImpl::StorageAreaImpl):
74214         (WebCore::StorageAreaImpl::copy):
74215         * storage/StorageAreaImpl.h:
74216         * storage/StorageNamespaceImpl.cpp:
74217         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
74218         (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
74219         (WebCore::StorageNamespaceImpl::copy):
74220         (WebCore::StorageNamespaceImpl::close):
74221         * storage/StorageNamespaceImpl.h:
74222
74223 2009-08-10  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
74224
74225         Not reviewed, build fix.
74226
74227         Rename ref() to fragmentIdentifier() in the wml/ subdirectory.
74228
74229         * wml/WMLCardElement.cpp:
74230         (WebCore::WMLCardElement::determineActiveCard):
74231         * wml/WMLGoElement.cpp:
74232         (WebCore::WMLGoElement::executeTask):
74233         * wml/WMLPageState.cpp:
74234         (WebCore::WMLPageState::canAccessDeck):
74235
74236 2009-08-10  Steve Falkenburg  <sfalken@apple.com>
74237
74238         Windows build fix.
74239
74240         Exclude JSMedia.cpp from build since it is included in DerivedSources.cpp.
74241         Fixes linker warnings.        
74242         
74243         Corrected spelling of JSInspectorBackend.cpp.
74244         
74245         Other changes related to actually using a Visual Studio to open/save the vcproj file.
74246
74247         * WebCore.vcproj/WebCore.vcproj:
74248
74249 2009-08-10  Sam Weinig  <sam@webkit.org>
74250
74251         Reviewed by Anders Carlsson.
74252
74253         Remove a dead #define.
74254
74255         * bindings/js/JSDOMBinding.cpp:
74256
74257 2009-08-10  Dimitri Glazkov  <dglazkov@chromium.org>
74258
74259         Unreviewed, build fix.
74260
74261         [Chromium] Update KURLGoogle for ref* method renames in
74262         http://trac.webkit.org/changeset/46978.
74263         https://bugs.webkit.org/show_bug.cgi?id=28084
74264
74265         * bindings/v8/custom/V8LocationCustom.cpp:
74266         (WebCore::ACCESSOR_SETTER): Renamed ref and setRef to fragmentIdentifier and
74267             setFragmentIdentifier, respectively.
74268         * platform/KURLGoogle.cpp: Ditto, plus all other ref* method names.
74269
74270 2009-08-10  Jan Michael Alonzo  <jmalonzo@webkit.org>
74271
74272         [Gtk] Unreviewed. Fix the nit as suggested by Darin in bug #28144
74273         for r46989.
74274
74275         * platform/network/soup/ResourceHandleSoup.cpp:
74276         (WebCore::finishedCallback):
74277
74278 2009-08-10  John Kjellberg  <john.kjellberg@power.alstom.com>
74279
74280         Reviewed by Darin Adler.
74281
74282         Memory leak in error handling code for SOUP interface
74283         https://bugs.webkit.org/show_bug.cgi?id=28144
74284
74285         Freed memory leaked in error handling code for soup requests.
74286
74287         * platform/network/soup/ResourceHandleSoup.cpp:
74288         (WebCore::finishedCallback):
74289         (WebCore::):
74290
74291 2009-08-10  Dimitri Glazkov  <dglazkov@chromium.org>
74292
74293         Reviewed by Darin Adler.
74294
74295         Provide graceful handling of the situation when an embedder invokes
74296         visited link update methods before a Page constructor has been called.
74297         https://bugs.webkit.org/show_bug.cgi?id=28149
74298
74299         * page/Page.cpp:
74300         (WebCore::Page::allVisitedStateChanged): Added a null-check for allPages.
74301         (WebCore::Page::visitedStateChanged): Ditto.
74302
74303 2009-08-10  Xan Lopez  <xlopez@igalia.com>
74304
74305         Fix GTKbuild.
74306
74307         * platform/network/soup/ResourceHandleSoup.cpp:
74308         (WebCore::):
74309
74310 2009-08-10  Dan Bernstein  <mitz@apple.com>
74311
74312         Reviewed by Anders Carlsson.
74313
74314         Remove the redundant, Windows CE-only GlyphBuffer::advnaceData()
74315
74316         * platform/graphics/GlyphBuffer.h: Removed advanceData().
74317         * platform/graphics/wince/GraphicsContextWince.cpp:
74318         (WebCore::GraphicsContext::drawText): Changed to use advances(from)
74319             instead of advanceData() from.
74320
74321 2009-08-10  Xan Lopez  <xlopez@igalia.com>
74322
74323         Reviewed by Gustavo Noronha.
74324
74325         Remove workaround for older libsoup versions.
74326
74327         * platform/network/soup/ResourceHandleSoup.cpp:
74328         (WebCore::fillResponseFromMessage):
74329
74330 2009-08-10  Xan Lopez  <xlopez@igalia.com>
74331
74332         Reviewed by Gustavo Noronha.
74333
74334         Let startHttp validate the URI instead of doing it, with potential
74335         crashes, in ::start.
74336
74337         * platform/network/soup/ResourceHandleSoup.cpp:
74338         (WebCore::startHttp):
74339
74340 2009-08-10  Darin Adler  <darin@apple.com>
74341
74342         Reviewed by Dan Bernstein.
74343
74344         When empty <input> is focused, getSelection() exposes shadow tree nodes
74345         https://bugs.webkit.org/show_bug.cgi?id=15903
74346
74347         Test: fast/forms/shadow-tree-exposure.html
74348
74349         * page/DOMSelection.cpp:
74350         (WebCore::selectionShadowAncestor): Added.
74351         (WebCore::DOMSelection::anchorNode): Return the parent of the shadow
74352         ancestor if the selection is in a shadow tree. Matches Firefox.
74353         (WebCore::DOMSelection::anchorOffset): Return the index of the shadow
74354         ancestor if the selection is in a shadow tree. Matches Firefox.
74355         (WebCore::DOMSelection::focusNode): Ditto.
74356         (WebCore::DOMSelection::focusOffset): Ditto.
74357         (WebCore::DOMSelection::baseNode): More of the same, but since this
74358         is a WebKit-invented property, it does not match Firefox.
74359         (WebCore::DOMSelection::baseOffset): Ditto.
74360         (WebCore::DOMSelection::extentNode): Ditto.
74361         (WebCore::DOMSelection::extentOffset): Ditto.
74362         (WebCore::DOMSelection::isCollapsed): Return true even when the
74363         selection is a range, if the selection is in the shadow tree.
74364         Matches Firefox. Also changed behavior when called and the frame
74365         is gone to return true instead of false which makes more sense.
74366         (WebCore::DOMSelection::empty): Use clear() just like the other
74367         selection-clearing function in this file does.
74368         (WebCore::DOMSelection::getRangeAt): Return a range that starts
74369         and ends before the shadow ancestor. Matches Firefox.
74370
74371 2009-08-10  Pavel Feldman  <pfeldman@chromium.org>
74372
74373         Reviewed by Timothy Hatcher.
74374
74375         Web Inspector: Make all status bar button images glyph-based.
74376
74377         https://bugs.webkit.org/show_bug.cgi?id=28124
74378
74379         * inspector/front-end/ElementsPanel.js:
74380         (WebInspector.ElementsPanel):
74381         * inspector/front-end/Images/clearConsoleButtonGlyph.png: Added.
74382         * inspector/front-end/Images/clearConsoleButtons.png: Removed.
74383         * inspector/front-end/Images/consoleButtonGlyph.png: Added.
74384         * inspector/front-end/Images/consoleButtons.png: Removed.
74385         * inspector/front-end/Images/dockButtonGlyph.png: Added.
74386         * inspector/front-end/Images/dockButtons.png: Removed.
74387         * inspector/front-end/Images/enableButtons.png: Removed.
74388         * inspector/front-end/Images/enableOutlineButtonGlyph.png: Added.
74389         * inspector/front-end/Images/enableSolidButtonGlyph.png: Added.
74390         * inspector/front-end/Images/excludeButtonGlyph.png: Added.
74391         * inspector/front-end/Images/excludeButtons.png: Removed.
74392         * inspector/front-end/Images/focusButtonGlyph.png: Added.
74393         * inspector/front-end/Images/focusButtons.png: Removed.
74394         * inspector/front-end/Images/largerResourcesButtonGlyph.png: Added.
74395         * inspector/front-end/Images/largerResourcesButtons.png: Removed.
74396         * inspector/front-end/Images/nodeSearchButtonGlyph.png: Added.
74397         * inspector/front-end/Images/nodeSearchButtons.png: Removed.
74398         * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Added.
74399         * inspector/front-end/Images/pauseOnExceptionButtons.png: Removed.
74400         * inspector/front-end/Images/percentButtonGlyph.png: Added.
74401         * inspector/front-end/Images/percentButtons.png: Removed.
74402         * inspector/front-end/Images/recordButtonGlyph.png: Added.
74403         * inspector/front-end/Images/recordButtons.png: Removed.
74404         * inspector/front-end/Images/recordToggledButtonGlyph.png: Added.
74405         * inspector/front-end/Images/reloadButtonGlyph.png: Added.
74406         * inspector/front-end/Images/reloadButtons.png: Removed.
74407         * inspector/front-end/Images/undockButtonGlyph.png: Added.
74408         * inspector/front-end/Panel.js:
74409         (WebInspector.Panel.prototype.createStatusBarButton):
74410         * inspector/front-end/ProfilesPanel.js:
74411         (WebInspector.ProfilesPanel):
74412         * inspector/front-end/ResourcesPanel.js:
74413         (WebInspector.ResourcesPanel):
74414         * inspector/front-end/ScriptsPanel.js:
74415         (WebInspector.ScriptsPanel):
74416         * inspector/front-end/WebKit.qrc:
74417         * inspector/front-end/inspector.css:
74418         * inspector/front-end/inspector.html:
74419
74420 2009-08-07  Brady Eidson  <beidson@apple.com>
74421
74422         Reviewed by Darin Adler.
74423
74424         KURL ref() methods should be fragmentIdentifier() methods 
74425         https://bugs.webkit.org/show_bug.cgi?id=28084
74426
74427         In addition to the renames, also took the chance to replace all use of:
74428         setRef(String());
74429         with:
74430         removeFragmentIdentifier();
74431
74432         * platform/KURL.cpp:
74433         (WebCore::KURL::fragmentIdentifier):
74434         (WebCore::KURL::hasFragmentIdentifier):
74435         (WebCore::KURL::setFragmentIdentifier):
74436         (WebCore::KURL::removeFragmentIdentifier):
74437         (WebCore::KURL::prettyURL):
74438         (WebCore::equalIgnoringFragmentIdentifier):
74439         * platform/KURL.h:
74440
74441         * bindings/js/JSLocationCustom.cpp:
74442         (WebCore::JSLocation::setHash): Rework with new names, and to use the new equalIgnoringNullity() method.
74443
74444         * accessibility/AccessibilityRenderObject.cpp:
74445         (WebCore::AccessibilityRenderObject::internalLinkElement):
74446         * css/CSSCursorImageValue.cpp:
74447         (WebCore::isSVGCursorIdentifier):
74448         * history/HistoryItem.cpp:
74449         (WebCore::HistoryItem::isCurrentDocument):
74450         * html/HTMLAnchorElement.cpp:
74451         (WebCore::HTMLAnchorElement::hash):
74452         * html/HTMLFrameElementBase.cpp:
74453         (WebCore::HTMLFrameElementBase::isURLAllowed):
74454         * loader/FrameLoader.cpp:
74455         (WebCore::FrameLoader::begin):
74456         (WebCore::FrameLoader::gotoAnchor):
74457         (WebCore::FrameLoader::scheduleLocationChange):
74458         (WebCore::FrameLoader::scrollToAnchor):
74459         (WebCore::FrameLoader::shouldReload):
74460         (WebCore::FrameLoader::urlsMatchItem):
74461         * loader/appcache/ApplicationCache.cpp:
74462         (WebCore::ApplicationCache::resourceForURL):
74463         (WebCore::ApplicationCache::resourceForRequest):
74464         * loader/appcache/ApplicationCacheGroup.cpp:
74465         (WebCore::ApplicationCacheGroup::cacheForMainRequest):
74466         (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
74467         (WebCore::ApplicationCacheGroup::selectCache):
74468         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
74469         (WebCore::ApplicationCacheGroup::didReceiveResponse):
74470         (WebCore::ApplicationCacheGroup::didFail):
74471         (WebCore::ApplicationCacheGroup::addEntry):
74472         * loader/appcache/ApplicationCacheResource.h:
74473         (WebCore::ApplicationCacheResource::create):
74474         * loader/appcache/ApplicationCacheStorage.cpp:
74475         (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
74476         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
74477         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
74478         * loader/appcache/ManifestParser.cpp:
74479         (WebCore::parseManifest):
74480         * page/Location.cpp:
74481         (WebCore::Location::hash):
74482         * page/Page.cpp:
74483         (WebCore::Page::goToItem):
74484         * rendering/RenderPartObject.cpp:
74485         (WebCore::isURLAllowed):
74486         * workers/WorkerLocation.cpp:
74487         (WebCore::WorkerLocation::hash):
74488
74489 2009-08-10  Andy Shaw <andy.shaw@nokia.com>
74490
74491         Reviewed by Simon Hausmann.
74492
74493         Fix endless loop when the application is quit by a secondary thread during a sync xml http request.
74494
74495         Replace the m_finished state variable and the call to QCoreApplication::processEvents() with
74496         a dedicated QEventLoop, that can be terminated from within WebCoreSynchronousLoader as well
74497         as from Qt through its knowledge of globally registered eventloops.
74498
74499         There is no unit test for this bug as it would require exporting additional symbols and
74500         introduce the synchronous loader as global variable just for the test.
74501
74502         * platform/network/qt/ResourceHandleQt.cpp:
74503         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
74504         (WebCore::WebCoreSynchronousLoader::didFail):
74505         (WebCore::WebCoreSynchronousLoader::waitForCompletion):
74506
74507 2009-08-10  Pavel Feldman  <pfeldman@chromium.org>
74508
74509         Reviewed by Timothy Hatcher.
74510
74511         WebInspector: Make properties inspection serialized.
74512
74513         https://bugs.webkit.org/show_bug.cgi?id=28078
74514
74515         * inspector/front-end/DOMAgent.js:
74516         (InspectorController.getPrototypes):
74517         (InspectorController.getProperties):
74518         * inspector/front-end/InjectedScript.js:
74519         (InjectedScript.getPrototypes):
74520         (InjectedScript.getProperties):
74521         (InjectedScript.setPropertyValue):
74522         * inspector/front-end/ObjectPropertiesSection.js:
74523         (WebInspector.ObjectRef):
74524         (WebInspector.ObjectPropertyRef):
74525         (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
74526         (WebInspector.ObjectPropertiesSection.prototype.update.callback):
74527         (WebInspector.ObjectPropertiesSection.prototype.update):
74528         (WebInspector.ObjectPropertiesSection.prototype._update):
74529         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
74530         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
74531         (WebInspector.ObjectPropertyTreeElement.prototype.onattach):
74532         (WebInspector.ObjectPropertyTreeElement.prototype.update):
74533         * inspector/front-end/PropertiesSidebarPane.js:
74534         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
74535         (WebInspector.PropertiesSidebarPane.prototype.update):
74536
74537 2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
74538
74539         Reviewed by George Staikos.
74540
74541         [WML] wml.css lacks <pre> support
74542         https://bugs.webkit.org/show_bug.cgi?id=28135
74543
74544         Add <pre> support for WML.
74545         Extended fast/wml/text-emphasis.wml to cover <pre> support.
74546
74547         * css/wml.css: <pre> section copied from html.css
74548
74549 2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
74550
74551         Reviewed by Oliver Hunt.
74552
74553         Fix non-WML enabled builds. Remove ENABLE(WML) guards around the switch cases 'FrameLoadTypeBackWMLDeckNotAccessible'.
74554
74555         * loader/FrameLoader.cpp:
74556         (WebCore::isBackForwardLoadType):
74557         (WebCore::FrameLoader::restoreDocumentState):
74558         (WebCore::FrameLoader::transitionToCommitted):
74559         (WebCore::FrameLoader::loadItem):
74560
74561 2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
74562
74563         Reviewed by George Staikos.
74564
74565         [WML] Deck access control is completly broken
74566         https://bugs.webkit.org/show_bug.cgi?id=27721
74567
74568         Rewrite WML deck access control, actually works now standalone and within LayoutTests.
74569         Added several new layout tests covering local & remote access support.
74570
74571         In order to detect WML task execution failures from within the WML layout tests a new
74572         method Console::lastWMLErrorMessage() has been added, returning the last recorded WML
74573         error message. Change WML log messages to dump to InspectorClient, just like it's done
74574         for HTML - we used to behave like JSMessageSource, which is wrong.
74575
74576         Tests: http/tests/wml/access-target-domain-deny.html
74577                http/tests/wml/access-target-path-deny.html
74578                http/tests/wml/access-target.html
74579                wml/access-target-deny.html
74580                wml/access-target.html
74581
74582         * inspector/ConsoleMessage.h:
74583         (WebCore::ConsoleMessage::source): Added public method to fetch the message source type.
74584         (WebCore::ConsoleMessage::message): Added public method to access the error message.
74585         * inspector/InspectorController.h:
74586         (WebCore::InspectorController::consoleMessages): Added for Console::lastWMLErrorMessage(), to be able to crawl through the list of dumped messages.
74587         * loader/FrameLoader.cpp: Recognize 'FrameLoadTypeBackWMLDeckNotAccessible', all guarded by ENABLE(WML).
74588         (WebCore::isBackForwardLoadType):
74589         (WebCore::FrameLoader::restoreDocumentState):
74590         (WebCore::FrameLoader::transitionToCommitted):
74591         (WebCore::FrameLoader::loadItem):
74592         * loader/FrameLoaderTypes.h:
74593         (WebCore::): Add new load type 'FrameLoadTypeBackWMLDeckNotAccessible', behaving like FrameLoadTypeBack plus WML specific information.
74594         * page/Console.cpp:
74595         (WebCore::Console::addMessage): Don't dump WML messages using ChromeClient (as it's done for JSMessageSource), but go through InspectorController.
74596         (WebCore::Console::lastWMLErrorMessage): Crawl InspectorController::consoleMssages() to look up the last WML error message, if present.
74597         * page/Console.h:
74598         * page/Console.idl: Add "[DontEnum] DOMString lastWMLErrorMessage()".
74599         * wml/WMLAccessElement.cpp: Store path/domain as member variables and pass them to WMLPageState once in insertedIntoDocument().
74600         (WebCore::WMLAccessElement::parseMappedAttribute):
74601         (WebCore::WMLAccessElement::insertedIntoDocument):
74602         * wml/WMLAccessElement.h:
74603         * wml/WMLCardElement.cpp: Handle 'FrameLoadTypeBackWMLDeckNotAccessible' as deck-entry method. Report WML error in current deck.
74604         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
74605         * wml/WMLDocument.cpp: Enable deck-access control in finishedParsing. Take care of method name changes in WMLPageState.
74606         (WebCore::WMLDocument::finishedParsing):
74607         (WebCore::WMLDocument::initialize):
74608         * wml/WMLErrorHandling.cpp: Never report 'WMLErrorDeckNotAccessible' messages through the tokenizer, that would alter the page into error state.
74609         (WebCore::reportWMLError):
74610         * wml/WMLPageState.cpp: Completly rewrote access path/domain parsing & deck-access control, strictly following the WML spec. All covered by tests.
74611         (WebCore::WMLPageState::WMLPageState):
74612         (WebCore::normalizedHostName):
74613         (WebCore::hostFromURL):
74614         (WebCore::urlForHistoryItem):
74615         (WebCore::tryAccessHistoryURLs):
74616         (WebCore::WMLPageState::processAccessControlData):
74617         (WebCore::WMLPageState::resetAccessControlData):
74618         (WebCore::WMLPageState::canAccessDeck):
74619         (WebCore::WMLPageState::hostIsAllowedToAccess):
74620         (WebCore::WMLPageState::pathIsAllowedToAccess):
74621         * wml/WMLPageState.h:
74622
74623 2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
74624
74625         Reviewed by Maciej Stachowiak.
74626
74627         FrameLoadType / WebFrameLoadType enums are out of sync
74628         https://bugs.webkit.org/show_bug.cgi?id=28132
74629
74630         Modify FrameLoadType enum to match the order of WebFrameLoadType in WebFramePrivate.h / IWebFramePrivate.idl.
74631         The mac/win public API exposes the old 'FrameLoadTypeReloadAllowingStaleData' value, which resides between
74632         'FrameLoadTypeReload' and 'FrameLoadTypeSame'. Work around this problem, by assigning 'FrameLoadTypeSame = FrameLoadTypeReload 2'.
74633
74634         Add a note to the FrameLoadType enum to keep it in sync with WebFramePrivate.h & IWebFramePrivate.idl.
74635
74636         * loader/FrameLoaderTypes.h:
74637         (WebCore::):
74638
74639 2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
74640
74641         Reviewed by George Staikos.
74642
74643         [WML] manual-tests/wml/onevent-prev.wml crashes
74644         https://bugs.webkit.org/show_bug.cgi?id=27722
74645
74646         Fix intrinsic event execution, leading to crashes.
74647         First finish parsing the document, then execute the events. Not the other way round.
74648         -> exposes bugs all over the WML layout tests, which relied on that quirk.
74649
74650         Fixes manual-tests/wml/onevent-prev.wml.
74651
74652         * wml/WMLDocument.cpp:
74653         (WebCore::WMLDocument::WMLDocument):
74654         (WebCore::WMLDocument::finishedParsing):
74655         (WebCore::WMLDocument::initialize):
74656         * wml/WMLDocument.h:
74657
74658 2009-08-08  Dimitri Glazkov  <dglazkov@chromium.org>
74659
74660         Unreviewed, build fix.
74661
74662         [Chromium] Update WebCore.gyp to add ImageBuffer.cpp,
74663         introduced by http://trac.webkit.org/changeset/46956.
74664         https://bugs.webkit.org/show_bug.cgi?id=27844
74665
74666         * WebCore.gypi: Added ImageBuffer.cpp.
74667
74668 2009-08-08  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
74669
74670         Rubber-stamped by Jan Michael Alonzo.
74671
74672         Add [DontEnum] to WML specific initializeWMLPageState/resetWMLPageState methods, to assure
74673         fast/dom/Window/window-properties.html doesn't show any differences when WML is enabled.
74674
74675         * dom/Document.idl:
74676
74677 2009-08-08  Dirk Schulze  <krit@webkit.org>
74678
74679         Reviewed by Eric Seidel.
74680
74681         SVG Filter need feColorMatrix implementation
74682         [https://bugs.webkit.org/show_bug.cgi?id=27711]
74683
74684         Adds the filter effect feColorMatrix to SVG filters. 
74685
74686         There is already a test in the w3c directory.
74687         Test: svg/W3C-SVG-1.1/filters-color-01-b.svg
74688
74689         * platform/graphics/filters/FEColorMatrix.cpp:
74690         (WebCore::matrix):
74691         (WebCore::saturate):
74692         (WebCore::huerotate):
74693         (WebCore::luminance):
74694         (WebCore::FEColorMatrix::apply):
74695
74696 2009-08-08  Dirk Schulze  <krit@webkit.org>
74697
74698         Reviewed by Oliver Hunt.
74699
74700         Build fix for Tiger.
74701         https://bugs.webkit.org/show_bug.cgi?id=27844
74702
74703         * platform/graphics/cg/ImageBufferCG.cpp:
74704         (WebCore::ImageBuffer::ImageBuffer):
74705
74706 2009-08-08  Dirk Schulze  <krit@webkit.org>
74707
74708         Reviewed by Oliver Hunt.
74709
74710         This is an initial implementation for linearRGB and sRGB support for all
74711         platforms. Some platforms like Cg support different color spaces
74712         natively, others like Qt, Cairo and Skia do not. This patch uses the
74713         native implementation of platforms if possible and offers a common version
74714         if not.
74715
74716         Different color spaces are used in SVG Filters. Nearly every Filter test 
74717         case is a test for this patch and will be enabled, once Filters are enabled.
74718         https://bugs.webkit.org/show_bug.cgi?id=27844
74719
74720         * GNUmakefile.am:
74721         * WebCore.pro:
74722         * html/canvas/CanvasRenderingContext2D.cpp:
74723         (WebCore::CanvasRenderingContext2D::drawTextInternal):
74724         * html/HTMLCanvasElement.cpp:
74725         (WebCore::HTMLCanvasElement::createImageBuffer):
74726         * platform/graphics/GeneratedImage.cpp:
74727         (WebCore::GeneratedImage::drawPattern):
74728         * platform/graphics/ImageBuffer.cpp: Added.
74729         (WebCore::ImageBuffer::transformColorSpace):
74730         * platform/graphics/ImageBuffer.h:
74731         (WebCore::):
74732         (WebCore::ImageBuffer::create):
74733         * platform/graphics/cairo/ImageBufferCairo.cpp:
74734         (WebCore::ImageBuffer::ImageBuffer):
74735         (WebCore::ImageBuffer::platformTransformColorSpace):
74736         * platform/graphics/cairo/ImageCairo.cpp:
74737         (WebCore::Image::drawPattern):
74738         * platform/graphics/cg/ImageBufferCG.cpp:
74739         (WebCore::ImageBuffer::ImageBuffer):
74740         * platform/graphics/chromium/TransparencyWin.cpp:
74741         (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
74742         * platform/graphics/filters/FilterEffect.cpp:
74743         (WebCore::FilterEffect::getEffectContext):
74744         * platform/graphics/qt/ImageBufferQt.cpp:
74745         (WebCore::ImageBuffer::ImageBuffer):
74746         (WebCore::ImageBuffer::platformTransformColorSpace):
74747         * platform/graphics/qt/PathQt.cpp:
74748         (WebCore::Path::strokeContains):
74749         (WebCore::Path::strokeBoundingRect):
74750         * platform/graphics/skia/ImageBufferSkia.cpp:
74751         (WebCore::ImageBuffer::ImageBuffer):
74752         (WebCore::ImageBuffer::platformTransformColorSpace):
74753         * platform/graphics/skia/SkiaUtils.cpp:
74754         (WebCore::scratchContext):
74755         * platform/graphics/wx/ImageBufferWx.cpp:
74756         (WebCore::ImageBuffer::ImageBuffer):
74757         * platform/mac/ScrollbarThemeMac.mm:
74758         (WebCore::ScrollbarThemeMac::paint):
74759         * rendering/RenderBoxModelObject.cpp:
74760         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
74761         * svg/SVGMaskElement.cpp:
74762         (WebCore::SVGMaskElement::drawMaskerContent):
74763         * svg/SVGPatternElement.cpp:
74764         (WebCore::SVGPatternElement::buildPattern):
74765         * svg/graphics/SVGImage.cpp:
74766         (WebCore::SVGImage::nativeImageForCurrentFrame):
74767         * svg/graphics/SVGPaintServerGradient.cpp:
74768         (WebCore::createMaskAndSwapContextForTextGradient):
74769         * svg/graphics/SVGPaintServerPattern.cpp:
74770         (WebCore::SVGPaintServerPattern::setup):
74771         * svg/graphics/SVGResourceFilter.cpp:
74772         (WebCore::SVGResourceFilter::prepareFilter):
74773         (WebCore::SVGResourceFilter::applyFilter):
74774         * svg/graphics/SVGResourceMasker.cpp:
74775         (WebCore::SVGResourceMasker::applyMask):
74776         * svg/graphics/filters/SVGFETile.cpp:
74777         (WebCore::FETile::apply):
74778
74779 2009-08-08  Xan Lopez  <xlopez@igalia.com>
74780
74781         Roll out r46928, since it wasn't done in accordance with the
74782         agreed naming.
74783
74784         * bindings/gdom/GdomDOMObject.cpp: Removed.
74785
74786 2009-08-08  Jan Michael Alonzo  <jmalonzo@webkit.org>
74787
74788         Reviewed by Xan Lopez.
74789
74790         [Gtk] Enable accessibility in Gtk DRT
74791         https://bugs.webkit.org/show_bug.cgi?id=25989
74792
74793         Add SPI to get the focused accessible element to be used by DRT.
74794
74795         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
74796         (webkit_accessible_get_focused_element):
74797         * accessibility/gtk/AccessibilityObjectWrapperAtk.h:
74798
74799 2009-08-07  Jan Michael Alonzo  <jmalonzo@webkit.org>
74800
74801         Gtk build fix - add html/canvas to the binding generator's include path
74802
74803         * GNUmakefile.am:
74804
74805 2009-08-07  Oliver Hunt  <oliver@apple.com>
74806
74807         Another attempt to fix windows.
74808
74809         * WebCore.vcproj/WebCore.vcproj:
74810         * WebCore.vcproj/WebCoreCommon.vsprops:
74811
74812 2009-08-07  Oliver Hunt  <oliver@apple.com>
74813
74814         Windows build fix
74815
74816         * WebCore.vcproj/WebCore.vcproj:
74817
74818 2009-08-07  Jan Michael Alonzo  <jmalonzo@webkit.org>
74819
74820         Gtk build fix - add html/canvas to the include path.
74821
74822         * GNUmakefile.am:
74823
74824 2009-08-07  Adam Treat  <adam.treat@torchmobile.com>
74825
74826         Prospective build fix for Qt following r46937.
74827
74828         * WebCore.pro:
74829
74830 2009-08-07  Yong Li  <yong.li@torchmobile.com>
74831
74832         WINCE PORT: store only width for GlyphBufferAdvance, to save space on low-memory devices
74833         https://bugs.webkit.org/show_bug.cgi?id=27734
74834
74835         * platform/graphics/GlyphBuffer.h:
74836         (WebCore::GlyphBuffer::advanceAt):
74837         (WebCore::GlyphBuffer::advanceData):
74838         (WebCore::GlyphBuffer::add):
74839
74840 2009-08-07  Yong Li  <yong.li@torchmobile.com>
74841
74842         Reviewed by Eric Seidel.
74843
74844         WINCE PORT: pass unrecognized glyphs to GDI to handle
74845         https://bugs.webkit.org/show_bug.cgi?id=27734
74846
74847         * platform/graphics/FontFastPath.cpp:
74848         (WebCore::Font::glyphDataForCharacter):
74849
74850 2009-08-07  Chris Marrin  <cmarrin@apple.com>
74851
74852         Reviewed by Oliver Hunt.
74853
74854         Move Canvas related file to a subdirectories
74855         https://bugs.webkit.org/show_bug.cgi?id=28026
74856
74857         * DerivedSources.make:
74858         * GNUmakefile.am:
74859         * WebCore.gypi:
74860         * WebCore.pro:
74861         * WebCore.vcproj/WebCore.vcproj:
74862         * WebCore.xcodeproj/project.pbxproj:
74863         * WebCoreSources.bkl:
74864         * html/CanvasGradient.cpp: Removed.
74865         * html/CanvasGradient.h: Removed.
74866         * html/CanvasGradient.idl: Removed.
74867         * html/CanvasPattern.cpp: Removed.
74868         * html/CanvasPattern.h: Removed.
74869         * html/CanvasPattern.idl: Removed.
74870         * html/CanvasPixelArray.cpp: Removed.
74871         * html/CanvasPixelArray.h: Removed.
74872         * html/CanvasPixelArray.idl: Removed.
74873         * html/CanvasRenderingContext2D.cpp: Removed.
74874         * html/CanvasRenderingContext2D.h: Removed.
74875         * html/CanvasRenderingContext2D.idl: Removed.
74876         * html/CanvasStyle.cpp: Removed.
74877         * html/CanvasStyle.h: Removed.
74878         * html/canvas: Added.
74879         * html/canvas/CanvasGradient.cpp: Copied from WebCore/html/CanvasGradient.cpp.
74880         * html/canvas/CanvasGradient.h: Copied from WebCore/html/CanvasGradient.h.
74881         * html/canvas/CanvasGradient.idl: Copied from WebCore/html/CanvasGradient.idl.
74882         * html/canvas/CanvasPattern.cpp: Copied from WebCore/html/CanvasPattern.cpp.
74883         * html/canvas/CanvasPattern.h: Copied from WebCore/html/CanvasPattern.h.
74884         * html/canvas/CanvasPattern.idl: Copied from WebCore/html/CanvasPattern.idl.
74885         * html/canvas/CanvasPixelArray.cpp: Copied from WebCore/html/CanvasPixelArray.cpp.
74886         * html/canvas/CanvasPixelArray.h: Copied from WebCore/html/CanvasPixelArray.h.
74887         * html/canvas/CanvasPixelArray.idl: Copied from WebCore/html/CanvasPixelArray.idl.
74888         * html/canvas/CanvasRenderingContext2D.cpp: Copied from WebCore/html/CanvasRenderingContext2D.cpp.
74889         * html/canvas/CanvasRenderingContext2D.h: Copied from WebCore/html/CanvasRenderingContext2D.h.
74890         * html/canvas/CanvasRenderingContext2D.idl: Copied from WebCore/html/CanvasRenderingContext2D.idl.
74891         * html/canvas/CanvasStyle.cpp: Copied from WebCore/html/CanvasStyle.cpp.
74892         * html/canvas/CanvasStyle.h: Copied from WebCore/html/CanvasStyle.h.
74893
74894 2009-08-07  Szabo Carol  <carol.szabo@nokia.com>
74895
74896         Reviewed by David Hyatt.
74897
74898         QtWebkit ignores letter-spacing and word-spacing styles.
74899         QtWebkit handles custom letter-spacing and word-spacing in the native QFont
74900         class, but the values for these options are not not passed on from
74901         the platform independent part of the Font class.
74902         Fixed QtWebkit behavior by applying the options to QFont when it is
74903         returned via Font::font()
74904
74905         http://bugs.webkit.org/show_bug.cgi?id=27988
74906
74907         LayoutTests:
74908         fast/css/word-space-extra.html
74909         css2.1/t1604-c542-letter-sp-00-b-a.html
74910         css2.1/t1604-c541-word-sp-01-b-a.html
74911         css1/text_properties/word_spacing.html
74912         
74913         * platform/graphics/qt/FontQt.cpp:
74914         (WebCore::Font::font):
74915
74916 2009-08-07  Nicolas Weber  <thakis@chromium.org>
74917
74918         Reviewed by Darin Adler.
74919
74920         Use correct highlight color for listboxes and completion popups.
74921
74922         https://bugs.webkit.org/show_bug.cgi?id=28090
74923
74924         * rendering/RenderThemeChromiumMac.h:
74925         * rendering/RenderThemeChromiumMac.mm:
74926         Rename activeListBoxSelectionBackgroundColor to
74927         platformActiveListBoxSelectionBackgroundColor, so that it actually
74928         overrides a virtual method.
74929
74930 2009-08-07  Maxime Simon  <simon.maxime@gmail.com>
74931
74932         Reviewed by Eric Seidel.
74933
74934         Added a fourth bunch of Haiku-specific files for WebCore.
74935         https://bugs.webkit.org/show_bug.cgi?id=26988
74936
74937         * platform/haiku/PasteboardHaiku.cpp: Added.
74938         (WebCore::Pasteboard::Pasteboard):
74939         (WebCore::Pasteboard::generalPasteboard):
74940         (WebCore::Pasteboard::writeSelection):
74941         (WebCore::Pasteboard::canSmartReplace):
74942         (WebCore::Pasteboard::plainText):
74943         (WebCore::Pasteboard::documentFragment):
74944         (WebCore::Pasteboard::writeURL):
74945         (WebCore::Pasteboard::writeImage):
74946         (WebCore::Pasteboard::clear):
74947         * platform/haiku/PlatformKeyboardEventHaiku.cpp: Added.
74948         (WebCore::keyIdentifierForHaikuKeyCode):
74949         (WebCore::windowsKeyCodeForKeyEvent):
74950         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
74951         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
74952         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
74953         * platform/haiku/PlatformMouseEventHaiku.cpp: Added.
74954         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
74955         * platform/haiku/PlatformWheelEventHaiku.cpp: Added.
74956         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
74957
74958 2009-08-07  Nicolas Weber  <thakis@chromium.org>
74959
74960         Teach WebKit how to decode jpegs in cmyk and ycck color spaces.
74961         Heavily inspired by Firefox's take on this issue.
74962
74963         https://bugs.webkit.org/show_bug.cgi?id=27909
74964
74965         Reviewed by Eric Seidel.
74966
74967         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
74968         (WebCore::JPEGImageReader::decode):
74969         Tell jpeglib to convert ycck to cmyk and keep cmyk.
74970         (WebCore::convertCMYKToRGBA):
74971         Added function to convert cmyk to rgb.
74972         (WebCore::convertRGBToRGBA):
74973         Extracted existing conversion logic into its own function.
74974         (WebCore::JPEGImageDecoder::outputScanlines):
74975         Call convertCMYKToRGBA for cmyk images, convertRGBToRGBA for rgb
74976         images.
74977
74978 2009-08-07  Drew Wilson  <atwilson@google.com>
74979
74980         Reviewed by David Levin.
74981
74982         SharedWorkers should be shared
74983         https://bugs.webkit.org/show_bug.cgi?id=28058
74984
74985         Added tracking of shared workers to the SharedWorkerRepository.
74986
74987         * workers/DefaultSharedWorkerRepository.cpp:
74988         (WebCore::SharedWorkerProxy::create):
74989         Changed SharedWorkerProxy to derive from ThreadSafeShared, as it needs to outlive the repository (if closed while some documents are still loading).
74990         (WebCore::SharedWorkerProxy::thread):
74991         (WebCore::SharedWorkerProxy::closing):
74992         Added flag used to determine whether the worker has closed itself while loading.
74993         (WebCore::SharedWorkerProxy::url):
74994         (WebCore::SharedWorkerProxy::name):
74995         Proxy now tracks worker URL and name to allow validity checks per section 4.8.3 of the WebWorkers spec.
74996         (WebCore::SharedWorkerProxy::SharedWorkerProxy):
74997         (WebCore::SharedWorkerProxy::addToDocumentSet):
74998         Added API to track the document set for a worker to allow worker shutdown. Currently does nothing.
74999         (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
75000         Renamed SharedWorkerLoader to be SharedWorkerScriptLoader for clarity.
75001         (WebCore::SharedWorkerScriptLoader::load):
75002         (WebCore::SharedWorkerScriptLoader::notifyFinished):
75003         (WebCore::DefaultSharedWorkerRepository::instance):
75004         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
75005         Now handles "worker already loaded" case.
75006         (WebCore::SharedWorkerRepository::connect):
75007         Delegates to DefaultSharedWorkerRepository::connectToWorker
75008         (WebCore::DefaultSharedWorkerRepository::connectToWorker):
75009         Added code to track the SharedWorkerProxy in a map, and to handle the "worker already loaded" case.
75010         (WebCore::DefaultSharedWorkerRepository::getProxy):
75011         Atomic get-or-create operation on the internal tracking HashMap.
75012         * workers/DefaultSharedWorkerRepository.h:
75013         * workers/SharedWorker.cpp:
75014         (WebCore::SharedWorker::SharedWorker):
75015         * workers/SharedWorkerRepository.h:
75016         Removed instance() API and made constructor private to prevent instantiation.
75017         (WebCore::SharedWorkerRepository::SharedWorkerRepository):
75018
75019 2009-08-07  Maxime Simon  <simon.maxime@gmail.com>
75020
75021         Reviewed by Eric Seidel.
75022
75023         Added four Haiku-specific files for WebCore:
75024         PopupMenuHaiku.cpp, ScreenHaiku.cpp,
75025         SearchPopupMenuHaiku.cpp and SoundHaiku.cpp
75026         https://bugs.webkit.org/show_bug.cgi?id=28080
75027
75028         * platform/haiku/PopupMenuHaiku.cpp: Added.
75029         (WebCore::PopupMenu::PopupMenu):
75030         (WebCore::PopupMenu::~PopupMenu):
75031         (WebCore::PopupMenu::show):
75032         (WebCore::PopupMenu::hide):
75033         (WebCore::PopupMenu::updateFromElement):
75034         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
75035         * platform/haiku/ScreenHaiku.cpp: Added.
75036         (WebCore::screenRect):
75037         (WebCore::screenAvailableRect):
75038         (WebCore::screenDepth):
75039         (WebCore::screenDepthPerComponent):
75040         (WebCore::screenIsMonochrome):
75041         * platform/haiku/SearchPopupMenuHaiku.cpp: Added.
75042         (WebCore::SearchPopupMenu::SearchPopupMenu):
75043         (WebCore::SearchPopupMenu::saveRecentSearches):
75044         (WebCore::SearchPopupMenu::loadRecentSearches):
75045         (WebCore::SearchPopupMenu::enabled):
75046         * platform/haiku/SoundHaiku.cpp: Added.
75047         (WebCore::systemBeep):
75048
75049 2009-08-07  Maxime Simon  <simon.maxime@gmail.com>
75050
75051         Reviewed by Eric Seidel.
75052
75053         Added two Haiku-specific files to WebCore:
75054         TemporaryLinkStubs.cpp and WidgetHaiku.cpp
75055         https://bugs.webkit.org/show_bug.cgi?id=28080
75056
75057         * platform/haiku/TemporaryLinkStubs.cpp: Added.
75058         (loadResourceIntoArray):
75059         (WebCore::historyContains):
75060         (WebCore::supportedKeySizes):
75061         (WebCore::signedPublicKeyAndChallengeString):
75062         (WebCore::userIdleTime):
75063         (WebCore::callOnMainThread):
75064         (WebCore::SharedBuffer::createWithContentsOfFile):
75065         (WebCore::KURL::fileSystemPath):
75066         (WebCore::getSupportedKeySizes):
75067         * platform/haiku/WidgetHaiku.cpp: Added.
75068         (WebCore::Widget::Widget):
75069         (WebCore::Widget::~Widget):
75070         (WebCore::Widget::frameRect):
75071         (WebCore::Widget::setFrameRect):
75072         (WebCore::Widget::setFocus):
75073         (WebCore::Widget::setCursor):
75074         (WebCore::Widget::show):
75075         (WebCore::Widget::hide):
75076         (WebCore::Widget::paint):
75077         (WebCore::Widget::setIsSelected):
75078
75079 2009-08-07  Jian Li  <jianli@chromium.org>
75080
75081         Reviewed by Dimitri Glazkov.
75082
75083         [V8] Fix the problem that isAttribute is set to false for onerror and
75084         onmessage in worker custom code.
75085         https://bugs.webkit.org/show_bug.cgi?id=28083
75086
75087         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
75088         (WebCore::getEventListener):
75089         (WebCore::ACCESSOR_SETTER):
75090         (WebCore::CALLBACK_FUNC_DECL):
75091         * bindings/v8/custom/V8WorkerContextCustom.cpp:
75092         (WebCore::ACCESSOR_SETTER):
75093         * bindings/v8/custom/V8WorkerCustom.cpp:
75094         (WebCore::getEventListener):
75095         (WebCore::ACCESSOR_SETTER):
75096
75097 2009-08-07  Vitaly Repeshko  <vitalyr@quad.spb.corp.google.com>
75098
75099         Reviewed by Dimitri Glazkov.
75100
75101         V8 bindings: speed up lookupDOMWrapper by using new V8 API function.
75102
75103         https://bugs.webkit.org/show_bug.cgi?id=28071
75104
75105         * bindings/v8/V8DOMWrapper.cpp:
75106         * bindings/v8/V8DOMWrapper.h:
75107         (WebCore::V8DOMWrapper::lookupDOMWrapper):
75108
75109 2009-08-07  Ryosuke Niwa  <rniwa@webkit.org>
75110
75111         Reviewed by Justin Garcia.
75112
75113         selectionHasStyle doesn't handle text-specific properties properly
75114         https://bugs.webkit.org/show_bug.cgi?id=27858
75115
75116         This patch modifies selectionHasStyle so that it returns TrueTriState when text styles
75117         (text-decoration, font-style, font-weight, & color) are present in all text nodes,
75118         regardless of whether the style is also present in their ancestor nodes or not.
75119         e.g. New behavior concludes that <b><i>hello</i><i>world</i></b> has italic style.
75120
75121         WebKit now applies the text styles (bold, italic, etc) if the specified style was not present on
75122         at least one text node, rather than at the beginning of selection except on Mac.
75123         On Mac, WebKit applies the text style if the style was not present at the beginning of style.
75124
75125         Test: editing/execCommand/toggle-compound-styles.html
75126
75127         * editing/ApplyStyleCommand.cpp:
75128         (WebCore::getPropertiesNotInComputedStyle): bug fix, must use copy instead of makeMutable for a mutable style.
75129         * editing/Editor.cpp:
75130         (WebCore::):
75131         (WebCore::triStateOfStyleInComputedStyle): Added a boolean type to ignore text-specific styles
75132         (WebCore::Editor::selectionHasStyle): Ignores text-specific styles for all but text nodes
75133         * editing/EditorCommand.cpp:
75134         (WebCore::executeToggleStyle): Uses selectionHasStyle instead of selectionStartHasStyle
75135
75136 2009-08-07  Jian Li  <jianli@chromium.org>
75137
75138         Reviewed by Dimitri Glazkov.
75139
75140         [V8] Do not register V8 error message listener in WorkerContextExecutionProxy.
75141         https://bugs.webkit.org/show_bug.cgi?id=28082
75142
75143         * bindings/v8/WorkerContextExecutionProxy.cpp:
75144         (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
75145
75146 2009-08-07  Kwang Yul Seo  <skyul@company100.net>
75147
75148         Reviewed by Eric Seidel.
75149
75150         Cairo-based Windows port does not handle cookies properly
75151         https://bugs.webkit.org/show_bug.cgi?id=27414
75152
75153         curl handles cookies by itself, so using WinINet functions
75154         to get and set cookies is wrong.
75155
75156         Replace CookieJarWin.cpp with CookieJarCurl.cpp so that
75157         cookies can be implemented later once curl provides an API to
75158         get and set cookies.
75159
75160         * WebCore.vcproj/WebCore.vcproj:
75161
75162 2009-08-07  Michael Nordman  <michaeln@google.com>
75163
75164         Reviewed by Dimitri Glazkov.
75165
75166         https://bugs.webkit.org/show_bug.cgi?id=28074
75167
75168         V8 bindings for the window.applicationCache attribute.
75169
75170         * WebCore.gypi:
75171         * bindings/scripts/CodeGeneratorV8.pm:
75172         * bindings/v8/DOMObjectsInclude.h:
75173         * bindings/v8/DerivedSourcesAllInOne.cpp:
75174         * bindings/v8/V8DOMWrapper.cpp:
75175         (WebCore::V8DOMWrapper::getTemplate):
75176         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
75177         * bindings/v8/V8Index.cpp:
75178         * bindings/v8/V8Index.h:
75179         * bindings/v8/custom/V8CustomBinding.h:
75180         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: Added.
75181
75182 2009-08-07  Alpha Lam  <hclam@chromium.org>
75183
75184         Reviewed by Eric Seidel.
75185
75186         Right click on timeline of media controls panel cause seek
75187         https://bugs.webkit.org/show_bug.cgi?id=27920
75188
75189         Add a test simulate the behavior of seeking by right clicking
75190         on the time bar of media controls while playing.
75191
75192         * media/controls-right-click-on-timebar-expected.txt: Added.
75193         * media/controls-right-click-on-timebar.html: Added.
75194
75195 2009-08-07  Ryosuke Niwa  <rniwa@webkit.org>
75196
75197         Reviewed by Justin Garcia.
75198
75199         deprecatedCopyInheritableProperties must be replaced by two different functions
75200         https://bugs.webkit.org/show_bug.cgi?id=28057
75201
75202         This patch deletes deprecatedInheritableProperties and modifies call callees to call either editingStyleAtPosition
75203         or prepareEditingStyleToApplyAt. The concept of editing style is introduced in this patch,
75204         which consists of all CSS properties need to be preserved under editing operations.
75205
75206         No test is added since this patch does not change any behavior.
75207
75208         * css/CSSComputedStyleDeclaration.cpp: Removed deprecatedCopyInheritableProperties
75209         * css/CSSComputedStyleDeclaration.h: Removed deprecatedCopyInheritableProperties
75210         * editing/ApplyStyleCommand.cpp:
75211         (WebCore::):
75212         (WebCore::editingStyleAtPosition): Obtains the editing-specific computed style at the position
75213         (WebCore::prepareEditingStyleToApplyAt): Removes redundant editing styles at the specified position
75214         (WebCore::removeStylesAddedByNode): Removes the style derived from the specified node
75215         * editing/ApplyStyleCommand.h:
75216         (WebCore::):
75217         * editing/CompositeEditCommand.cpp:
75218         (WebCore::CompositeEditCommand::moveParagraphs): Uses editingStyleAtPosition
75219         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses editingStyleAtPosition
75220         * editing/DeleteSelectionCommand.cpp:
75221         (WebCore::removeEnclosingAnchorStyle): Uses removeStyleOfNode
75222         (WebCore::DeleteSelectionCommand::saveTypingStyleState): Uses editingStyleAtPosition
75223         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Uses prepareEditingStyleToApplyAt
75224         * editing/EditCommand.cpp:
75225         * editing/EditCommand.h:
75226         * editing/InsertParagraphSeparatorCommand.cpp:
75227         (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Uses editingStyleAtPosition
75228         (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Uses prepareEditingStyleToApplyAt
75229         * editing/RemoveFormatCommand.cpp:
75230         (WebCore::RemoveFormatCommand::doApply): Uses editingStyleAtPosition
75231         * editing/ReplaceSelectionCommand.cpp:
75232         (WebCore::handleStyleSpansBeforeInsertion): Uses editingStyleAtPosition
75233         (WebCore::ReplaceSelectionCommand::handleStyleSpans): Uses editingStyleAtPosition and prepareEditingStyleToApplyAt
75234         (WebCore::ReplaceSelectionCommand::doApply): Uses prepareEditingStyleToApplyAt
75235         * editing/markup.cpp:
75236         (WebCore::removeEnclosingMailBlockquoteStyle): Uses removeStyleOfNode
75237         (WebCore::removeDefaultStyles): Uses prepareEditingStyleToApplyAt
75238         (WebCore::createMarkup): Uses editingStyleAtPosition
75239
75240 2009-08-07  Steve Block  <steveblock@google.com>
75241
75242         Reviewed by Darin Adler.
75243
75244         Bug 27250: Geolocation callback function IDL files are superfluous
75245         https://bugs.webkit.org/show_bug.cgi?id=27250
75246
75247         The objects for the Geolocation success and error callbacks are created 'manually' in
75248         WebCore/bindings/js/JSGeolocationCustom.cpp. Furthermore, the callback interfaces are 
75249         marked 'NoInterfaceObject' in the W3C spec, so the prototype should not
75250         appear on the window object. Hence IDL files for these callbacks are not required.
75251
75252         See http://www.w3.org/TR/geolocation-API/#geolocation_interface and
75253         http://www.w3.org/TR/WebIDL/#NoInterfaceObject.
75254
75255         No new tests required.
75256
75257         * DerivedSources.make: Modified. Removed reference to IDL files.
75258         * WebCore.gypi: Modified. Removed reference to IDL files.
75259         * WebCore.xcodeproj/project.pbxproj: Modified. Removed reference to IDL files.
75260         * page/PositionCallback.idl: Removed.
75261         * page/PositionErrorCallback.idl: Removed.
75262
75263 2009-08-07  Adam Treat  <adam.treat@torchmobile.com>
75264
75265         Reviewed by David Levin.
75266
75267         Build fix for Qt when ENABLE_VIDEO = 0.  This was necessitated by r46890 which
75268         put the idl files back into play regardless of compile time defines.
75269
75270         * html/TimeRanges.idl:
75271
75272 2009-08-07  Mike Fenton  <mike.fenton@torchmobile.com>
75273
75274         Reviewed by George Staikos.
75275
75276         Coding style patches for RenderThemeQt.cpp based on results from cpp_style.py.
75277
75278         https://bugs.webkit.org/show_bug.cgi?id=28050
75279
75280         * platform/qt/RenderThemeQt.cpp:
75281         (WebCore::RenderThemeQt::baselinePosition):
75282         (WebCore::inflateButtonRect):
75283         (WebCore::RenderThemeQt::supportsFocus):
75284         (WebCore::RenderThemeQt::applyTheme):
75285
75286 2009-08-07  Mike Fenton  <mike.fenton@torchmobile.com>
75287
75288         Reviewed by Eric Seidel.
75289
75290         Prevent RenderThemeQt AdjustStyle based calls for TextField, MenuList and MenuListButton
75291         from discarding style colour.
75292
75293         Add tests and remove tests from platform/qt/Skipped that now pass.
75294
75295         https://bugs.webkit.org/show_bug.cgi?id=28050
75296
75297         Tests: fast/forms/menulist-style-color.html
75298                fast/forms/text-style-color.html
75299
75300         * platform/qt/RenderThemeQt.cpp:
75301         (WebCore::RenderThemeQt::adjustTextFieldStyle):
75302         (WebCore::RenderThemeQt::adjustMenuListStyle):
75303         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
75304
75305 2009-08-07  Dimitri Glazkov  <dglazkov@chromium.org>
75306
75307         Unreviewed, build fix.
75308
75309         https://bugs.webkit.org/show_bug.cgi?id=22495
75310         [V8] Re-land http://trac.webkit.org/changeset/46821, now that
75311         http://trac.webkit.org/changeset/46874 re-landed
75312
75313         * bindings/v8/DOMObjectsInclude.h:
75314         * bindings/v8/DerivedSourcesAllInOne.cpp:
75315         * bindings/v8/V8Index.cpp:
75316         * bindings/v8/V8Index.h:
75317
75318 2009-08-07  Adam Treat  <adam.treat@torchmobile.com>
75319
75320         Reviewed by Darin Adler and George Staikos.
75321
75322         Add rectToRect convenience function which returns the TransformationMatrix
75323         which maps the 'from' rectangle to the 'to' rectangle.
75324
75325         https://bugs.webkit.org/show_bug.cgi?id=28067
75326
75327         No tests as this would require binding the method to js and since it is static
75328         that doesn't seem possible.  Please check the math.
75329
75330         * platform/graphics/transforms/TransformationMatrix.cpp:
75331         (WebCore::TransformationMatrix::rectToRect):
75332         * platform/graphics/transforms/TransformationMatrix.h:
75333
75334 2009-08-07  Brady Eidson  <beidson@apple.com>
75335
75336         Reviewed by Darin Adler.
75337
75338         Implement the HTML5 hashchange event.
75339         https://bugs.webkit.org/show_bug.cgi?id=21605
75340
75341         Test: fast/loader/hashchange-event.html
75342
75343         * dom/EventNames.h: Add "hashchange"
75344         * html/HTMLAttributeNames.in: Add "onhashchange"
75345
75346         * loader/FrameLoader.cpp:
75347         (WebCore::HashChangeEventTask::create):
75348         (WebCore::HashChangeEventTask::performTask):
75349         (WebCore::HashChangeEventTask::HashChangeEventTask):
75350         (WebCore::FrameLoader::scrollToAnchor): When an anchor navigation is completed and the
75351           new fragment identifier is different from the old one, queue a hash change event
75352           on the Document.
75353
75354         Add a window event listener for the hashchange event if onhashchange is encountered:
75355         * html/HTMLBodyElement.cpp:
75356         (WebCore::HTMLBodyElement::parseMappedAttribute): 
75357         * html/HTMLFrameSetElement.cpp:
75358         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
75359
75360         Add a new string utility method that gives "null and empty are equivalent" behavior:
75361         * platform/text/PlatformString.h:
75362         (WebCore::equalIgnoringNullity):
75363         * platform/text/StringImpl.cpp:
75364         (WebCore::equalIgnoringNullity):
75365         * platform/text/StringImpl.h:
75366
75367 2009-08-07  Jessie Berlin  <jberlin@apple.com>
75368
75369         Reviewed by Timothy Hatcher.
75370
75371         Add the initial implementation of the ability to resize the columns in
75372         a DataGrid in the Web Inspector. Enables that functionality in both the
75373         Profile View and in the Local Storage View.
75374         
75375         https://bugs.webkit.org/show_bug.cgi?id=26182
75376         
75377         In this version, resizing a column can change the width of at most two
75378         columns (the columns to the left and right of the resizer being dragged).
75379         
75380         Possible changes in future patches:
75381         
75382         1) Be able to specify the minimum size of a column and the maximum size
75383            of a column. If the minimum size is equal to the maximum size, the
75384            column can't be resized.
75385         2) Make the behavior more in line with the following description:
75386         
75387         Everything before the column that is resized stays fixed size. The
75388         resized column changes sizes. The other columns except the last stay
75389         the same size. And the last column adjusts to fit with a minimum size.
75390         If the last column is already the minimum, the next to last column
75391         shrinks, etc.
75392         
75393         3) Make it possible to scale the column sizes appropriately when the
75394            Web Inspector window gets resized.
75395         
75396         * inspector/front-end/DOMStorageItemsView.js:
75397         (WebInspector.DOMStorageItemsView.prototype.update):
75398         Once the DataGrid is added to the DOM, update the widths of the
75399         DataGrid in order to put the resizers in place.
75400         (WebInspector.DOMStorageItemsView.prototype.resize):
75401         Update the widths of the DataGrid in order to correctly adjust the
75402         positions of the resizers.
75403         
75404         * inspector/front-end/DataGrid.js:
75405         (WebInspector.DataGrid):
75406         Store column groups whose widths can later be changed when the columns
75407         are resized by the user.
75408         Also, keep track of whether the widths of the columns have been
75409         initialized.
75410         (WebInspector.DataGrid.prototype.updateWidths):
75411         Create the resizers for the columns.
75412         (WebInspector.DataGrid.prototype._clickInDataTable):
75413         Didn't actually change anything in this method, just added a comma to
75414         the end of the function.
75415         (WebInspector.DataGrid.prototype._startResizerDragging):
75416         Store the resizer that is currently dragging.
75417         (WebInspector.DataGrid.prototype._resizerDragging):
75418         Constrain the area that the resizer can be dragged to the column to
75419         it's left and right, with some padding added to make sure that the
75420         neighboring columns don't disappear.
75421         (WebInspector.DataGrid.prototype._endResizerDragging):
75422         
75423         * inspector/front-end/DatabasesPanel.js:
75424         (WebInspector.DatabasesPanel.prototype.resize):
75425         Resize the view.
75426         (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
75427         ditto.
75428         
75429         * inspector/front-end/ProfileView.js:
75430         (WebInspector.ProfileView.prototype.show):
75431         Now that the DataGrid is actually attached to the DOM, update the
75432         widths of the DataGrid in order to put the resizers in place.
75433         (WebInspector.ProfileView.prototype.resize):
75434         Update the widths of the DataGrid in order to correctly adjust the
75435         positions of the resizers.
75436         
75437         * inspector/front-end/ProfilesPanel.js:
75438         (WebInspector.ProfilesPanel.prototype.resize):
75439         Resize the view.
75440         (WebInspector.ProfilesPanel.prototype._updateSidebarWidth):
75441         ditto.
75442         
75443         * inspector/front-end/inspector.css:
75444         Add in a style rule for a resizer in the Data Grid.
75445
75446 2009-08-07  Simon Hausmann  <simon.hausmann@nokia.com>
75447
75448         Reviewed by Tor Arne Vestbø.
75449
75450         Back out r46847 and fix the Qt build system to always generate
75451         all the JS binding files from IDL files. The generated files
75452         have #if feature guards, so the #ifs are not needed in the
75453         files using them.
75454
75455         * WebCore.pro:
75456         * bindings/js/JSEventTarget.cpp:
75457         * bindings/js/JSWorkerContextBase.cpp:
75458         * bindings/js/WorkerScriptController.cpp:
75459
75460 2009-08-07  Shinichiro Hamaji  <hamaji@chromium.org>
75461
75462         Reviewed by Adele Peterson.
75463
75464         Cannot scroll for box-reflect:right
75465         https://bugs.webkit.org/show_bug.cgi?id=27979
75466
75467         Update m_overflowLeft an m_overflowWidth for reflection just like
75468         m_overflowTop and m_overflowHeight.
75469
75470         Test: fast/reflections/reflection-overflow-scroll.html
75471
75472         * rendering/RenderBlock.cpp:
75473         (WebCore::RenderBlock::layoutBlock):
75474
75475 2009-08-06  Shinichiro Hamaji  <hamaji@chromium.org>
75476
75477         Reviewed by Adam Barth.
75478
75479         box-shadow's spread is ignored with <table>
75480         https://bugs.webkit.org/show_bug.cgi?id=28017
75481
75482         Use RenderStyle::getBoxShadowExtent just like RenderBlock.
75483
75484         Test: fast/box-shadow/box-shadow-overflow-scroll.html
75485
75486         * rendering/RenderTable.cpp:
75487         (WebCore::RenderTable::layout):
75488
75489 2009-08-06  Joseph Pecoraro  <joepeck02@gmail.com>
75490
75491         Reviewed by Timothy Hatcher.
75492
75493         Inspector: NodeLists Don't Display Well in the Console
75494         https://bugs.webkit.org/show_bug.cgi?id=28061
75495
75496         * inspector/front-end/ConsoleView.js:
75497         (WebInspector.ConsoleView.prototype._format): Specific check if the object is a NodeList, display as an "array"
75498
75499 2009-08-06  Yusuke Sato  <yusukes@chromium.org>
75500
75501         Reviewed by David Levin.
75502
75503         Chromium Linux: add support for @font-face
75504         https://bugs.webkit.org/show_bug.cgi?id=28015
75505         
75506         * loader/CachedFont.cpp:
75507         (WebCore::CachedFont::~CachedFont):
75508         (WebCore::CachedFont::ensureCustomFontData):
75509         (WebCore::CachedFont::platformDataFromCustomData):
75510         (WebCore::CachedFont::allClientsRemoved):
75511
75512         Modified #ifdefs so that chromium linux can load remote fonts.
75513         
75514         * platform/graphics/chromium/FontCustomPlatformData.cpp:
75515         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
75516         (WebCore::FontCustomPlatformData::fontPlatformData):
75517         (WebCore::createFontCustomPlatformData):
75518
75519         Create SkTypeface for a web font by calling SkTypeface::CreateFromStream function.
75520         
75521         (WebCore::RemoteFontStream::RemoteFontStream):
75522         (WebCore::RemoteFontStream::~RemoteFontStream):
75523         (WebCore::RemoteFontStream::rewind):
75524         (WebCore::RemoteFontStream::read):
75525
75526         New class that implements SkStream interface and wraps wtf's SharedBuffer.
75527         
75528         * platform/graphics/chromium/FontCustomPlatformData.h:
75529         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
75530
75531         Added member variables for Linux.
75532         
75533 2009-08-06  Yong Li  <yong.li@torchmobile.com>
75534
75535         Reviewed by Eric Seidel.
75536
75537         Fix JPEGImageDecoder.cpp compile error on WinCE
75538         https://bugs.webkit.org/show_bug.cgi?id=28051
75539
75540         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
75541
75542 2009-08-06  Kevin Ollivier  <kevino@theolliviers.com>
75543
75544         Reviewed by Eric Seidel.
75545
75546         Adding WebCore support for the waf build system for wx.
75547         
75548         https://bugs.webkit.org/show_bug.cgi?id=27619
75549
75550         * wscript: Added.
75551
75552 2009-08-06  Adam Barth  <abarth@webkit.org>
75553
75554         Unreviewed revert.
75555
75556         http://bugs.webkit.org/show_bug.cgi?id=27879
75557
75558         Revert 46877 because it broke GTK.
75559
75560         * platform/graphics/wince/GraphicsContextWince.cpp:
75561
75562 2009-08-06  Chris Fleizach  <cfleizach@apple.com>
75563
75564         Reviewed by Eric Seidel.
75565
75566         Bug 27956 - AX: roleValue should be cached for performance
75567         https://bugs.webkit.org/show_bug.cgi?id=27956
75568
75569         Caches the role value of an accessibility object instead of calculating it everytime.
75570         The changes gained a 5% speedup using VoiceOver to navigate a webpage.
75571
75572         * accessibility/AXObjectCache.cpp:
75573         (WebCore::AXObjectCache::handleAriaRoleChanged):
75574
75575         Use generic role setter instead of specific ARIA role setter.
75576
75577         * accessibility/AccessibilityObject.cpp:
75578         (WebCore::AccessibilityObject::AccessibilityObject):
75579         * accessibility/AccessibilityObject.h:
75580         (WebCore::AccessibilityObject::headingLevel):
75581
75582         Make headingLevel into instance method so that it can *safely* be called in the constructor.
75583
75584         (WebCore::AccessibilityObject::setRoleValue):
75585         (WebCore::AccessibilityObject::roleValue):
75586         * accessibility/AccessibilityRenderObject.cpp:
75587         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
75588         (WebCore::AccessibilityRenderObject::headingLevel):
75589         (WebCore::AccessibilityRenderObject::intValue):
75590         (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
75591         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
75592         * accessibility/AccessibilityRenderObject.h:
75593         * accessibility/mac/AccessibilityObjectWrapper.mm:
75594         (AXAttributeStringSetHeadingLevel):
75595
75596 2009-08-06  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
75597
75598         Reviewed by Adam Barth.
75599
75600         Change Noncopyable inheriting to public
75601         http://bugs.webkit.org/show_bug.cgi?id=27879
75602
75603         Since Noncopyable is inherited from FastAllocBase, Noncopyable's
75604         inheriting has been changed to public.
75605
75606         * platform/graphics/wince/GraphicsContextWince.cpp:
75607
75608 2009-08-06  Mark Rowe  <mrowe@apple.com>
75609
75610         Rubber-stamped by Sam Weinig.
75611
75612         Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed.
75613
75614         * WebCore.xcodeproj/project.pbxproj:
75615
75616 2009-08-05  Simon Fraser  <simon.fraser@apple.com>
75617
75618         Reviewed by Darin Adler.
75619
75620         Implement the matchMedium method on the Media interface described in the CSSOM View Module.
75621         https://bugs.webkit.org/show_bug.cgi?id=22495
75622         
75623         Add a new Media interface, obtainable via the AbstractView, that can
75624         evaluate queries via its matchesMedium() method.
75625
75626         Test: fast/media/matchmedium-query-api.html
75627
75628         * DerivedSources.cpp:
75629         * DerivedSources.make:
75630         * GNUmakefile.am:
75631         * WebCore.gypi:
75632         * WebCore.pro:
75633         * WebCore.vcproj/WebCore.vcproj:
75634         * WebCore.xcodeproj/project.pbxproj:
75635         * WebCoreSources.bkl:
75636         Add Media.* files to the build.
75637
75638         * css/Media.cpp: Added.
75639         (WebCore::Media::Media):
75640         (WebCore::Media::type):
75641         (WebCore::Media::matchMedium):
75642         * css/Media.h: Added.
75643         (WebCore::Media::create):
75644         (WebCore::Media::document):
75645         * css/Media.idl: Added.
75646         Media::matchMedium() uses a MediaQueryEvaluator() to test the query.
75647
75648         * page/AbstractView.idl:
75649         * page/DOMWindow.cpp:
75650         (WebCore::DOMWindow::media):
75651         * page/DOMWindow.h:
75652         * page/DOMWindow.idl:
75653         Add a readonly attribute for Media.
75654
75655 2009-08-06  Michelangelo De Simone  <micdesim@gmail.com>
75656
75657         Reviewed by Darin Adler.
75658
75659         https://bugs.webkit.org/show_bug.cgi?id=27455
75660         Support for a custom validation message in ValidityState and related
75661         form controls.
75662         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-cva-setcustomvalidity
75663
75664         Tests: fast/forms/ValidityState-customError-001.html
75665                fast/forms/ValidityState-customError-002.html
75666                fast/forms/ValidityState-customError-003.html
75667                fast/forms/ValidityState-customError-004.html
75668
75669         * html/HTMLButtonElement.idl: setCustomValidity DOM method
75670         * html/HTMLFieldSetElement.idl: ditto
75671         * html/HTMLFormControlElement.cpp:
75672         (WebCore::HTMLFormControlElement::setCustomValidity): ditto
75673         * html/HTMLFormControlElement.h:
75674         (WebCore::HTMLFormControlElement::valueMissing): moved down
75675         * html/HTMLInputElement.idl: ditto
75676         * html/HTMLSelectElement.idl: ditto
75677         * html/HTMLTextAreaElement.idl:
75678         * html/ValidityState.h:
75679         (WebCore::ValidityState::setCustomErrorMessage): method to set custom
75680         validation message
75681         (WebCore::ValidityState::customError): validation flag
75682
75683 2009-08-06  Mark Rowe  <mrowe@apple.com>
75684
75685         Bring a little order to our otherwise out of control lives.
75686
75687         * WebCore.xcodeproj/project.pbxproj:
75688
75689 2009-08-06  Mark Rowe  <mrowe@apple.com>
75690
75691         Stop copying .idl files in to the framework resources directory.
75692
75693         * WebCore.xcodeproj/project.pbxproj:
75694
75695 2009-08-06  Mark Rowe  <mrowe@apple.com>
75696
75697         Fix the build some more.
75698
75699         Add JSWebSocket.cpp and JSWebSocket.h to the Xcode project, and move the WebSocket-related
75700         files and groups in to the appropriate locations.
75701
75702         * WebCore.xcodeproj/project.pbxproj:
75703
75704 2009-08-06  Fumitoshi Ukai  <ukai@chromium.org>
75705
75706         Reviewed by Alexey Proskuryakov.
75707
75708         Add WebSocket.idl
75709         https://bugs.webkit.org/show_bug.cgi?id=27209
75710
75711         Add WebSocket.idl in WebCore/websockets/.
75712         Add build systems only for GNUmakefile.am and WebCore.xcodeproj now.
75713         Other build systems will be updated once the code is functional.
75714
75715         * DerivedSources.make:
75716         * GNUmakefile.am:
75717         * WebCore.xcodeproj/project.pbxproj:
75718         * bindings/js/JSWebSocketConstructor.cpp: Added.
75719         * bindings/js/JSWebSocketConstructor.h: Added.
75720         * bindings/js/JSWebSocketCustom.cpp: Added.
75721         * websockets/WebSocket.cpp: Added.
75722         * websockets/WebSocket.h: Added.
75723         * websockets/WebSocket.idl: Added.
75724
75725 2009-08-06  Jian Li  <jianli@chromium.org>
75726
75727         Reviewed by Dimitri Glazkov.
75728
75729         [V8] Style cleaning for WorkerContextExecutionProxy.
75730         https://bugs.webkit.org/show_bug.cgi?id=27997
75731
75732         Cleanup WorkerContextExecutioonProxy related files to follow
75733         WebKit coding styles after all V8 binding codes are upstreamed.
75734         1) Lower-case the first letter of remaining functins in class
75735            WorkerContextExecutionProxy. Update the V8 code generator
75736            and all other references accordingly.
75737         2) Integrate getConstructor from WorkerContextExecutionProxy
75738            to V8DOMWrapper.
75739         3) Other misc changes, like removing trailing whitespaces and
75740            sorting the include files.
75741
75742         * bindings/scripts/CodeGeneratorV8.pm:
75743         * bindings/v8/ScheduledAction.cpp:
75744         (WebCore::ScheduledAction::execute):
75745         * bindings/v8/V8DOMWrapper.cpp:
75746         (WebCore::V8DOMWrapper::getConstructorForContext):
75747         (WebCore::V8DOMWrapper::convertToV8Object):
75748         * bindings/v8/V8DOMWrapper.h:
75749         * bindings/v8/V8WorkerContextEventListener.cpp:
75750         (WebCore::V8WorkerContextEventListener::~V8WorkerContextEventListener):
75751         (WebCore::V8WorkerContextEventListener::handleEvent):
75752         (WebCore::V8WorkerContextEventListener::reportError):
75753         (WebCore::V8WorkerContextEventListener::getReceiverObject):
75754         * bindings/v8/V8WorkerContextObjectEventListener.cpp:
75755         (WebCore::weakObjectEventListenerCallback):
75756         * bindings/v8/WorkerContextExecutionProxy.cpp:
75757         (WebCore::handleConsoleMessage):
75758         (WebCore::WorkerContextExecutionProxy::dispose):
75759         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
75760         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
75761         (WebCore::WorkerContextExecutionProxy::convertEventToV8Object):
75762         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
75763         (WebCore::WorkerContextExecutionProxy::convertWorkerContextToV8Object):
75764         (WebCore::WorkerContextExecutionProxy::toV8):
75765         (WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
75766         (WebCore::WorkerContextExecutionProxy::removeEventListener):
75767         * bindings/v8/WorkerContextExecutionProxy.h:
75768         (WebCore::WorkerContextExecutionProxy::context):
75769         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
75770         * bindings/v8/custom/V8WorkerContextCustom.cpp:
75771         (WebCore::ACCESSOR_GETTER):
75772         (WebCore::CALLBACK_FUNC_DECL):
75773
75774 2009-08-06  Darin Adler  <darin@apple.com>
75775
75776         Fix Mac Leopard debug build.
75777
75778         * platform/text/StringImpl.cpp:
75779         (WebCore::equalIgnoringCase): Removed meaningless assertion; an unsigned
75780         is always >= 0 and checking causes a warning in the newer versions of gcc.
75781
75782 2009-08-06  Adam Barth  <abarth@webkit.org>
75783
75784         Unreview rollout.
75785
75786         Revert 46840 because it broke the reliability tests.
75787
75788         * bindings/v8/ScheduledAction.cpp:
75789         (WebCore::ScheduledAction::ScheduledAction):
75790         (WebCore::ScheduledAction::execute):
75791         * bindings/v8/ScheduledAction.h:
75792         (WebCore::ScheduledAction::ScheduledAction):
75793         * bindings/v8/custom/V8DOMWindowCustom.cpp:
75794         (WebCore::V8Custom::WindowSetTimeoutImpl):
75795         * bindings/v8/custom/V8WorkerContextCustom.cpp:
75796         (WebCore::SetTimeoutOrInterval):
75797
75798 2009-08-06  Adam Barth  <abarth@webkit.org>
75799
75800         Unreviewed rollout.
75801
75802         Revert 46840 in preparation to revert 46838, which broke the reliability tests.
75803
75804         * bindings/v8/V8Proxy.cpp:
75805         (WebCore::V8Proxy::updateDocumentWrapperCache):
75806         (WebCore::V8Proxy::initContextIfNeeded):
75807         (WebCore::V8Proxy::mainWorldContext):
75808         * bindings/v8/V8Proxy.h:
75809         (WebCore::V8Proxy::context):
75810
75811 2009-08-06  Pavel Feldman  <pfeldman@chromium.org>
75812
75813         Reviewed by Timothy Hatcher.
75814
75815         WebInspector: move style-related utilities into InjectedScript.
75816
75817         http://bugs.webkit.org/show_bug.cgi?id=27939
75818
75819         * inspector/front-end/DOMAgent.js:
75820         (WebInspector.CSSStyleDeclaration):
75821         (WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit):
75822         (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands):
75823         (WebInspector.CSSStyleDeclaration.prototype.getLonghandProperties):
75824         (WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority):
75825         * inspector/front-end/InjectedScript.js:
75826         (InjectedScript.applyStyleText):
75827         (InjectedScript.toggleStyleEnabled):
75828         (InjectedScript._serializeStyle):
75829         (InjectedScript._getUniqueStyleProperties):
75830         (InjectedScript._getLonghandProperties):
75831         (InjectedScript._getShorthandPriority):
75832         * inspector/front-end/StylesSidebarPane.js:
75833         (WebInspector.StylesSidebarPane.prototype._update):
75834         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
75835         (WebInspector.StylePropertiesSection.prototype.onpopulate):
75836         (WebInspector.StylePropertyTreeElement.prototype.get priority):
75837         (WebInspector.StylePropertyTreeElement.prototype.get value):
75838         (WebInspector.StylePropertyTreeElement.prototype):
75839         * inspector/front-end/utilities.js:
75840
75841 2009-08-06  Simon Hausmann  <simon.hausmann@nokia.com>
75842
75843         Unreviewed build fix, add #ifdef guards around
75844         inclusions of shared worker specific files.
75845
75846         * bindings/js/JSEventTarget.cpp:
75847         * bindings/js/JSWorkerContextBase.cpp:
75848         * bindings/js/WorkerScriptController.cpp:
75849
75850 2009-08-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
75851
75852         Reviewed by Darin Adler.
75853
75854         cssgrammar.cpp fails to compile with RVCT compiler
75855         https://bugs.webkit.org/show_bug.cgi?id=27952
75856
75857         * css/CSSGrammar.y: Do not convert to String to get rid of the stray
75858         memory allocation 
75859
75860         * platform/text/StringImpl.cpp:
75861         (WebCore::equalIgnoringCase):
75862         * platform/text/StringImpl.h: 
75863         (WebCore::equalIgnoringCase): Add charactersEqualIgnoringCase
75864           function that works with a character pointer and length
75865
75866 2009-08-06  Drew Wilson  <atwilson@google.com>
75867
75868         Reviewed by David Levin.
75869
75870         Created first working implementation of SharedWorkers (execution only, no sharing).
75871         https://bugs.webkit.org/show_bug.cgi?id=27927
75872
75873         Added initial implementations of SharedWorkerThread and SharedWorkerContext.
75874         No v8 bindings yet.
75875
75876         * DerivedSources.cpp:
75877         Added shared worker files.
75878         * DerivedSources.make:
75879         Added shared worker files.
75880         * GNUmakefile.am:
75881         Added shared worker files.
75882         * WebCore.gypi:
75883         Added shared worker files.
75884         * WebCore.pro:
75885         Added shared worker files.
75886         * WebCore.vcproj/WebCore.vcproj:
75887         Added shared worker files.
75888         * WebCore.xcodeproj/project.pbxproj:
75889         Added shared worker files.
75890         * bindings/js/JSEventTarget.cpp:
75891         (WebCore::toJS):
75892         Added code to convert from EventTarget to correct JS class.
75893         (WebCore::toEventTarget):
75894         Added code to cast from JS object to appropriate EventTarget impl class.
75895         * bindings/js/JSSharedWorkerConstructor.cpp:
75896         (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
75897         (WebCore::constructSharedWorker):
75898         Tweaked the constructor code to pass in the lexical global object like normal workers.
75899         * bindings/js/JSSharedWorkerContextCustom.cpp: Added.
75900         (WebCore::JSSharedWorkerContext::mark):
75901         Custom marking of the onconnect handler.
75902         * bindings/js/JSWorkerContextBase.cpp:
75903         (WebCore::toJSSharedWorkerContext):
75904         (WebCore::toJSWorkerContext):
75905         Added proper conversion to the correct WorkerContext derived class.
75906         * bindings/js/JSWorkerContextBase.h:
75907         * bindings/js/WorkerScriptController.cpp:
75908         (WebCore::WorkerScriptController::initScript):
75909         Updated WorkerScriptController to create the correct type of binding object (JSSharedWorkerContext vs JSDedicatedWorkerContext)
75910         * bindings/scripts/CodeGeneratorV8.pm:
75911         Added support for SharedWorkerContext.
75912         * bindings/v8/DOMObjectsInclude.h:
75913         Added shared worker bindings files.
75914         * dom/EventNames.h:
75915         Added connect event.
75916         * dom/EventTarget.cpp:
75917         (WebCore::EventTarget::toSharedWorkerContext):
75918         Added API for casting to new derived class (SharedWorkerContext).
75919         * dom/EventTarget.h:
75920         * workers/AbstractWorker.cpp:
75921         (WebCore::AbstractWorker::resolveURL):
75922         Moved code that resolves/validates URLs to base class so it can be shared between dedicated/shared workers.
75923         * workers/AbstractWorker.h:
75924         * workers/DedicatedWorkerContext.cpp:
75925         (WebCore::DedicatedWorkerContext::logException):
75926         Refactored exception handling code - moved onerror handling to base class.
75927         * workers/DedicatedWorkerContext.h:
75928         (WebCore::DedicatedWorkerContext::isDedicatedWorkerContext):
75929         * workers/SharedWorker.cpp:
75930         (WebCore::SharedWorker::SharedWorker):
75931         Changed constructor to fire up worker thread.
75932         * workers/SharedWorker.h:
75933         * workers/SharedWorkerContext.cpp: Added.
75934         (WebCore::SharedWorkerContext::SharedWorkerContext):
75935         (WebCore::SharedWorkerContext::~SharedWorkerContext):
75936         (WebCore::SharedWorkerContext::logException):
75937         (WebCore::SharedWorkerContext::addMessage):
75938         Placeholder methods until we add support for sending exceptions/messages to console.
75939         (WebCore::SharedWorkerContext::dispatchConnect):
75940         (WebCore::SharedWorkerContext::thread):
75941         * workers/SharedWorkerContext.h: Added.
75942         (WebCore::SharedWorkerContext::create):
75943         (WebCore::SharedWorkerContext::isSharedWorkerContext):
75944         (WebCore::SharedWorkerContext::toSharedWorkerContext):
75945         (WebCore::SharedWorkerContext::setOnconnect):
75946         (WebCore::SharedWorkerContext::onconnect):
75947         (WebCore::SharedWorkerContext::name):
75948         * workers/SharedWorkerContext.idl: Added.
75949         * workers/SharedWorkerRepository.h: Added.
75950         (WebCore::SharedWorkerRepository::~SharedWorkerRepository):
75951         * workers/DefaultSharedWorkerRepository.cpp: Added.
75952         Implementation of core singleton class that will be used to implement sharing.
75953         (WebCore::SharedWorkerProxy::setThread):
75954         Proxy object used to handle resource loading for a given shared worker.
75955         (WebCore::SharedWorkerProxy::postTaskToLoader):
75956         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
75957         Placeholder routines until we implement loading.
75958         (WebCore::SharedWorkerConnectTask::create):
75959         Creates a task to fire off a connect event on the worker thread.
75960         (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
75961         (WebCore::SharedWorkerConnectTask::performTask):
75962         (WebCore::SharedWorkerLoader::SharedWorkerLoader):
75963         Added helper object to load the initial script for the worker.
75964         (WebCore::SharedWorkerLoader::load):
75965         (WebCore::SharedWorkerLoader::notifyFinished):
75966         (WebCore::SharedWorkerRepository::instance):
75967         (WebCore::DefaultSharedWorkerRepository::instance):
75968         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
75969         Fires off the worker thread once the script is loaded.
75970         (WebCore::SharedWorkerRepository::connect):
75971         (WebCore::DefaultSharedWorkerRepository::DefaultSharedWorkerRepository):
75972         (WebCore::DefaultSharedWorkerRepository::~DefaultSharedWorkerRepository):
75973         * workers/DefaultSharedWorkerRepository.h: Added.
75974         * workers/SharedWorkerThread.cpp: Added.
75975         (WebCore::SharedWorkerThread::create):
75976         (WebCore::SharedWorkerThread::SharedWorkerThread):
75977         (WebCore::SharedWorkerThread::~SharedWorkerThread):
75978         (WebCore::SharedWorkerThread::createWorkerContext):
75979         * workers/SharedWorkerThread.h: Added.
75980         * workers/Worker.cpp:
75981         (WebCore::Worker::Worker):
75982         * workers/WorkerContext.cpp:
75983         (WebCore::WorkerContext::reportException):
75984         * workers/WorkerContext.h:
75985         (WebCore::WorkerContext::isSharedWorkerContext):
75986         (WebCore::WorkerContext::isDedicatedWorkerContext):
75987         Added APIs to determine the type of a given context.
75988
75989 2009-08-06  Chris Marrin  <cmarrin@apple.com>
75990
75991         Reviewed by David Hyatt.
75992
75993         Added ENABLE_3D_CANVAS flag to build, default to off
75994
75995         * Configurations/FeatureDefines.xcconfig:
75996
75997 2009-08-06  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
75998
75999         Reviewed by Simon Hausmann.
76000
76001         [Qt] windowsKeyCodeForKeyEvent fix
76002
76003         Fix windowsKeyCodeForKeyEvent to determine wheter the event comes from the keypad.
76004
76005         * platform/qt/PlatformKeyboardEventQt.cpp:
76006         (WebCore::windowsKeyCodeForKeyEvent):
76007         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
76008
76009 2009-08-06  George Staikos  <george.staikos@torchmobile.com>
76010
76011         Rubber-stamped by Ariya Hidayat.
76012
76013         Remove the dead wince/ directory that should never have gone in.
76014
76015         * svg/graphics/wince: Removed.
76016         * svg/graphics/wince/SVGResourceFilterWince.cpp: Removed.
76017
76018 2009-08-06  Pavel Feldman  <pfeldman@chromium.org>
76019
76020         Reviewed by Timothy Hatcher.
76021
76022         WebInspector: Extract style editing into a separate file that is
76023         going to be loaded in page context.
76024
76025         https://bugs.webkit.org/show_bug.cgi?id=27939
76026
76027         * inspector/front-end/InjectedScript.js: Added.
76028         (InjectedScript.applyStyleText):
76029         (InjectedScript.setStyleText):
76030         (InjectedScript.toggleStyleEnabled):
76031         (InjectedScript.setStyleRule):
76032         * inspector/front-end/StylesSidebarPane.js:
76033         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback):
76034         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
76035         (WebInspector.StylePropertyTreeElement.prototype.):
76036         (WebInspector.StylePropertyTreeElement.prototype):
76037         * inspector/front-end/WebKit.qrc:
76038         * inspector/front-end/inspector.html:
76039
76040 2009-08-06  Adam Barth  <abarth@webkit.org>
76041
76042         Reviewed by David Levin.
76043
76044         [V8] Remove bug-bait V8Proxy::context()
76045         https://bugs.webkit.org/show_bug.cgi?id=27826
76046
76047         * bindings/v8/V8Proxy.cpp:
76048         (WebCore::V8Proxy::updateDocumentWrapperCache):
76049         (WebCore::V8Proxy::initContextIfNeeded):
76050         (WebCore::V8Proxy::mainWorldContext):
76051         * bindings/v8/V8Proxy.h:
76052
76053 2009-08-06  Adam Barth  <abarth@webkit.org>
76054
76055         Unreviewed attempt to fix the Chromium Linux build.  This function is
76056         not used.
76057
76058         * bindings/v8/OwnHandle.h:
76059
76060 2009-08-06  Adam Barth  <abarth@webkit.org>
76061
76062         Reviewed by Eric Seidel.
76063
76064         [V8] Teach ScheduledAction::execute about isolated worlds
76065         https://bugs.webkit.org/show_bug.cgi?id=27703
76066
76067         We now save a weak handle to the original context.  We use that handle
76068         to call the timeout in the right context / world.
76069
76070         Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
76071                http/tests/security/isolatedWorld/window-setTimeout-string.html
76072
76073         * bindings/v8/ScheduledAction.cpp:
76074         (WebCore::ScheduledAction::ScheduledAction):
76075         (WebCore::ScheduledAction::execute):
76076         * bindings/v8/ScheduledAction.h:
76077         (WebCore::ScheduledAction::ScheduledAction):
76078         * bindings/v8/custom/V8DOMWindowCustom.cpp:
76079         (WebCore::V8Custom::WindowSetTimeoutImpl):
76080         * bindings/v8/custom/V8WorkerContextCustom.cpp:
76081         (WebCore::SetTimeoutOrInterval):
76082
76083 2009-08-05  Dimitri Glazkov  <dglazkov@chromium.org>
76084
76085         Unreviewed, build fix.
76086
76087         [V8] Revert http://trac.webkit.org/changeset/46821, which was
76088         landed to supplement http://trac.webkit.org/changeset/46816, but
76089         now that the latter is reverted, the former needs the same.
76090
76091         * bindings/v8/DOMObjectsInclude.h:
76092         * bindings/v8/DerivedSourcesAllInOne.cpp:
76093         * bindings/v8/V8Index.cpp:
76094         * bindings/v8/V8Index.h:
76095
76096 2009-08-05  Joseph Pecoraro  <joepeck02@gmail.com>
76097
76098         Reviewed by Timothy Hatcher.
76099
76100         Color is only reported in rgb() format; should toggle between rgb() and hex
76101         https://bugs.webkit.org/show_bug.cgi?id=13516
76102
76103           New Class to Parse and Change Between Color Representations:
76104
76105         * inspector/front-end/Color.js: Added.
76106         (WebInspector.Color):
76107
76108           Representations of Colors in Raw Form. (May be Lazy Loaded):
76109
76110         (WebInspector.Color.prototype.get shorthex):
76111         (WebInspector.Color.prototype.get hex):
76112         (WebInspector.Color.prototype.set hex):
76113         (WebInspector.Color.prototype.get rgb):
76114         (WebInspector.Color.prototype.set rgb):
76115         (WebInspector.Color.prototype.get hsl):
76116         (WebInspector.Color.prototype.set hsl):
76117         (WebInspector.Color.prototype.get nickname):
76118         (WebInspector.Color.prototype.set nickname):
76119         (WebInspector.Color.prototype.get rgba):
76120         (WebInspector.Color.prototype.set rgba):
76121         (WebInspector.Color.prototype.get hsla):
76122         (WebInspector.Color.prototype.set hsla):
76123
76124           Helpers and Standard String Representations:
76125
76126         (WebInspector.Color.prototype.hasShortHex):
76127         (WebInspector.Color.prototype.toRgb):
76128         (WebInspector.Color.prototype.toHsl):
76129         (WebInspector.Color.prototype.toShortHex):
76130         (WebInspector.Color.prototype.toHex):
76131         (WebInspector.Color.prototype.toRgba):
76132         (WebInspector.Color.prototype.toHsla):
76133         (WebInspector.Color.prototype.toNickname):
76134
76135           Conversion Functions to Determine Other Representations:
76136           My Sources for all algorithms and sample data:
76137           Wikipedia: http://en.wikipedia.org/wiki/HSV_color_space
76138           CSS Specification: http://www.w3.org/TR/css3-color/#hsla-color
76139
76140         (WebInspector.Color.prototype.rgbToHex):
76141         (WebInspector.Color.prototype.hexToRgb):
76142         (WebInspector.Color.prototype.rgbToHsl):
76143         (WebInspector.Color.prototype.hslToRgb.hueToRgb):
76144         (WebInspector.Color.prototype.hslToRgb):
76145         (WebInspector.Color.prototype.rgbaToHsla):
76146         (WebInspector.Color.prototype.hslaToRgba):
76147
76148           Called from the constructor, attempts to parse and will throw an error
76149           if it cannot parse.  If simple then the "hex" value is guarenteed.
76150           If advanced then both the "rgba" and "hsla" are guarenteed.  If it is
76151           a nickname in any way (e.g. "transparent", "black") then this is
76152           guarenteed to be set as well.
76153
76154         (WebInspector.Color.prototype.parse):
76155
76156           Clicking on the swatch will rotate through Color Representations.
76157             Simple:   rgb -> hsl -> nickname? -> shorthex? -> hex -> (loop around)
76158             Advanced: rgba -> hsla -> nickname? -> (loop around)
76159
76160         * inspector/front-end/StylesSidebarPane.js:
76161         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.value.):
76162         (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
76163
76164           Load Color.js:
76165
76166         * inspector/front-end/inspector.html:
76167
76168 2009-08-05  John Abd-El-Malek  <jam@chromium.org>
76169
76170         Reviewed by Dimitri Glazkov.
76171
76172         Support setting event listeners for message ports in the worker process.
76173
76174         https://bugs.webkit.org/show_bug.cgi?id=28004
76175
76176         * bindings/v8/WorkerContextExecutionProxy.cpp:
76177         (WebCore::WorkerContextExecutionProxy::retrieve):
76178         (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
76179         * bindings/v8/WorkerContextExecutionProxy.h:
76180         * bindings/v8/custom/V8MessagePortCustom.cpp:
76181         (WebCore::getEventListener):
76182         (WebCore::ACCESSOR_SETTER):
76183         (WebCore::CALLBACK_FUNC_DECL):
76184
76185 2009-08-05  Stephen White  <senorblanco@chromium.org>
76186
76187         Reviewed by Dimitri Glazkov.
76188
76189         http://bugs.webkit.org/show_bug.cgi?id=28022
76190
76191         Minor fix for media code on chromium/skia.
76192
76193         * rendering/RenderThemeChromiumSkia.cpp:
76194         (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack):
76195
76196 2009-08-05  Darin Adler  <darin@apple.com>
76197
76198         Reviewed by Dan Bernstein.
76199
76200         Client side image maps did not handle zoom correctly.
76201         Client side image maps did not handle border and padding correctly.
76202
76203         Test: fast/images/image-map-zoom.html
76204
76205         * rendering/RenderImage.cpp:
76206         (WebCore::RenderImage::nodeAtPoint): Compute the values to pass in to the map
76207         element using the content box and the effective zoom.
76208
76209 2009-08-05  Alexey Proskuryakov  <ap@apple.com>
76210
76211         Reviewed by Oliver Hunt.
76212
76213         https://bugs.webkit.org/show_bug.cgi?id=28027
76214         <rdar://7064428> Files with accents in names are submitted incorrectly due to use of
76215         precomposed Unicode
76216
76217         * platform/network/mac/FormDataStreamMac.mm: (WebCore::setHTTPBody): Use getFileSize() from
76218         FileSystem.h instead of custom code for getting file size. This adds path normalization
76219         necessary with some file systems on Mac. This also loses a S_IFMT check, which didn't seem
76220         important anyway.
76221
76222 2009-08-05  Dimitri Glazkov  <dglazkov@chromium.org>
76223
76224         Unreviewed, build fix.
76225
76226         [V8] Include Media into V8 bindings.
76227
76228         * bindings/v8/DOMObjectsInclude.h: Added Media include.
76229         * bindings/v8/DerivedSourcesAllInOne.cpp: Added V8Media include.
76230         * bindings/v8/V8Index.cpp: Added decl for V8Media.
76231         * bindings/v8/V8Index.h: Added V8Media include.
76232
76233 2009-08-04  Jon Honeycutt  <jhoneycutt@apple.com>
76234
76235         Fix Windows layout test crashes.
76236
76237         PluginView::removeFromUnstartedListIfNecessary() would try to remove
76238         any unstarted PluginView from the Page's set of unstarted plug-ins,
76239         regardless of why the PluginView wasn't started. If we tried to start a
76240         plug-in, but it failed to start, we would hit an assertion in
76241         Page::removeUnstartedPlugin() that asserts that we would only modify the
76242         unstarted plug-ins set if we were not currently starting plug-ins.
76243
76244         Fix this by having PluginView track whether it's waiting to be started,
76245         and to check this before trying to remove itself from the Page's
76246         unstarted plug-ins set.
76247
76248         Reviewed by Darin Adler.
76249
76250         * page/Page.cpp:
76251         (WebCore::Page::removeUnstartedPlugin):
76252         Assert that the passed PluginView is in the unstarted set.
76253
76254         * plugins/PluginView.cpp:
76255         (WebCore::PluginView::start):
76256         Set that we are not waiting to be started.
76257         (WebCore::PluginView::startOrAddtoUnstartedList):
76258         Set that we are waiting to be started.
76259         (WebCore::PluginView::removeFromUnstartedListIfNecessary):
76260         Check not whether we are started, but whether we are waiting to be
76261         started.
76262         (WebCore::PluginView::PluginView):
76263
76264         * plugins/PluginView.h:
76265
76266 2009-08-05  Jeremy Orlow  <jorlow@chromium.org>
76267
76268        Fix DOM Storage memory leak
76269        https://bugs.webkit.org/show_bug.cgi?id=28029
76270
76271        Forgot to use adoptRef in one place.  This caused the = operator to
76272        increment the ref count when it shouldn't have, so StorageAreaImpl's were
76273        never freed.
76274
76275         * storage/StorageNamespaceImpl.cpp:
76276         (WebCore::StorageNamespaceImpl::storageArea):
76277
76278 2009-08-05  Dimitri Glazkov  <dglazkov@chromium.org>
76279
76280         Unreviewed, build fix.
76281
76282         [Chromium] Let CodeGeneratorV8.pm know that Media is ref-counted.
76283
76284         * bindings/scripts/CodeGeneratorV8.pm: Added Media check to IsRefPtrType.
76285
76286 2009-08-05  Darin Adler  <darin@apple.com>
76287
76288         Reviewed by David Levin.
76289
76290         Use checked casts for render tree
76291         https://bugs.webkit.org/show_bug.cgi?id=23522
76292
76293         Last patch. Makes all the casts of RenderObject use checked
76294         casts instead of using static_cast directly.
76295
76296         * accessibility/AccessibilityListBox.cpp:
76297         (WebCore::AccessibilityListBox::visibleChildren):
76298         (WebCore::AccessibilityListBox::doAccessibilityHitTest):
76299         * accessibility/AccessibilityListBoxOption.cpp:
76300         (WebCore::AccessibilityListBoxOption::elementRect):
76301         * accessibility/AccessibilityRenderObject.cpp:
76302         (WebCore::AccessibilityRenderObject::textUnderElement):
76303         (WebCore::AccessibilityRenderObject::stringValue):
76304         (WebCore::AccessibilityRenderObject::titleUIElement):
76305         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
76306         * accessibility/AccessibilitySlider.cpp:
76307         (WebCore::AccessibilitySliderThumb::elementRect):
76308         * dom/InputElement.cpp:
76309         (WebCore::InputElement::updatePlaceholderVisibility):
76310         * dom/SelectElement.cpp:
76311         (WebCore::SelectElement::scrollToSelection):
76312         (WebCore::SelectElement::recalcStyle):
76313         (WebCore::SelectElement::setRecalcListItems):
76314         (WebCore::SelectElement::menuListDefaultEventHandler):
76315         (WebCore::SelectElement::listBoxDefaultEventHandler):
76316         * editing/BreakBlockquoteCommand.cpp:
76317         (WebCore::BreakBlockquoteCommand::doApply):
76318         * html/HTMLAppletElement.cpp:
76319         (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
76320         * html/HTMLCanvasElement.cpp:
76321         (WebCore::HTMLCanvasElement::reset):
76322         * html/HTMLEmbedElement.cpp:
76323         (WebCore::HTMLEmbedElement::updateWidget):
76324         * html/HTMLFrameElementBase.cpp:
76325         (WebCore::HTMLFrameElementBase::attach):
76326         * html/HTMLFrameSetElement.cpp:
76327         (WebCore::HTMLFrameSetElement::defaultEventHandler):
76328         * html/HTMLIFrameElement.cpp:
76329         (WebCore::HTMLIFrameElement::attach):
76330         * html/HTMLInputElement.cpp:
76331         (WebCore::HTMLInputElement::defaultEventHandler):
76332         (WebCore::HTMLInputElement::addSearchResult):
76333         (WebCore::HTMLInputElement::onSearch):
76334         * html/HTMLLIElement.cpp:
76335         (WebCore::HTMLLIElement::parseMappedAttribute):
76336         (WebCore::HTMLLIElement::attach):
76337         * html/HTMLMediaElement.cpp:
76338         (WebCore::HTMLMediaElement::setReadyState):
76339         (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
76340         (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
76341         (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
76342         (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
76343         (WebCore::HTMLMediaElement::defaultEventHandler):
76344         (WebCore::HTMLMediaElement::finishParsingChildren):
76345         * html/HTMLOListElement.cpp:
76346         (WebCore::HTMLOListElement::parseMappedAttribute):
76347         * html/HTMLObjectElement.cpp:
76348         (WebCore::HTMLObjectElement::updateWidget):
76349         * html/HTMLTextAreaElement.cpp:
76350         (WebCore::HTMLTextAreaElement::defaultEventHandler):
76351         * page/DragController.cpp:
76352         (WebCore::DragController::concludeEditDrag):
76353         * page/EventHandler.cpp:
76354         (WebCore::EventHandler::selectCursor):
76355         (WebCore::EventHandler::capsLockStateMayHaveChanged):
76356         * page/Frame.cpp:
76357         (WebCore::Frame::ownerRenderer):
76358         * page/FrameView.cpp:
76359         (WebCore::FrameView::detachCustomScrollbars):
76360         * page/wince/FrameWince.cpp:
76361         (WebCore::computePageRectsForFrame):
76362         * rendering/InlineFlowBox.cpp:
76363         (WebCore::InlineFlowBox::placeBoxesHorizontally):
76364         * rendering/MediaControlElements.cpp:
76365         (WebCore::MediaControlTimelineElement::defaultEventHandler):
76366         * rendering/RenderBlockLineLayout.cpp:
76367         (WebCore::RenderBlock::findNextLineBreak):
76368         * rendering/RenderCounter.cpp:
76369         (WebCore::planCounter):
76370         * rendering/RenderFrameSet.cpp:
76371         (WebCore::RenderFrameSet::computeEdgeInfo):
76372         (WebCore::RenderFrameSet::setIsResizing):
76373         * rendering/RenderLayerBacking.cpp:
76374         (WebCore::RenderLayerBacking::contentsBox):
76375         * rendering/RenderLayerCompositor.cpp:
76376         (WebCore::RenderLayerCompositor::updateBacking):
76377         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
76378         * rendering/RenderListItem.cpp:
76379         (WebCore::previousListItem):
76380         (WebCore::RenderListItem::explicitValueChanged):
76381         * rendering/RenderObject.cpp:
76382         (WebCore::updateListMarkerNumbers):
76383         * rendering/RenderObjectChildList.cpp:
76384         (WebCore::updateListMarkerNumbers):
76385         (WebCore::invalidateCountersInContainer):
76386         * rendering/RenderScrollbarTheme.cpp:
76387         (WebCore::RenderScrollbarTheme::minimumThumbLength):
76388         (WebCore::RenderScrollbarTheme::backButtonRect):
76389         (WebCore::RenderScrollbarTheme::forwardButtonRect):
76390         (WebCore::RenderScrollbarTheme::trackRect):
76391         (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
76392         (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
76393         (WebCore::RenderScrollbarTheme::paintTrackBackground):
76394         (WebCore::RenderScrollbarTheme::paintTrackPiece):
76395         (WebCore::RenderScrollbarTheme::paintButton):
76396         (WebCore::RenderScrollbarTheme::paintThumb):
76397         * rendering/RenderSlider.cpp:
76398         (WebCore::SliderThumbElement::defaultEventHandler):
76399         * rendering/RenderThemeChromiumMac.mm:
76400         (WebCore::RenderThemeChromiumMac::paintSliderThumb):
76401         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
76402         * rendering/RenderThemeChromiumWin.cpp:
76403         (WebCore::RenderThemeChromiumWin::determineSliderThumbState):
76404         * rendering/RenderThemeMac.mm:
76405         (WebCore::RenderThemeMac::paintSliderThumb):
76406         * rendering/RenderThemeSafari.cpp:
76407         (WebCore::RenderThemeSafari::paintSliderThumb):
76408         * rendering/RenderThemeWin.cpp:
76409         (WebCore::RenderThemeWin::determineSliderThumbState):
76410         * rendering/SVGCharacterLayoutInfo.cpp:
76411         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
76412         * rendering/SVGRootInlineBox.cpp:
76413         (WebCore::findSVGRootObject):
76414         * rendering/TextControlInnerElements.cpp:
76415         (WebCore::RenderTextControlInnerBlock::nodeAtPoint):
76416         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
76417         * svg/SVGImageElement.cpp:
76418         (WebCore::SVGImageElement::attach):
76419         * svg/SVGMarkerElement.cpp:
76420         (WebCore::SVGMarkerElement::canvasResource):
76421         * svg/SVGTextContentElement.cpp:
76422         (WebCore::rootInlineBoxForTextContentElement):
76423         * wml/WMLInputElement.cpp:
76424         (WebCore::WMLInputElement::defaultEventHandler):
76425         Use checked casts.
76426
76427         * rendering/RenderApplet.h:
76428         * rendering/RenderCounter.h:
76429         * rendering/RenderFieldset.h:
76430         * rendering/RenderFileUploadControl.h:
76431         * rendering/RenderFrame.h:
76432         * rendering/RenderFrameSet.h:
76433         * rendering/RenderHTMLCanvas.h:
76434         * rendering/RenderListBox.h:
76435         * rendering/RenderListItem.h:
76436         * rendering/RenderListMarker.h:
76437         * rendering/RenderMedia.h:
76438         * rendering/RenderMenuList.h:
76439         * rendering/RenderPart.h:
76440         * rendering/RenderPartObject.h:
76441         * rendering/RenderPath.h:
76442         * rendering/RenderSVGContainer.h:
76443         * rendering/RenderSVGRoot.h:
76444         * rendering/RenderSVGTextPath.h:
76445         * rendering/RenderSVGViewportContainer.h:
76446         * rendering/RenderScrollbar.h:
76447         * rendering/RenderSlider.h:
76448         * rendering/RenderTextControlMultiLine.h:
76449         * rendering/RenderTextControlSingleLine.h:
76450         * rendering/RenderVideo.h:
76451         Added a checked cast. Also made most members protected or private.
76452
76453         * rendering/RenderBlock.h:
76454         * rendering/RenderInline.h:
76455         * rendering/RenderReplaced.h:
76456         * rendering/RenderSVGBlock.h:
76457         * rendering/RenderSVGImage.h:
76458         * rendering/RenderSVGInlineText.h:
76459         * rendering/RenderSVGText.h:
76460         * rendering/RenderTextControl.h:
76461         Made most members protected or private.
76462
76463         * rendering/RenderInline.cpp:
76464         * rendering/RenderSVGContainer.cpp:
76465         * rendering/RenderSVGHiddenContainer.cpp:
76466         * rendering/RenderSVGImage.cpp:
76467         * rendering/RenderSVGRoot.cpp:
76468         Removed unneeded destructor.
76469
76470         * rendering/RenderSVGHiddenContainer.h:
76471         Removed unneeded virtual function overrides that did the same as
76472         the default and base class.
76473
76474         * rendering/RenderSVGViewportContainer.cpp:
76475         (WebCore::RenderSVGViewportContainer::paint): Updated to use m_viewport
76476         directly instead of using a function call.
76477         (WebCore::RenderSVGViewportContainer::applyViewportClip): Ditto.
76478         (WebCore::RenderSVGViewportContainer::viewportTransform): Ditto.
76479         (WebCore::RenderSVGViewportContainer::localToParentTransform): Ditto.
76480         (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Ditto.
76481
76482         * rendering/RenderScrollbar.cpp:
76483         (WebCore::pseudoForScrollbarPart): Changed switch statement to use cases for
76484         all values instead of using a default case.
76485
76486         * rendering/RenderTreeAsText.cpp:
76487         (WebCore::operator<<): Removed dependency on casting to types that don't
76488         have any public members we need to get at. Instead, use function names to
76489         identify the type rather than doing so much overloading. Changed to use
76490         checked casts.
76491         (WebCore::write): Ditto.
76492
76493         * rendering/SVGRenderSupport.cpp:
76494         (WebCore::renderSubtreeToImage): Changed to use a checked cast and also
76495         added a comment about the fact that the code does not do sufficient type
76496         checking before doing the cast.
76497
76498         * rendering/SVGRenderTreeAsText.cpp:
76499         (WebCore::writeRenderSVGTextBox): Renamed this from operator<<.
76500         (WebCore::writeSVGInlineTextBoxes): Renamed this from writeSVGInlineText.
76501         (WebCore::writeSVGText): Renamed this from write.
76502         (WebCore::writeSVGInlineText): Ditto.
76503         (WebCore::writeSVGImage): Ditto.
76504         * rendering/SVGRenderTreeAsText.h: Updated for name changes. Removed
76505         unneeded default arguments.
76506
76507 2009-08-05  Peter Kasting  <pkasting@google.com>
76508
76509         Reviewed by Sam Weinig.
76510
76511         https://bugs.webkit.org/show_bug.cgi?id=27851
76512         Fix a pair of compiler warnings on the GTK Linux buildbot.
76513
76514         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
76515         (WebCore::BMPImageDecoder::processFileHeader): Don't use multi-character constants, they're not portable.
76516         * platform/image-decoders/ico/ICOImageDecoder.cpp:
76517         (WebCore::ICOImageDecoder::setSize): Simpler code that also doesn't compare signed with unsigned.
76518
76519 2009-08-05  Peter Kasting  <pkasting@google.com>
76520
76521         Reviewed by Eric Seidel.
76522
76523         https://bugs.webkit.org/show_bug.cgi?id=26460
76524         Return multiple icon entries from the ICO decoder as separate frames,
76525         sorted by decreasing quality (much like the CG ICO decoder does).
76526
76527         As a result of this change, we can eliminate the Skia-specific setData()
76528         hack that the Chromium port used to select the desired icon size -- now
76529         callers can just enumerate the frames and ask for the data from the one
76530         they like.
76531         
76532         Under the hood, the ICO decoder now keeps vectors for a number of things
76533         (including directory entries and image decoders) where it used to have
76534         single members.  However, callers (that I have seen) will only request
76535         one frame from the icon, so practically there aren't going to be lots of
76536         instantiated image decoders.
76537
76538         * platform/graphics/ImageSource.h: Move |m_decoder| back to private now that Skia no longer needs to access it.
76539         * platform/graphics/cairo/ImageSourceCairo.cpp:
76540         (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
76541         * platform/graphics/skia/ImageSourceSkia.cpp:
76542         (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
76543         (WebCore::ImageSource::setData): Remove function to ask for a particular icon size.
76544         * platform/graphics/skia/ImageSourceSkia.h: Removed.
76545         * platform/graphics/wx/ImageSourceWx.cpp:
76546         (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
76547         * platform/image-decoders/ico/ICOImageDecoder.cpp:
76548         (WebCore::ICOImageDecoder::ICOImageDecoder):
76549         (WebCore::ICOImageDecoder::~ICOImageDecoder): Delete all instantiated per-frame decoders.
76550         (WebCore::ICOImageDecoder::setData): Send data to all instantiated per-frame decoders.
76551         (WebCore::ICOImageDecoder::isSizeAvailable): Use size from icon directory instead of PNG decoder (if applicable) so we can report it without decoding the PNG frames.
76552         (WebCore::ICOImageDecoder::size): Report frame-specific size if BMP decoder is calling.  Otherwise, use size from icon directory instead of PNG decoder (if applicable).
76553         (WebCore::ICOImageDecoder::frameSizeAtIndex): Implement.
76554         (WebCore::ICOImageDecoder::setSize): Sanity check value if BMP decoder is calling.
76555         (WebCore::ICOImageDecoder::frameCount): Implement.
76556         (WebCore::ICOImageDecoder::frameBufferAtIndex): Sanity check size for PNG frames.
76557         (WebCore::ICOImageDecoder::compareEntries): Add utility function for sorting entries.
76558         (WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex): Factor out utility function for passing correct data blob to a PNG decoder.
76559         (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded): Split decode() into two pieces.
76560         (WebCore::ICOImageDecoder::decodeDirectory): The first part of the old decode().
76561         (WebCore::ICOImageDecoder::decodeAtIndex): The second part of the old decode(), split off so we avoid decoding an entry until it's requested.
76562         (WebCore::ICOImageDecoder::processDirectory): Add resizing of internal data structures based on directory contents.
76563         (WebCore::ICOImageDecoder::processDirectoryEntries): Sort entries by quality.
76564         (WebCore::ICOImageDecoder::imageTypeAtIndex): Return type to caller instead of setting a member.
76565         * platform/image-decoders/ico/ICOImageDecoder.h:
76566
76567 2009-08-05  Szabo Carol  <carol.szabo@nokia.com>
76568
76569         Reviewed by Darin Adler.
76570
76571         https://bugs.webkit.org/show_bug.cgi?id=27942
76572
76573         Test: fast/forms/select-reset-multiple-selections-4-single-selection.html
76574
76575         * dom/SelectElement.cpp:
76576         (WebCore::SelectElement::reset):
76577            Added HTML 4.01 compliant handling of broken webpages that
76578            specify more than one selected option for single selection SELECT
76579            element, in a manner that emulates Firefox and is similar to IE 7
76580
76581
76582 2009-08-05  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
76583
76584         Reviewed by Simon Hausmann.
76585
76586         WebCore.pro bugfix
76587
76588         Fix the gperf lines to properly include the string.h header at compilation with gperf version 3.0.3 and newer.
76589
76590         * WebCore.pro:
76591
76592 2009-08-05  Chris Fleizach  <cfleizach@apple.com>
76593
76594         Fix Tiger build breakage.
76595
76596         * accessibility/mac/AccessibilityObjectWrapper.mm:
76597
76598 2009-08-04  Simon Hausmann  <hausmann@webkit.org>
76599
76600         Prospective build fix for Qt build bot: Fix dependency of HTMLNames.cpp
76601         to both source files, HTMLTagNames.in and HTMLAttributeNames.in
76602
76603         * WebCore.pro:
76604
76605 2009-08-04  Brian Weinstein  <bweinstein@apple.com>
76606
76607         Reviewed by Adele Peterson.
76608
76609         Keypress should exit from pan scrolling mode.
76610         https://bugs.webkit.org/show_bug.cgi?id=28005
76611
76612         Change the logic from only exiting pan scrolling on escape to exiting on any key press,
76613         making it easier for users to back out of an accidental pan scroll.
76614
76615         * page/EventHandler.cpp:
76616         (WebCore::EventHandler::keyEvent):
76617         
76618 2009-08-04  Eric Seidel  <eric@webkit.org>
76619
76620         Reviewed by Simon Fraser.
76621
76622         REGRESSION (r45064): Drop caret remains in text control after the mouse exits
76623         https://bugs.webkit.org/show_bug.cgi?id=26787
76624
76625         Add back missing dragController()->clear() call.
76626
76627         * manual-tests/drag-caret.html: Added.
76628         * page/DragController.cpp:
76629         (WebCore::DragController::tryDocumentDrag):
76630
76631 2009-08-04  Chris Fleizach  <cfleizach@apple.com>
76632
76633         Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
76634         https://bugs.webkit.org/show_bug.cgi?id=27994
76635
76636         Forgot to commit attribute names.
76637
76638         * html/HTMLAttributeNames.in:
76639
76640 2009-08-04  Chris Fleizach  <cfleizach@apple.com>
76641
76642         Reviewed by Darin Adler.
76643
76644         Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
76645         https://bugs.webkit.org/show_bug.cgi?id=27994
76646
76647         Test: platform/mac/accessibility/aria-valuetext.html
76648
76649         * accessibility/AccessibilityObject.h:
76650         (WebCore::AccessibilityObject::valueDescription):
76651         * accessibility/AccessibilityRenderObject.cpp:
76652         (WebCore::AccessibilityRenderObject::valueDescription):
76653         * accessibility/AccessibilityRenderObject.h:
76654         * accessibility/mac/AccessibilityObjectWrapper.mm:
76655         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
76656         * html/HTMLAttributeNames.in:
76657
76658 2009-08-04  Michael Nordman  <michaeln@google.com>
76659
76660         Reviewed by Alexey Proskuryakov.
76661
76662         https://bugs.webkit.org/show_bug.cgi?id=27821
76663
76664         No new features, no new tests. Existing layout tests pass.
76665
76666         * WebCore.base.exp:
76667
76668         Export AppliationCacheGroup::storeCopyOfCache
76669
76670         * WebCore.xcodeproj/project.pbxproj:
76671
76672         Restore DOMApplicationCache.h and ApplicationCacheHost.h to 'project' headers
76673         instead of 'private' headers since they're no longer in the DocumentLoader.h
76674         include graph.
76675
76676         * html/HTMLHtmlElement.cpp:
76677         (WebCore::HTMLHtmlElement::insertedIntoDocument):
76678
76679         Reinstate the test for manifest.isNull instead of .isEmtpty().
76680         Added a FIXME to revisit once the spec gets clarified.
76681         
76682         * loader/DocumentLoader.cpp:
76683         (WebCore::DocumentLoader::DocumentLoader):
76684         (WebCore::DocumentLoader::mainReceivedError):
76685         (WebCore::DocumentLoader::detachFromFrame):
76686         * loader/DocumentLoader.h:
76687         (WebCore::DocumentLoader::applicationCacheHost):
76688
76689         ApplicationCacheHost is held in an OwnPtr<> by DocumentLoader. This was done
76690         for compile time friendliness, it results in a smaller include graph for files
76691         dependent on DocumentLoader.h.
76692
76693         * loader/FrameLoader.cpp:
76694         * loader/MainResourceLoader.cpp:
76695         * loader/ResourceLoader.cpp:
76696
76697         Cleanup ussage of ENABLE(xxx) around includes, generally remove those guards.
76698         This was done for readability at the include site. The included files contain appropriate guards,
76699         so they're not needed at the include site.
76700
76701         * loader/appcache/ApplicationCacheGroup.cpp:
76702         (WebCore::ApplicationCacheGroup::selectCache):
76703         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
76704         (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
76705         (WebCore::ApplicationCacheGroup::update):
76706         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
76707         (WebCore::ApplicationCacheGroup::manifestNotFound):
76708         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
76709         (WebCore::ApplicationCacheGroup::startLoadingEntry):
76710         (WebCore::CallCacheListenerTask::create):
76711         (WebCore::CallCacheListenerTask::performTask):
76712         (WebCore::CallCacheListenerTask::CallCacheListenerTask):
76713         (WebCore::ApplicationCacheGroup::postListenerTask):
76714         * loader/appcache/ApplicationCacheGroup.h:
76715
76716         Use ApplicationCachHost defined constants, no longer depends on DOMApplicationCache.
76717
76718         * loader/appcache/ApplicationCacheHost.cpp:
76719         (WebCore::ApplicationCacheHost::ApplicationCacheHost):
76720         (WebCore::ApplicationCacheHost::setDOMApplicationCache):
76721         (WebCore::ApplicationCacheHost::notifyEventListener):
76722         (WebCore::ApplicationCacheHost::status):
76723         * loader/appcache/ApplicationCacheHost.h:
76724         (WebCore::ApplicationCacheHost::):
76725         * loader/appcache/ApplicationCacheStorage.cpp:
76726         (WebCore::ApplicationCacheStorage::storeCopyOfCache):
76727         * loader/appcache/ApplicationCacheStorage.h:
76728
76729         Merge recently added transferApplicationCache and pre-existing storeCopyOfCache methods.
76730
76731         * loader/appcache/DOMApplicationCache.cpp:
76732         (WebCore::DOMApplicationCache::status):
76733         (WebCore::DOMApplicationCache::addEventListener):
76734         (WebCore::DOMApplicationCache::removeEventListener):
76735         (WebCore::DOMApplicationCache::callListener):
76736         (WebCore::DOMApplicationCache::toEventType):
76737         (WebCore::DOMApplicationCache::toEventID):
76738         * loader/appcache/DOMApplicationCache.h:
76739         (WebCore::DOMApplicationCache::setAttributeEventListener):
76740         (WebCore::DOMApplicationCache::getAttributeEventListener):
76741         (WebCore::DOMApplicationCache::clearAttributeEventListener):
76742         (WebCore::DOMApplicationCache::callEventListener):
76743         (WebCore::DOMApplicationCache::setOnchecking):
76744         (WebCore::DOMApplicationCache::onchecking):
76745         (WebCore::DOMApplicationCache::setOnerror):
76746         (WebCore::DOMApplicationCache::onerror):
76747         (WebCore::DOMApplicationCache::setOnnoupdate):
76748         (WebCore::DOMApplicationCache::onnoupdate):
76749         (WebCore::DOMApplicationCache::setOndownloading):
76750         (WebCore::DOMApplicationCache::ondownloading):
76751         (WebCore::DOMApplicationCache::setOnprogress):
76752         (WebCore::DOMApplicationCache::onprogress):
76753         (WebCore::DOMApplicationCache::setOnupdateready):
76754         (WebCore::DOMApplicationCache::onupdateready):
76755         (WebCore::DOMApplicationCache::setOncached):
76756         (WebCore::DOMApplicationCache::oncached):
76757         (WebCore::DOMApplicationCache::setOnobsolete):
76758         (WebCore::DOMApplicationCache::onobsolete):
76759
76760         Use ApplicationCachHost defined constants for Status and EventIDs.
76761
76762 2009-08-04  Nate Chapin  <japhet@chromium.org>
76763
76764         Reviewed by Dimitri Glazkov.
76765
76766         Revert r46421 and r46769, which appear to have totally hosed the v8 bindings.
76767
76768         https://bugs.webkit.org/show_bug.cgi?id=27719
76769
76770         * bindings/v8/V8AbstractEventListener.cpp: Revert r46421.
76771         (WebCore::V8AbstractEventListener::invokeEventHandler):
76772         * bindings/v8/custom/V8DOMWindowCustom.cpp: Revert r46769.
76773         (WebCore::ACCESSOR_GETTER):
76774
76775 2009-08-04  Chris Fleizach  <cfleizach@apple.com>
76776
76777         Reviewed by Darin Adler.
76778
76779         Bug 27993 - AXSliders are missing required attributes and actions
76780         https://bugs.webkit.org/show_bug.cgi?id=27993
76781
76782         Expose appropriate actions and attributes for sliders.
76783
76784         Test: platform/mac/accessibility/slider-supports-actions.html
76785
76786         * accessibility/AccessibilityObject.cpp:
76787         (WebCore::AccessibilityObject::orientation):
76788         * accessibility/AccessibilityObject.h:
76789         (WebCore::):
76790         * accessibility/AccessibilitySlider.cpp:
76791         (WebCore::AccessibilitySlider::orientation):
76792         * accessibility/AccessibilitySlider.h:
76793         * accessibility/mac/AccessibilityObjectWrapper.mm:
76794         (-[AccessibilityObjectWrapper accessibilityActionNames]):
76795         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
76796         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
76797
76798 2009-08-04  Jian Li  <jianli@chromium.org>
76799
76800         Reviewed by David Levin.
76801
76802         [V8] Fix an assert in WebCoreStringResource that causes worker script
76803         evaluation failed.
76804         https://bugs.webkit.org/show_bug.cgi?id=27996
76805
76806         The fix is to check for the same thread, instead of the main thread.
76807         This is because Chromium's workers use v8 in a single thread that is
76808         not the main thread.
76809
76810         * bindings/v8/V8Binding.cpp:
76811         (WebCore::WebCoreStringResource::WebCoreStringResource):
76812         (WebCore::WebCoreStringResource::~WebCoreStringResource):
76813         (WebCore::WebCoreStringResource::atomicString):
76814
76815 2009-08-04  Simon Fraser  <simon.fraser@apple.com>
76816
76817         Reviewed by Dave Hyatt.
76818
76819         Add support for transitions/animations of text-indent.
76820
76821         Test: transitions/text-indent-transition.html
76822
76823         * page/animation/AnimationBase.cpp:
76824         (WebCore::ensurePropertyMap):
76825
76826 2009-08-04  Simon Fraser  <simon.fraser@apple.com>
76827
76828         Reviewed by Dave Hyatt.
76829
76830         Add support for transitions of min- and max-width, and min- and max-height.
76831         https://bugs.webkit.org/show_bug.cgi?id=27990
76832
76833         Test: transitions/min-max-width-height-transitions.html
76834
76835         * page/animation/AnimationBase.cpp:
76836         (WebCore::ensurePropertyMap):
76837
76838 2009-08-04  Chris Fleizach  <cfleizach@apple.com>
76839
76840         Reviewed by Darin Adler.
76841
76842         Bug 27964 - WAI-ARIA: radio button does not determine its label from text content
76843         https://bugs.webkit.org/show_bug.cgi?id=27964
76844
76845         ARIA radio buttons also need to use the text inside of them, like buttons and other roles.
76846         Also fixed an issue where an extra space was being appended to some ARIA labels.
76847
76848         Test: platform/mac/accessibility/aria-radiobutton-text.html
76849
76850         * accessibility/AccessibilityObject.h:
76851         (WebCore::AccessibilityObject::ariaAccessibilityName):
76852         * accessibility/AccessibilityRenderObject.cpp:
76853         (WebCore::AccessibilityRenderObject::ariaAccessibilityName):
76854         (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
76855         (WebCore::AccessibilityRenderObject::title):
76856         (WebCore::AccessibilityRenderObject::ariaDescribedByAttribute):
76857         * accessibility/AccessibilityRenderObject.h:
76858
76859 2009-08-04  Nate Chapin  <japhet@chromium.org>
76860
76861         Reviewed by Dimitri Glazkov.
76862
76863         Missed a place that expects window.event to be hidden when it shouldn't be.
76864
76865         https://bugs.webkit.org/show_bug.cgi?id=27719
76866
76867         * bindings/v8/custom/V8DOMWindowCustom.cpp:
76868         (WebCore::ACCESSOR_GETTER): window.event is no longer hidden.
76869
76870 2009-08-03  Chris Fleizach  <cfleizach@apple.com>
76871
76872         Reviewed by Jon Honeycutt.
76873
76874         Bug 27958 - WAI-ARIA: Implement 'aria-required' attribute.
76875         https://bugs.webkit.org/show_bug.cgi?id=27958
76876
76877         Test: platform/mac/accessibility/aria-required.html
76878
76879         * accessibility/AccessibilityObject.h:
76880         (WebCore::AccessibilityObject::isRequired):
76881         * accessibility/AccessibilityRenderObject.cpp:
76882         (WebCore::AccessibilityRenderObject::isRequired):
76883         * accessibility/AccessibilityRenderObject.h:
76884         * accessibility/mac/AccessibilityObjectWrapper.mm:
76885         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
76886         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
76887         * html/HTMLAttributeNames.in:
76888
76889 2009-08-04  Jakub Wieczorek  <faw217@gmail.com>
76890
76891         Reviewed by Simon Hausmann.
76892
76893         Add QWebPluginDatabase API to the Qt API.
76894         
76895         https://bugs.webkit.org/show_bug.cgi?id=27651
76896
76897         * WebCore.pro:
76898
76899 2009-08-04  Ariya Hidayat  <ariya.hidayat@nokia.com>
76900
76901         Reviewed by Adam Treat.
76902
76903         [Qt] PlusDarker is not supported. Fall back to CompositionMode_Darken
76904         (as it is the closest match) instead of CompositionMode_SourceOver.
76905
76906         * platform/graphics/qt/GraphicsContextQt.cpp:
76907         (WebCore::toQtCompositionMode):
76908
76909 2009-08-04  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
76910
76911         Reviewed by Adam Barth.
76912
76913         [v8] Fix crash when converting empty v8 string to atomic webkit string.
76914         https://bugs.webkit.org/show_bug.cgi?id=27975
76915
76916         collection-null-like-arguments.html tests for this.
76917
76918         * bindings/v8/V8Binding.cpp:
76919         (WebCore::v8StringToAtomicWebCoreString):
76920
76921 2009-08-04  Ryosuke Niwa  <rniwa@webkit.org>
76922
76923         Reviewed by Eric Seidel.
76924
76925         selectionHasStyle needs clean up to fix Bug 27858
76926         https://bugs.webkit.org/show_bug.cgi?id=27865
76927
76928         This patch cleans up selectionStartHasStyle and selectionHasStyle.
76929         No test is added because the patch does not change any behavior.
76930
76931         * editing/ApplyStyleCommand.cpp:
76932         (WebCore::getPropertiesNotInComputedStyle): Used in triStateOfStyleInComputedStyle but will be used here as well
76933         * editing/ApplyStyleCommand.h: Added the prototype of getPropertiesNotInComputedStyle
76934         * editing/Editor.cpp:
76935         (WebCore::triStateOfStyleInComputedStyle): Determines if the specified style is present in the specified computed style.
76936         (WebCore::Editor::selectionStartHasStyle): Uses triStateOfStyleInComputedStyle
76937         (WebCore::Editor::selectionHasStyle): Uses triStateOfStyleInComputedStyle instead of updateState
76938
76939 2009-08-03  John Abd-El-Malek  <jam@chromium.org>
76940
76941         Reviewed by David Levin.
76942
76943         Fix MessagePort construction in worker process.  Also make the other object constructions match this.
76944
76945         https://bugs.webkit.org/show_bug.cgi?id=27906
76946
76947         * bindings/v8/V8DOMWrapper.cpp:
76948         (WebCore::V8DOMWrapper::convertToV8Object):
76949         * bindings/v8/V8Proxy.cpp:
76950         (WebCore::V8Proxy::setDOMException):
76951         * bindings/v8/WorkerContextExecutionProxy.cpp:
76952         (WebCore::WorkerContextExecutionProxy::ToV8Object):
76953
76954 2009-08-03  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
76955
76956         Reviewed by David Levin.
76957
76958         [V8] Cache atomic strings in externalized v8 strings
76959         https://bugs.webkit.org/show_bug.cgi?id=27762
76960
76961         * bindings/scripts/CodeGeneratorV8.pm:
76962         * bindings/v8/V8Binding.cpp:
76963         (WebCore::WebCoreStringResource::WebCoreStringResource):
76964         (WebCore::WebCoreStringResource::~WebCoreStringResource):
76965         (WebCore::WebCoreStringResource::data):
76966         (WebCore::WebCoreStringResource::length):
76967         (WebCore::WebCoreStringResource::webcoreString):
76968         (WebCore::WebCoreStringResource::atomicString):
76969         (WebCore::WebCoreStringResource::toStringResource):
76970         (WebCore::v8StringToWebCoreString):
76971         (WebCore::v8StringToAtomicWebCoreString):
76972         (WebCore::v8ValueToWebCoreString):
76973         (WebCore::v8ValueToAtomicWebCoreString):
76974         * bindings/v8/V8Binding.h:
76975         (WebCore::):
76976         * dom/Document.idl:
76977
76978 2009-08-03  Joseph Pecoraro  <joepeck02@gmail.com>
76979
76980         Reviewed by Timothy Hatcher.
76981
76982         Inspector: DOM Storage Live Updating Should Not Affect Tabbing
76983         https://bugs.webkit.org/show_bug.cgi?id=27957
76984
76985         * inspector/front-end/DOMStorageDataGrid.js:
76986         (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): disable storage event listener
76987         (WebInspector.DOMStorageDataGrid.prototype._startEditing): disable storage event listener
76988         (WebInspector.DOMStorageDataGrid.prototype._editingCancelled): enable storage event listener
76989         * inspector/front-end/DatabasesPanel.js:
76990         (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): quick return if no listener
76991
76992 2009-08-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
76993
76994         Reviewed by Eric Seidel.
76995
76996         [Qt] Consolidate common gcc flags to WebKit.pri
76997         https://bugs.webkit.org/show_bug.cgi?id=27934
76998
76999         * WebCore.pro:
77000
77001 2009-08-03  Jeremy Orlow  <jorlow@chromium.org>
77002
77003         Reviewed by Darin Fisher.
77004
77005         Chromium code sometimes isn't sandboxed and needs to access the FS.
77006         https://bugs.webkit.org/show_bug.cgi?id=27954
77007
77008         These changes are the WebKit side of http://codereview.chromium.org/159778 which
77009         aims to make LocalStorage persistent.
77010
77011         This change runs all FileSystem routines through the ChromiumBridge so that
77012         WebKitClients can handle them if they choose to.  For now, the only such client
77013         will be the one running in the browser process.
77014
77015         It also adds a method called sandboxEnabled to the Chromium bridge so that the
77016         SQLite file system code can shift its behavior depending on whether we're
77017         inside a sandbox or not.
77018
77019         * platform/chromium/ChromiumBridge.h:
77020         * platform/chromium/FileSystemChromium.cpp:
77021         (WebCore::deleteFile):
77022         (WebCore::deleteEmptyDirectory):
77023         (WebCore::getFileModificationTime):
77024         (WebCore::directoryName):
77025         (WebCore::pathByAppendingComponent):
77026         (WebCore::makeAllDirectories):
77027         (WebCore::fileExists):
77028         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
77029         (WebCore::SQLiteFileSystem::openDatabase):
77030         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
77031         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
77032
77033 2009-08-03  Alpha Lam  <hclam@chromium.org>
77034
77035         Reviewed by David Levin.
77036
77037         [chromium] Implement media slider for chromium
77038         https://bugs.webkit.org/show_bug.cgi?id=27859
77039
77040         Implemented the media slider for chromium port. The implementation
77041         is using Skia for drawing the thumb and buffered region instead of
77042         using any native system controls so different platforms would have
77043         the same look and feel.
77044
77045         No new tests because this is covered by existing tests.
77046
77047         * css/mediaControlsChromium.css:
77048         * rendering/RenderThemeChromiumSkia.cpp:
77049         * rendering/RenderThemeChromiumSkia.h:
77050         * rendering/RenderThemeChromiumWin.cpp:
77051
77052 2009-07-27  Peter Kasting  <pkasting@google.com>
77053
77054         Reviewed by Eric Seidel.
77055
77056         https://bugs.webkit.org/show_bug.cgi?id=26460
77057         Plumbing and cleanup in advance of returning multiple frames from the
77058         ICOImageDecoder:
77059         * Make ImageDecoder::frameCount() return a size_t like
77060           ImageSource::frameCount() and BitmapImage::frameCount() already do.
77061         * Add ImageDecoder::frameSizeAtIndex() alongside size(), to report the
77062           size of a particular frame.  Hook all the
77063           ImageSource::frameSizeAtIndex() implementations to this.  No
77064           ImageDecoder implements this yet; that will come in my next change.
77065
77066         * platform/graphics/cairo/ImageSourceCairo.cpp:
77067         (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
77068         * platform/graphics/qt/ImageDecoderQt.cpp:
77069         (WebCore::ImageDecoderQt::frameCount): returns size_t.
77070         * platform/graphics/qt/ImageDecoderQt.h: frameCount() returns size_t.
77071         * platform/graphics/qt/ImageSourceQt.cpp:
77072         (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
77073         * platform/graphics/skia/ImageSourceSkia.cpp:
77074         (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
77075         * platform/graphics/win/ImageCGWin.cpp:
77076         (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t.
77077         * platform/graphics/win/ImageCairoWin.cpp:
77078         (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t.
77079         * platform/graphics/wx/ImageSourceWx.cpp:
77080         (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
77081         * platform/image-decoders/ImageDecoder.h:
77082         (WebCore::ImageDecoder::size): Clarify comment.
77083         (WebCore::ImageDecoder::frameSizeAtIndex): Add.
77084         (WebCore::ImageDecoder::frameCount): returns size_t.
77085         (WebCore::ImageDecoder::frameBufferAtIndex): Remove unneeded param name.
77086         * platform/image-decoders/gif/GIFImageDecoder.cpp:
77087         (WebCore::GIFImageDecoder::frameCount): returns size_t.
77088         (WebCore::GIFImageDecoder::frameBufferAtIndex): frameCount() returns size_t.
77089         * platform/image-decoders/gif/GIFImageDecoder.h: frameCount() returns size_t.
77090
77091 2009-08-03  Dumitru Daniliuc  <dumi@chromium.org>
77092
77093         Reviewed by Darin Adler.
77094
77095         Fix a bug that could cause an ASSERT to fail incorrectly, leading
77096         to a renderer crash in Chromium.
77097
77098         https://bugs.webkit.org/show_bug.cgi?id=27947
77099
77100         All tests in storage/ pass.
77101
77102         * platform/sql/SQLiteTransaction.cpp:
77103         (WebCore::SQLiteTransaction::~SQLiteTransaction):
77104         (WebCore::SQLiteTransaction::begin):
77105
77106 2009-08-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
77107
77108         Reviewed by Simon Hausmann.
77109
77110         Based on work by Yael Aharon.
77111
77112         Implement keyboard event forwarding for windowless plugins
77113         for the Qt port.
77114
77115         * plugins/qt/PluginViewQt.cpp:
77116         (WebCore::PluginView::dispatchNPEvent):
77117         (WebCore::setSharedXEventFields):
77118         (WebCore::setXKeyEventSpecificFields):
77119         (WebCore::PluginView::handleKeyboardEvent):
77120         (WebCore::PluginView::handleMouseEvent):
77121
77122 2009-08-03  Joseph Pecoraro  <joepeck02@gmail.com>
77123
77124         Reviewed by Timothy Hatcher.
77125
77126         Inspector: Make Bottom "Drawer" More Extensible To Support Other Views
77127         https://bugs.webkit.org/show_bug.cgi?id=27928
77128
77129         * English.lproj/localizedStrings.js:
77130
77131           "Show changes view", "Hide changes view", "Clear changes log", "%d style change", "%d style changes"
77132
77133         * inspector/front-end/ChangesView.js: Added.
77134         (WebInspector.ChangesView):
77135         (WebInspector.ChangesView.prototype._clearButtonClicked):
77136         (WebInspector.ChangesView.prototype._toggleChangesButtonClicked):
77137         (WebInspector.ChangesView.prototype.attach):
77138         (WebInspector.ChangesView.prototype.show):
77139         (WebInspector.ChangesView.prototype.hide):
77140
77141           To be a new view to show Changes made via the inspector.  DOM, CSS, or otherwise.
77142
77143         * inspector/front-end/Console.js: Removed.
77144
77145           Sliding View aspect moved to Drawer.js.  The "console" itself has moved to ConsoleView.js
77146
77147         * inspector/front-end/ConsoleView.js: Added.
77148
77149           Little has changed from its move from Console.js other then support for working with the Drawer.
77150
77151         * inspector/front-end/Drawer.js: Added.
77152         (WebInspector.Drawer):
77153         (WebInspector.Drawer.prototype.get visibleView):
77154         (WebInspector.Drawer.prototype.set visibleView):
77155         (WebInspector.Drawer.prototype.show.animationFinished):
77156         (WebInspector.Drawer.prototype.show):
77157         (WebInspector.Drawer.prototype.hide.animationFinished):
77158         (WebInspector.Drawer.prototype.hide):
77159         (WebInspector.Drawer.prototype._safelyRemoveChildren):
77160         (WebInspector.Drawer.prototype._startStatusBarDragging):
77161         (WebInspector.Drawer.prototype._statusBarDragging):
77162         (WebInspector.Drawer.prototype._endStatusBarDragging):
77163
77164           Allow for multiple views inside the Sliding Drawer.
77165
77166         * inspector/front-end/ElementsPanel.js:
77167         (WebInspector.ElementsPanel):
77168         (WebInspector.ElementsPanel.prototype.renameSelector):
77169         (WebInspector.ElementsPanel.prototype.addStyleChange):
77170         (WebInspector.ElementsPanel.prototype.removeStyleChange):
77171         (WebInspector.ElementsPanel.prototype.generateStylesheet):
77172
77173           Starting work on the "Changes" Panel. The ability to generate a Stylesheet from Styles added via the Inspector.
77174
77175         * inspector/front-end/Images/styleIcon.png: Added.
77176
77177         * inspector/front-end/StylesSidebarPane.js:
77178         (WebInspector.StylePropertiesSection.prototype.isInspectorStylesheet):
77179         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
77180         (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
77181         (WebInspector.StylePropertyTreeElement.prototype):
77182
77183           Interface with ElementsPanel for generating a Stylesheet of Changes.
77184
77185         * inspector/front-end/WebKit.qrc:
77186         * inspector/front-end/inspector.css: Refactored to allow for multiple views in the drawer.
77187         * inspector/front-end/inspector.html: Refactored to allow for multiple views in the drawer.
77188
77189         * inspector/front-end/inspector.js:
77190         (WebInspector.get styleChanges):
77191         (WebInspector.set styleChanges):
77192         (WebInspector._updateChangesCount):
77193         (WebInspector.loaded):
77194         (WebInspector.documentKeyDown):
77195         (WebInspector.showConsole):
77196         (WebInspector.showChanges):
77197
77198           Support for the drawer and "styles changed icon" similar to the "errors and warnings" icons.
77199
77200 2009-08-03  Dean McNamee  <deanm@chromium.org>
77201
77202         Reviewed by Adam Barth.
77203
77204         Correct an assert on a PassRefPtr in the v8 svg bindings.
77205         https://bugs.webkit.org/show_bug.cgi?id=27951
77206
77207         * bindings/v8/V8SVGPODTypeWrapper.h:
77208         (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):
77209
77210 2009-08-03  Dirk Pranke  <dpranke@chromium.org>
77211
77212         Reviewed by Sam Weinig.
77213
77214         Fix for https://bugs.webkit.org/show_bug.cgi?id=27748
77215         crash w/ stack overflow when same CSS file loaded repeatedly
77216
77217         Fix crash caused by a stack overflow when repeatedly loading very large
77218         CSS files. CSSRuleData in CSSStyleSelector.h destroyed itself 
77219         recursively rather than iteratively.
77220
77221         Test: fast/css/large-list-of-rules-crash.html
77222
77223         * css/CSSStyleSelector.h:
77224         (WebCore::CSSRuleData::~CSSRuleData):
77225         (WebCore::CSSRuleDataList::~CSSRuleDataList):
77226
77227 2009-08-03  Simon Fraser  <simon.fraser@apple.com>
77228
77229         Reviewed by Dan Bernstein.
77230
77231         Make the DRT APIs to pause transitions and animations work for accelerated animations
77232         <https://bugs.webkit.org/show_bug.cgi?id=27627>
77233         <rdar://problem/6442932>
77234
77235         Fix the 'pauseAnimationAtTimeOnElementWithId' and 'pauseTransitionAtTimeOnElementWithId' APIs
77236         available to LayoutTests to work with accelerated animations and transitions. Done by sending
77237         the pause time down to the GraphicsLayer, and using it to stop time on the layer.
77238         
77239         I also added an assertion to check that the animation has actually started when we
77240         try to pause it, to check that the pause time we compute is valid. This revealed a number
77241         of tests that tried to pause before animations started, required some amount of test fixing.
77242
77243         * page/animation/AnimationBase.cpp:
77244         (WebCore::AnimationBase::freezeAtTime):
77245         * page/animation/AnimationBase.h:
77246         * page/animation/CompositeAnimation.cpp:
77247         (WebCore::CompositeAnimation::pauseAnimationAtTime):
77248         (WebCore::CompositeAnimation::pauseTransitionAtTime):
77249         * platform/graphics/GraphicsLayer.cpp:
77250         (WebCore::GraphicsLayer::suspendAnimations):
77251         * platform/graphics/GraphicsLayer.h:
77252         * platform/graphics/mac/GraphicsLayerCA.h:
77253         * platform/graphics/mac/GraphicsLayerCA.mm:
77254         (WebCore::GraphicsLayerCA::suspendAnimations):
77255         * rendering/RenderLayerBacking.cpp:
77256         (WebCore::RenderLayerBacking::suspendAnimations):
77257         * rendering/RenderLayerBacking.h:
77258
77259 2009-08-03  Tony Chang  <tony@chromium.org>
77260
77261         Reviewed by Darin Adler.
77262
77263         Fix Chromium build by removing PluginView.h from Page.cpp.
77264         Chromium doesn't use PluginView and the pointer is never
77265         dereferenced so the header doesn't need to be included.
77266         https://bugs.webkit.org/show_bug.cgi?id=27946
77267
77268         No new tests because this is a build fix.
77269
77270         * page/Page.cpp:
77271
77272 2009-08-03  Eric Carlson  <eric.carlson@apple.com>
77273
77274         One more build fix after https://bugs.webkit.org/show_bug.cgi?id=46720.
77275
77276         Unreviewed.
77277
77278         * WebCoreSources.bkl:
77279
77280 2009-08-03  Eric Carlson  <eric.carlson@apple.com>
77281
77282         Build fix after https://bugs.webkit.org/show_bug.cgi?id=46720.
77283
77284         Unreviewed.
77285
77286         * GNUmakefile.am:
77287         * WebCore.gypi:
77288         * WebCore.pro:
77289         * WebCore.vcproj/WebCore.vcproj:
77290
77291 2009-08-03  Chris Fleizach  <cfleizach@apple.com>
77292
77293         Reviewed by Darin Adler.
77294
77295         Bug 27943: Need to implement ARIA role="radiogroup"
77296         https://bugs.webkit.org/show_bug.cgi?id=27943
77297
77298         Test: platform/mac/accessibility/aria-radiogroup.html
77299
77300         * accessibility/AccessibilityObject.h:
77301         (WebCore::AccessibilityObject::isRadioGroup):
77302         (WebCore::AccessibilityObject::selectedRadioButton):
77303         * accessibility/AccessibilityRenderObject.cpp:
77304         (WebCore::AccessibilityRenderObject::selectedRadioButton):
77305         (WebCore::RoleEntry::):
77306         * accessibility/AccessibilityRenderObject.h:
77307         * accessibility/mac/AccessibilityObjectWrapper.mm:
77308         (-[AccessibilityObjectWrapper roleDescription]):
77309         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
77310
77311 2009-08-03  Eric Carlson  <eric.carlson@apple.com>
77312
77313         Reviewed by Eric Seidel.
77314
77315         HTMLInputElement is not controllable by assistive technologies
77316         https://bugs.webkit.org/show_bug.cgi?id=27941
77317
77318         Test: accessibility/input-slider.html
77319
77320         * WebCore.xcodeproj/project.pbxproj:
77321             Add AccessibilitySlider.cpp/.h
77322
77323         * accessibility/AXObjectCache.cpp:
77324         (WebCore::AXObjectCache::getOrCreate):
77325             Create AccessibilitySlider and AccessibilitySliderThumb.
77326
77327         * accessibility/AccessibilityObject.h:
77328         (WebCore::AccessibilityObject::increment):
77329         (WebCore::AccessibilityObject::decrement):
77330             Add default, do nothing, base class methods.
77331
77332         * accessibility/AccessibilityRenderObject.cpp:
77333         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
77334             Correct typo.
77335
77336         * accessibility/AccessibilitySlider.cpp: Added.
77337         (WebCore::AccessibilitySlider::AccessibilitySlider):
77338         (WebCore::AccessibilitySlider::create):
77339         (WebCore::AccessibilitySlider::children):
77340         (WebCore::AccessibilitySlider::addChildren):
77341         (WebCore::AccessibilitySlider::getAttribute):
77342         (WebCore::AccessibilitySlider::valueForRange):
77343         (WebCore::AccessibilitySlider::maxValueForRange):
77344         (WebCore::AccessibilitySlider::minValueForRange):
77345         (WebCore::AccessibilitySlider::changeValue):
77346         (WebCore::AccessibilitySlider::setValue):
77347         (WebCore::AccessibilitySlider::increment):
77348         (WebCore::AccessibilitySlider::decrement):
77349         (WebCore::AccessibilitySlider::element):
77350         (WebCore::AccessibilitySliderThumb::AccessibilitySliderThumb):
77351         (WebCore::AccessibilitySliderThumb::create):
77352         (WebCore::AccessibilitySliderThumb::elementRect):
77353         (WebCore::AccessibilitySliderThumb::size):
77354         * accessibility/AccessibilitySlider.h: Added.
77355         (WebCore::AccessibilitySlider::~AccessibilitySlider):
77356         (WebCore::AccessibilitySlider::roleValue):
77357         (WebCore::AccessibilitySlider::accessibilityIsIgnored):
77358         (WebCore::AccessibilitySlider::isSlider):
77359         (WebCore::AccessibilitySlider::canSetValueAttribute):
77360         (WebCore::AccessibilitySliderThumb::~AccessibilitySliderThumb):
77361         (WebCore::AccessibilitySliderThumb::roleValue):
77362         (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
77363         (WebCore::AccessibilitySliderThumb::setParentObject):
77364         (WebCore::AccessibilitySliderThumb::parentObject):
77365
77366         * accessibility/mac/AccessibilityObjectWrapper.mm:
77367         (RoleEntry::):
77368             SliderThumbRole -> NSAccessibilityValueIndicatorRole
77369         (-[AccessibilityObjectWrapper roleDescription]):
77370             Return role description for NSAccessibilitySliderRole and NSAccessibilityValueIndicatorRole.
77371         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
77372             Minor coding style correction.
77373         (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
77374             If attachement view handles press action, don't also call object wrapper.
77375         (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
77376             New, call object's increment() method.
77377         (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
77378             New, call object's decrement() method.
77379         (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
77380             Respond to NSAccessibilityIncrementAction and NSAccessibilityDecrementAction.
77381
77382         * rendering/RenderSlider.cpp:
77383         (WebCore::RenderSlider::thumbRect):
77384             Factor logic out of layout so AccessibilitySliderThumb can get thumb location/size.
77385         (WebCore::RenderSlider::layout):
77386             Move code to thumbRect().
77387         * rendering/RenderSlider.h:
77388
77389 2009-08-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
77390
77391         Reviewed by Eric Seidel.
77392
77393         Build fix if Netscape plugin support is turned off
77394         https://bugs.webkit.org/show_bug.cgi?id=27940
77395
77396         * plugins/PluginView.cpp:
77397         (WebCore::PluginView::stop): Do not call NPN_MemFree if NPAPI is
77398         disabled
77399         * plugins/PluginViewNone.cpp:
77400         (WebCore::PluginView::platformStart): Empty stub.
77401
77402 2009-07-31  Joe Mason  <joe.mason@torchmobile.com>
77403
77404         Reviewed by George Staikos.
77405
77406         WINCE port: LOAD_WITH_ALTERED_SEARCH_PATH param of LoadLibraryEx not supported on WINCE
77407         https://bugs.webkit.org/show_bug.cgi?id=27917
77408
77409         * plugins/win/PluginPackageWin.cpp:
77410         (WebCore::PluginPackage::load): use LoadLibrary instead of LoadLibraryEx
77411
77412 2009-08-02  Adam Barth  <abarth@webkit.org>
77413         Reviewed by Darin Adler.
77414
77415         SVGElementInstance::scriptExecutionContext should call document() instead of scriptExecutionContext()
77416
77417         https://bugs.webkit.org/show_bug.cgi?id=27932
77418
77419         There's no reason to pay for a virtual function call in this case.  We
77420         can just call document() directly because we know that element is a
77421         Node*.
77422
77423         * svg/SVGElementInstance.cpp:
77424         (WebCore::SVGElementInstance::scriptExecutionContext):
77425
77426 2009-08-02  Adam Barth  <abarth@webkit.org>
77427
77428         Reviewed by Darin Adler.
77429
77430         JSNodeCustom should call document() instead of scriptExecutionContext()
77431         https://bugs.webkit.org/show_bug.cgi?id=27931
77432
77433         We want to call document() because it's in inline function, instead of
77434         scriptExecutionContext() because it's a virtual function.  If we have a
77435         Node*, then we know that the virtual function will always return the
77436         document anyway.
77437
77438         There are more instance of this bug, but I'd like to start with a small
77439         patch and work up.
77440
77441         * bindings/js/JSDOMGlobalObject.cpp:
77442         (WebCore::toJSDOMGlobalObject):
77443         * bindings/js/JSDOMGlobalObject.h:
77444         * bindings/js/JSNodeCustom.cpp:
77445         (WebCore::JSNode::addEventListener):
77446         (WebCore::JSNode::removeEventListener):
77447
77448 2009-08-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
77449
77450         Reviewed by Anders Carlsson.
77451
77452         Share implementation of PluginView::userAgent() and userAgentStatic()
77453
77454         https://bugs.webkit.org/show_bug.cgi?id=27706
77455
77456         Differences to the original implementation are as follows:
77457         
77458             - The Win port used to return 0 for userAgentStatic, but now
77459               returns the quirk mode MozillaUserAgent as the other ports.
77460
77461         * plugins/PluginView.cpp:
77462         (WebCore::PluginView::userAgent):
77463         (WebCore::PluginView::userAgentStatic):
77464         * plugins/PluginViewNone.cpp:
77465         * plugins/gtk/PluginViewGtk.cpp:
77466         * plugins/mac/PluginViewMac.cpp:
77467         * plugins/qt/PluginViewQt.cpp:
77468         * plugins/win/PluginViewWin.cpp:
77469
77470 2009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
77471
77472         Reviewed by Anders Carlsson.
77473
77474         Unregister plugin from PluginMainThreadScheduler if NPP_New fails
77475         
77476         https://bugs.webkit.org/show_bug.cgi?id=27706
77477         
77478         Since the plugin has not been started yet (m_isStarted is not set),
77479         calling stop() will not have any affect, so we manually unregister
77480         in start() before returning.
77481
77482         * plugins/PluginView.cpp:
77483         (WebCore::PluginView::start):
77484
77485 2009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
77486
77487         Reviewed by Anders Carlsson.
77488
77489         Join the various versions of PluginView::stop() into one shared implementation
77490
77491         https://bugs.webkit.org/show_bug.cgi?id=27706
77492
77493         The platform-dependent bits are now ifdef'ed in the shared implementation,
77494         using the XP_ defines (XP_WIN, XP_MACOSX, XP_UNIX) from npapi.h
77495         
77496         Differences to the original implementation are as follows:
77497
77498             - The Qt port unregistered the plugin before calling NP_SetWindow
77499               with a 0 window handle. Now it's done after (similar to Win)
77500
77501             - The GTK and Qt ports unregistered the plugin before clearing
77502               the m_npWindow.ws_info struct. Now it's done after.
77503               
77504             - The Win port constructed the DropAllLocks after unsubclassing
77505               the window. Now it's done before.
77506               
77507             - The Mac, Qt, and GTK ports did not pass a NPSavedData struct
77508               to NP_Destroy (like the Win port). Now all ports do.
77509
77510             - The Win port did not call PluginView::setCurrentPluginView()
77511               before calling to NP-functions. Now it does.     
77512
77513         * plugins/PluginView.cpp:
77514         * plugins/PluginViewNone.cpp:
77515         * plugins/gtk/PluginViewGtk.cpp:
77516         * plugins/mac/PluginViewMac.cpp:
77517         * plugins/qt/PluginViewQt.cpp:
77518         * plugins/win/PluginViewWin.cpp:
77519
77520 2009-07-30  Joseph Pecoraro  <joepeck02@gmail.com>
77521
77522         Reviewed by Timothy Hatcher.
77523
77524         Inspector: let me *edit* css styles in the web inspector.
77525         https://bugs.webkit.org/show_bug.cgi?id=27124
77526
77527         * English.lproj/localizedStrings.js:
77528         * inspector/front-end/ElementsPanel.js:
77529         (WebInspector.ElementsPanel): added property stylesheet pointing to 1 stylesheet added to the page if needed
77530         * inspector/front-end/StylesSidebarPane.js:
77531         (WebInspector.StylesSidebarPane.prototype.update): handle blank sections
77532         (WebInspector.StylesSidebarPane.prototype.addBlankSection): blank section in the correct position
77533         (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): helper to get a nice selector for the selectd node
77534         (WebInspector.StylePropertiesSection):
77535         (WebInspector.StylePropertiesSection.prototype.expand):
77536         (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
77537         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
77538         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
77539         (WebInspector.StylePropertiesSection.prototype._dblclickEmptySpace): easily create new properties
77540         (WebInspector.StylePropertiesSection.prototype._dblclickSelector):
77541         (WebInspector.StylePropertiesSection.prototype.startEditingSelector): allow for editing selectors
77542         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
77543         (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
77544         (WebInspector.StylePropertiesSection.prototype._doesSelectorAffectSelectedNode): helper to check if a selector applies to the selected node
77545         (WebInspector.BlankStylePropertiesSection.prototype._dblclick):
77546         (WebInspector.BlankStylePropertiesSection.prototype.startEditing):
77547         (WebInspector.BlankStylePropertiesSection.prototype.editingCancelled):
77548         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
77549         (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): morph into a StylePropertiesSection
77550         (WebInspector.StylePropertyTreeElement.prototype):
77551         (WebInspector.StylePropertyTreeElement.prototype.):
77552         * inspector/front-end/inspector.css:
77553
77554 2009-07-31  Anton Muhin  <antonm@chromium.org>
77555
77556         Reviewed by Adam Barth.
77557
77558         [v8] check if proxy is present before invoking a handler
77559         https://bugs.webkit.org/show_bug.cgi?id=27883 
77560
77561         Do not invoke handler function if proxy is null pointer (that would lead to access violation
77562         anyway)
77563
77564         * bindings/v8/custom/V8CustomEventListener.cpp:
77565         (WebCore::V8EventListener::callListenerFunction):
77566
77567 2009-08-01  Pavel Feldman  <pfeldman@chromium.org>
77568
77569         Reviewed by Timothy Hatcher.
77570
77571         Web Inspector: Reimplement Elements Panel so that its
77572         interaction with DOM is serialized.
77573
77574         This is a first cut wuth read support for DOM elements
77575         tree as well as some limited editing. No properties, no
77576         styles, no search capabilities are implemented yet.
77577         Set Preferences.useDOMAgent to true in order to try it
77578         out, otherwise disabled by default.
77579
77580         https://bugs.webkit.org/show_bug.cgi?id=27771
77581
77582         * GNUmakefile.am:
77583         * WebCore.gypi:
77584         * WebCore.pro:
77585         * WebCore.vcproj/WebCore.vcproj:
77586         * WebCore.xcodeproj/project.pbxproj:
77587         * WebCoreSources.bkl:
77588         * inspector/InspectorBackend.cpp:
77589         (WebCore::InspectorBackend::getChildNodes):
77590         (WebCore::InspectorBackend::setAttribute):
77591         (WebCore::InspectorBackend::removeAttribute):
77592         (WebCore::InspectorBackend::setTextNodeValue):
77593         * inspector/InspectorBackend.h:
77594         * inspector/InspectorBackend.idl:
77595         * inspector/InspectorController.cpp:
77596         (WebCore::InspectorController::windowScriptObjectAvailable):
77597         (WebCore::InspectorController::setFrontendProxyObject):
77598         (WebCore::InspectorController::close):
77599         (WebCore::InspectorController::populateScriptObjects):
77600         (WebCore::InspectorController::didCommitLoad):
77601         * inspector/InspectorController.h:
77602         (WebCore::InspectorController::domAgent):
77603         * inspector/InspectorDOMAgent.cpp: Added.
77604         * inspector/InspectorDOMAgent.h: Added.
77605         * inspector/InspectorFrontend.cpp:
77606         * inspector/InspectorFrontend.h:
77607         * inspector/front-end/Callback.js: Added.
77608         * inspector/front-end/DOMAgent.js: Added.
77609         * inspector/front-end/ElementsPanel.js:
77610         * inspector/front-end/WebKit.qrc:
77611         * inspector/front-end/inspector.html:
77612         * inspector/front-end/inspector.js:
77613         (WebInspector.loaded):
77614
77615 2009-08-01  Ryosuke Niwa  <rniwa@webkit.org>
77616
77617         Reviewed by Adele Peterson.
77618
77619         isContentEditable function in htmlediting.* must be removed
77620         https://bugs.webkit.org/show_bug.cgi?id=27870
77621
77622         This patch removes isContentEditable function in htmlediting.cpp and
77623         replaces all usage by calling Node::isContentEditable or its derivatives.
77624
77625         * editing/AppendNodeCommand.cpp: ditto
77626         (WebCore::AppendNodeCommand::AppendNodeCommand): ditto
77627         * editing/IndentOutdentCommand.cpp: ditto
77628         (WebCore::IndentOutdentCommand::outdentParagraph): ditto
77629         * editing/InsertNodeBeforeCommand.cpp: ditto
77630         (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): ditto
77631         * editing/htmlediting.cpp: ditto
77632         (WebCore::enclosingNodeWithTag): ditto
77633         (WebCore::enclosingNodeOfType): ditto
77634         (WebCore::canMergeLists): ditto
77635         * editing/htmlediting.h: Updated prototype
77636
77637 2009-08-01  John Abd-El-Malek  <jam@chromium.org>
77638
77639         Reviewed by Adam Barth.
77640
77641         Fix a message port handle always getting marked as reachable once it gets entangled.
77642
77643         https://bugs.webkit.org/show_bug.cgi?id=27824
77644
77645         No tests since this only arises with the Chromium multi-process message port implementation
77646         which isn't in this repostiory.
77647
77648         * bindings/v8/V8GCController.cpp:
77649         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
77650
77651 2009-07-31  Yong Li  <yong.li@torchmobile.com>
77652
77653         Reviewed by Adam Barth.
77654
77655         Fix Geolocation permission problem
77656         https://bugs.webkit.org/show_bug.cgi?id=26993
77657
77658         * page/Geolocation.cpp:
77659         (WebCore::Geolocation::requestPermission):
77660
77661 2009-07-31  Norbert Leser  <norbert.leser@nokia.com>
77662
77663         Reviewed by Eric Seidel.
77664
77665         Added project properties as needed by symbian platform
77666
77667         * WebCore.pro:
77668
77669 2009-07-31  Xan Lopez  <xlopez@igalia.com>
77670
77671         Reviewed by Holger Freyther.
77672
77673         Fix compiler warning.
77674
77675         Initialize member variables in the correct order.
77676
77677         * plugins/PluginView.cpp:
77678         (WebCore::PluginView::PluginView):
77679
77680 2009-07-31  Jon Honeycutt  <jhoneycutt@apple.com>
77681
77682         Windows build fix!
77683
77684         Unreviewed.
77685
77686         * page/win/PageWin.cpp:
77687
77688 2009-07-31  Jon Honeycutt  <jhoneycutt@apple.com>
77689
77690         Mac build fix.
77691
77692         Unreviewed.
77693
77694         * page/Page.cpp:
77695         Move setCanStartPlugins() from here...
77696         * page/win/PageWin.cpp:
77697         (WebCore::Page::setCanStartPlugins):
77698         ... to here.
77699
77700 2009-07-29  Jon Honeycutt  <jhoneycutt@apple.com>
77701
77702         <rdar://problem/5698113> Safari shouldn't auto-activate plug-ins in
77703         background tabs (make Win consistent with Mac)
77704
77705         https://bugs.webkit.org/show_bug.cgi?id=27855
77706
77707         Reviewed by Anders Carlsson.
77708
77709         * loader/FrameLoaderClient.h:
77710         (WebCore::FrameLoaderClient::dispatchDidFailToStartPlugin):
77711         Declare a new function to dispatch failures to start plug-ins.
77712
77713         * page/Page.cpp:
77714         (WebCore::Page::Page):
77715         Initialize new member variable.
77716         (WebCore::Page::addUnstartedPlugin):
77717         Add the PluginView to the set of unstarted plug-ins.
77718         (WebCore::Page::removeUnstartedPlugin):
77719         Remove the PluginView from the set of unstarted plug-ins.
77720         (WebCore::Page::setCanStartPlugins):
77721         If we can now start plug-ins, iterate the set of unstarted plug-ins,
77722         starting them. If a plug-in fails to start, dispatch a failed-to-start-
77723         plug-in error. Clear the list of unstarted plug-ins.
77724
77725         * page/Page.h:
77726         Added m_canStartPlugins to track whether we can currently start
77727         plug-ins. Added m_unstartedPlugins to keep track of plug-ins in the
77728         page that are waiting to be started.
77729         (WebCore::Page::canStartPlugins):
77730
77731         * plugins/PluginView.cpp:
77732         (WebCore::PluginView::start):
77733         m_mimeType is now a WebCore::String, so we call .utf8(). If NPP_New()
77734         fails, set m_status to reflect this; this used to be set by init(), but
77735         start() will not be called by init() if we are delaying start().
77736         If NPP_New() succeeds, set m_status to reflect this, and call
77737         platformStart().
77738         (WebCore::PluginView::startOrAddToUnstartedList):
77739         If we cannot start plug-ins, add this view to the Page's list of
77740         unstarted plug-ins and return true. Otherwise, call start() and return
77741         the result.
77742         (WebCore::PluginView::removeFromUnstartedListIfNecessary):
77743         If we've been started or we don't have a Page, return early. Remove
77744         ourselves from the Page's list of unstarted plug-ins.
77745         (WebCore::PluginView::bindingInstance):
77746         If we haven't been started yet, return 0. This matches the Mac
77747         behavior.
77748         (WebCore::PluginView::setParameters):
77749         If we find the "plug-ins page" parameter, record it; it may be used if
77750         we fail to start the plug-in.
77751         (WebCore::PluginView::PluginView):
77752         Initialize new members m_haveUpdatedPluginWidget. Initialize m_mimeType
77753         with mimeType directly; m_mimeType is now a WebCore::String.
77754
77755         * plugins/PluginView.h:
77756         Made start() public, so Page can call it when we start unstarted
77757         plug-ins. Changed m_mimeType from CString to String and added
77758         m_pluginsPage; these are needed by dispatchDidFailToStartPlugin().
77759         (WebCore::PluginView::pluginsPage):
77760         Added for dispatchDidFailToStartPlugin().
77761         (WebCore::PluginView::mimeType):
77762         Ditto.
77763         (WebCore::PluginView::url):
77764         Ditto.
77765
77766         * plugins/gtk/PluginViewGtk.cpp:
77767         (WebCore::PluginView::platformStart):
77768         Stubbed.
77769
77770         * plugins/mac/PluginViewMac.cpp:
77771         (WebCore::PluginView::platformStart):
77772         Stubbed.
77773
77774         * plugins/qt/PluginViewQt.cpp:
77775         (WebCore::PluginView::platformStart):
77776         Stubbed.
77777
77778         * plugins/win/PluginViewWin.cpp:
77779         (WebCore::PluginView::updatePluginWidget):
77780         Use m_haveUpdatedPluginWidget to ensure that we will call MoveWindow()
77781         and SetWindowRgn() to position the plug-in and set its clip rect if an
77782         earlier call to updatePluginWidget() was made before
77783         setPlatformPluginWidget() was called to set the plug-in's HWND.
77784         (WebCore::PluginView::~PluginView):
77785         Call removeFromUnstartedListIfNecessary() to remove the plug-in from
77786         the unstarted list if the plug-in is destroyed before it is started.
77787         (WebCore::PluginView::init):
77788         Call startOrAddtoUnstartedList to start the plug-in or, if plug-ins
77789         cannot be started, to add it to the list of plug-ins waiting to be
77790         started. Set m_status to indicate success; this is also set by start(),
77791         but that may be delayed, and we don't want the loader to dispatch a
77792         failed-to-start-plug-in error when we return from init().
77793         (WebCore::PluginView::platformStart):
77794         Added; code moved from init(). This is now called by start() to perform
77795         any platform-specific tasks that need to take place after the plug-in
77796         has started. Added a call to updatePluginWidget() to ensure we position
77797         the plug-in and set its clip rect after the plug-in has started.
77798         Removed the setting of m_status; start() does this before calling this
77799         function (and we assert this at the head of the function).
77800
77801 2009-07-30  Darin Adler  <darin@apple.com>
77802
77803         Reviewed by David Levin.
77804
77805         Use checked casts for render tree
77806         https://bugs.webkit.org/show_bug.cgi?id=23522
77807
77808         Next step: Add casts for all the RenderTable classes and use them everywhere.
77809
77810         Also added a few uses in places that were still using static_cast.
77811         Also made some virtual member functions private.
77812         Also changed RenderTable::m_tableLayout to use OwnPtr.
77813
77814         * accessibility/AccessibilityTable.cpp:
77815         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
77816         (WebCore::AccessibilityTable::addChildren):
77817         (WebCore::AccessibilityTable::cellForColumnAndRow):
77818         * accessibility/AccessibilityTableCell.cpp:
77819         (WebCore::AccessibilityTableCell::parentTable):
77820         (WebCore::AccessibilityTableCell::rowIndexRange):
77821         (WebCore::AccessibilityTableCell::columnIndexRange):
77822         (WebCore::AccessibilityTableCell::titleUIElement):
77823         * accessibility/AccessibilityTableColumn.cpp:
77824         (WebCore::AccessibilityTableColumn::headerObject):
77825         * accessibility/AccessibilityTableRow.cpp:
77826         (WebCore::AccessibilityTableRow::parentTable):
77827         * editing/DeleteSelectionCommand.cpp:
77828         (WebCore::DeleteSelectionCommand::removeNode):
77829         * editing/TextIterator.cpp:
77830         (WebCore::shouldEmitTabBeforeNode):
77831         (WebCore::shouldEmitNewlinesBeforeAndAfterNode):
77832         * html/HTMLTableCellElement.cpp:
77833         (WebCore::HTMLTableCellElement::parseMappedAttribute):
77834         * html/HTMLTableColElement.cpp:
77835         (WebCore::HTMLTableColElement::parseMappedAttribute):
77836         * page/Frame.cpp:
77837         (WebCore::Frame::searchForLabelsAboveCell):
77838         * page/mac/FrameMac.mm:
77839         (WebCore::Frame::searchForNSLabelsAboveCell):
77840         * rendering/AutoTableLayout.cpp:
77841         (WebCore::AutoTableLayout::recalcColumn):
77842         (WebCore::AutoTableLayout::fullRecalc):
77843         (WebCore::shouldScaleColumns):
77844         * rendering/FixedTableLayout.cpp:
77845         (WebCore::FixedTableLayout::calcWidthArray):
77846         * rendering/RenderBlock.cpp:
77847         (WebCore::RenderBlock::calcPrefWidths):
77848         * rendering/RenderBox.cpp:
77849         (WebCore::RenderBox::calcPercentageHeight):
77850         * rendering/RenderObject.cpp:
77851         (WebCore::RenderObject::addChild):
77852         (WebCore::RenderObject::containingBlock):
77853         * rendering/RenderTableCell.cpp:
77854         (WebCore::RenderTableCell::collapsedBottomBorder):
77855         * rendering/RenderTableCol.cpp:
77856         (WebCore::RenderTableCol::table):
77857         * rendering/RenderTableRow.cpp:
77858         (WebCore::RenderTableRow::addChild):
77859         (WebCore::RenderTableRow::layout):
77860         (WebCore::RenderTableRow::paint):
77861         * rendering/RenderTableSection.cpp:
77862         (WebCore::RenderTableSection::addChild):
77863         (WebCore::RenderTableSection::layoutRows):
77864         (WebCore::RenderTableSection::lowestPosition):
77865         (WebCore::RenderTableSection::rightmostPosition):
77866         (WebCore::RenderTableSection::leftmostPosition):
77867         (WebCore::RenderTableSection::paintObject):
77868         (WebCore::RenderTableSection::recalcCells):
77869         * rendering/RenderTreeAsText.cpp:
77870         (WebCore::operator<<):
77871         (WebCore::writeTextRun):
77872         Use checked casts.
77873
77874         * rendering/RenderTable.cpp:
77875         (WebCore::RenderTable::styleDidChange): Updated to use OwnPtr.
77876         (WebCore::RenderTable::addChild): Use checked cast.
77877         (WebCore::RenderTable::layout): Ditto.
77878         (WebCore::RenderTable::setCellWidths): Ditto.
77879         (WebCore::RenderTable::paintObject): Ditto.
77880         (WebCore::RenderTable::splitColumn): Ditto.
77881         (WebCore::RenderTable::appendColumn): Ditto.
77882         (WebCore::RenderTable::colElement): Ditto.
77883         (WebCore::RenderTable::recalcSections): Ditto.
77884         (WebCore::RenderTable::outerBorderBottom): Ditto.
77885         (WebCore::RenderTable::outerBorderLeft): Ditto.
77886         (WebCore::RenderTable::outerBorderRight): Ditto.
77887         (WebCore::RenderTable::sectionAbove): Ditto.
77888         (WebCore::RenderTable::sectionBelow): Ditto.
77889
77890         * rendering/RenderTable.h: Added checked cast. Made virtual
77891         functions private. Changed m_tableLayout to be a OwnPtr.
77892
77893         * rendering/RenderTableCell.h: Added checked cast.
77894         * rendering/RenderTableCol.h: Ditto. Made virtual functions private.
77895         * rendering/RenderTableRow.h: Ditto.
77896         * rendering/RenderTableSection.h: Ditto.
77897
77898 2009-07-31  Brady Eidson  <beidson@apple.com>
77899
77900         Reviewed by John Sullivan.
77901
77902         <rdar://problem/6973106> and https://bugs.webkit.org/show_bug.cgi?id=27896
77903         Favicons are still loaded when automatic image loading is disabled.
77904
77905         People who want to avoid loading images generally want to avoid loading all images.
77906
77907         Test: http/tests/misc/favicon-loads-with-images-disabled.html
77908
77909         * loader/FrameLoader.cpp:
77910         (WebCore::FrameLoader::startIconLoader): After committing the URL mapping, don't actually 
77911           perform the load if images shouldn't be loading.
77912
77913 2009-07-31  Simon Fraser  <simon.fraser@apple.com>
77914
77915         Reviewed by Anders Carlsson.
77916         
77917         Accelerated animations stutter on pages with lots of animations and 3d transforms
77918         https://bugs.webkit.org/show_bug.cgi?id=27884
77919         
77920         This patch changes the strategy for synchronizing painting view the view,
77921         and compositing layer updates. Previously the strategy was to disable screen
77922         updates between the time we updated the layer tree, and painted the view. That
77923         left screen updates disabled for too long (hundreds of milliseconds) in some
77924         cases, causing animation stutter.
77925         
77926         The new strategy is to batch up changes to the CA layer tree, and commit them
77927         all at once just before painting happens (referred to as a "sync" in the code).
77928         GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates
77929         the values stored in GraphicsLayer into the CA layer tree at commit time.
77930         
77931         Compositing layers are then synced in FrameView::paintContents(). However, not
77932         all style/layout changes will result in painting; to deal with style changes that
77933         touch only compositing properties, we set up a runloop observer that takes care
77934         of comitting layer changes when no painting happens.
77935
77936         * WebCore.base.exp: Export FrameView::syncCompositingStateRecursive()
77937
77938         * loader/EmptyClients.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive()
77939         * page/ChromeClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive()
77940
77941         * page/FrameView.h:
77942         * page/FrameView.cpp:
77943         (WebCore::FrameView::syncCompositingStateRecursive): syncCompositingState() on the
77944         view and all subviews. Like layoutIfNeededRecursive(). If layout is pending, does not
77945         sync and returns false, since we only want to sync when layout is done.
77946         
77947         (WebCore::FrameView::paintContents): syncCompositingState() before painting.
77948
77949         * page/animation/KeyframeAnimation.cpp:
77950         (WebCore::KeyframeAnimation::endAnimation):
77951         Call animationPaused() to notify the graphics layers about animation pausing.
77952         
77953         * platform/graphics/FloatPoint3D.h:
77954         (WebCore::operator==):
77955         (WebCore::operator!=): 
77956         Add missing comparison operators.
77957         
77958         * platform/graphics/GraphicsLayer.cpp:
77959         (WebCore::GraphicsLayer::setOpacity):
77960         (WebCore::GraphicsLayer::setBackgroundColor): Simple setters no longer care about animation info.
77961         
77962         (WebCore::GraphicsLayer::paintGraphicsLayerContents): Null-check client.
77963         
77964         * platform/graphics/GraphicsLayer.h:
77965         (WebCore::AnimationValue:):
77966         (WebCore::TransformAnimationValue:):
77967         (WebCore::KeyframeValueList:):
77968         (WebCore::KeyframeValueList::insert):
77969         Cleaned up versions of FloatValue and TransformValue, used to store information
77970         about keyframes values.
77971
77972         (WebCore::GraphicsLayer::contentsRect):
77973         (WebCore::GraphicsLayer::setContentsRect):
77974         ContentsRect is now a simple setter.
77975         
77976         (WebCore::GraphicsLayer::addAnimation):
77977         (WebCore::GraphicsLayer::removeAnimationsForProperty):
77978         (WebCore::GraphicsLayer::removeAnimationsForKeyframes):
77979         (WebCore::GraphicsLayer::pauseAnimation):
77980         Simplified animation api.
77981         
77982         (WebCore::GraphicsLayer::setGeometryOrientation):
77983         (WebCore::GraphicsLayer::geometryOrientation):
77984         setGeometryOrientation is now just a normal member variable.
77985         
77986         (WebCore::GraphicsLayer::contentsOrientation): add a getter.
77987         (WebCore::GraphicsLayer::syncCompositingState): Entry into the layer sync code.
77988         
77989         * platform/graphics/GraphicsLayerClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive)
77990
77991         * platform/graphics/mac/GraphicsLayerCA.h:
77992         * platform/graphics/mac/GraphicsLayerCA.mm:
77993         Lots of cleanup and refactoring. Main points:
77994         - Layer changes are all batched, and only committed to the CA layer on syncCompositingState().
77995         - Bitmask is used to store which properties have changed. More efficient than before.
77996         - Simpler animation interface; simple setters are no longer confounded with animations.
77997         - Refactored code that creates CA animations, and stores which animations are running.
77998
77999         * platform/graphics/transforms/TransformOperations.h:
78000         (WebCore::TransformOperations::size):
78001         (WebCore::TransformOperations::at): Useful accessors for size and indexed access.
78002         
78003         * rendering/RenderLayerBacking.h:
78004         * rendering/RenderLayerBacking.cpp:
78005         Renamed 'contentsLayer' to 'foregroundLayer' to avoid confusion with GraphicsLayer's
78006         contentsLayer.
78007         Adapt to GraphicsLayer's simpler animation API.
78008         Pass animation pausing through to the graphics layers.
78009         contentsBox() is no longer a callback via GraphicsLayerClient.
78010         
78011         * rendering/RenderLayerCompositor.h:
78012         * rendering/RenderLayerCompositor.cpp:
78013         (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
78014         (WebCore::RenderLayerCompositor::scheduleSync):
78015         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
78016         scheduleViewUpdate() is no longer required. Instead, we plumb through "compositingLayerSync"
78017         notifications, which travel up to WebKit and set up a runloop observer.
78018         
78019 2009-07-30  Jeremy Orlow  <jorlow@chromium.org>
78020
78021         Reviewed by David Levin.
78022
78023         Guard needs //'s between #endif and ENABLE(DATAGRID)
78024         https://bugs.webkit.org/show_bug.cgi?id=27862
78025
78026         Compiling this file causes a build break without this change.
78027
78028         * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
78029
78030 2009-07-31  Greg Bolsinga  <bolsinga@apple.com>
78031
78032         Reviewed by Eric Seidel.
78033
78034         Geolocation clean up when no longer updating
78035         https://bugs.webkit.org/show_bug.cgi?id=27888
78036
78037         When Geolocation::disconnectFrame() is called, need to call 
78038         Document::setUsingGeolocation(false) to mirror the true call 
78039         when it is set up.
78040
78041         When handling an error, and there are no more listeners, call
78042         GeolocationService::stopUpdating().
78043
78044         * page/Geolocation.cpp:
78045         (WebCore::Geolocation::disconnectFrame):
78046         (WebCore::Geolocation::handleError):
78047
78048 2009-07-31  Greg Bolsinga  <bolsinga@apple.com>
78049
78050         Reviewed by George Staikos.
78051
78052         Consolidate GeoLocation code to send positions and errors
78053         https://bugs.webkit.org/show_bug.cgi?id=27863
78054         
78055         Create helper methods that will send positions and errors to either
78056         one shots or watchers.
78057
78058         * page/Geolocation.cpp:
78059         (WebCore::Geolocation::sendError):
78060         (WebCore::Geolocation::sendErrorToOneShots):
78061         (WebCore::Geolocation::sendErrorToWatchers):
78062         (WebCore::Geolocation::sendPosition):
78063         (WebCore::Geolocation::sendPositionToOneShots):
78064         (WebCore::Geolocation::sendPositionToWatchers):
78065         * page/Geolocation.h:
78066
78067 2009-07-31  Xan Lopez  <xlopez@igalia.com>
78068
78069         Roll out previous change as it might be causing some weirdness in
78070         the bots.
78071
78072         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
78073         (WebCore::BMPImageDecoder::processFileHeader):
78074
78075 2009-07-31  Xan Lopez  <xlopez@igalia.com>
78076
78077         Reviewed by Mark Rowe.
78078
78079         Fix compiler warning.
78080         https://bugs.webkit.org/show_bug.cgi?id=27851
78081
78082         GCC does not like multi-character character constants, so use the
78083         explicit numerical value of 'BM' in the enum.
78084
78085         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
78086         (WebCore::BMPImageDecoder::processFileHeader):
78087
78088 2009-07-30  Brady Eidson  <beidson@apple.com>
78089
78090         Reviewed by Mark Rowe, but Dan Bernstein also reviewed and asked thoughtful questions.
78091
78092         <rdar://problem/7106968> and https://bugs.webkit.org/show_bug.cgi?id=27868
78093         http://www.ruthhuntcandy.com/ goes into infinite refresh in WebKit, works in others.
78094         
78095         Test: http/tests/misc/meta-refresh-stray-single-quote.html
78096
78097         * platform/network/HTTPParsers.cpp:
78098         (WebCore::parseHTTPRefresh): Allow for a stray quote character at the start of the URL string.
78099
78100 2009-07-30  Mark Rowe  <mrowe@apple.com>
78101
78102         Reviewed by Adele Peterson and Jon Honeycutt.
78103
78104         Fix <https://bugs.webkit.org/show_bug.cgi?id=27828> for Mac.
78105         Bug 27828: Title attribute is not respected on option elements
78106
78107         No tests added as it is not clear how to test a tool tip from DumpRenderTree.
78108
78109         * platform/PopupMenuClient.h: Add a method for retrieving the tool tip of an item.
78110         * platform/mac/PopupMenuMac.mm:
78111         (WebCore::PopupMenu::populate): Set the tool tip of the menu item to that of the represented item.
78112         * rendering/RenderMenuList.cpp:
78113         (WebCore::RenderMenuList::itemToolTip): Expose the title attribute of the element as the tool tip.
78114         * rendering/RenderMenuList.h:
78115         * rendering/RenderTextControlSingleLine.h:
78116         (WebCore::RenderTextControlSingleLine::itemToolTip): Return an empty string, indicating no tool tip, for
78117         the popup menu in RenderTextControlSingleLine.
78118
78119 2009-07-30  Xiaomei Ji  <xji@chromium.org>
78120
78121         Reviewed by Dan Bernstein.
78122
78123         Remove ChromeClientChromium::setToolTip().
78124         https://bugs.webkit.org/show_bug.cgi?id=27861
78125
78126         This patch is just to remove a temporarily introduced overloaded empty
78127         virtual function. No test is needed.
78128
78129         * page/chromium/ChromeClientChromium.h:
78130
78131 2009-07-30  Michael Nordman  <michaeln@google.com>
78132
78133         Reviewed by Darin Fisher.
78134
78135         https://bugs.webkit.org/show_bug.cgi?id=27821
78136
78137         ApplicationCacheHost refactoring.
78138         
78139         1) Better encapsulate the interfaces between webcore common code
78140         and the appcache system within a new class ApplicationCacheHost.
78141
78142         2) Use that interface throughout the loader system, replacing inline appcache logic.
78143
78144         3) Implement the interface in terms of webcore's appcache system.
78145
78146         4) Add the new files to various makefiles.
78147
78148         5) Implement protocolHostAndPortAreEqual() in KURLGoogle.cpp
78149
78150         No new features, no new tests. The existing layout tests all pass.
78151
78152         * GNUmakefile.am:
78153         * WebCore.base.exp:
78154         * WebCore.gypi:
78155         * WebCore.pro:
78156         * WebCore.vcproj/WebCore.vcproj:
78157         * WebCore.xcodeproj/project.pbxproj:
78158         * WebCoreSources.bkl:
78159         * html/HTMLHtmlElement.cpp:
78160         (WebCore::HTMLHtmlElement::insertedIntoDocument):
78161         * loader/DocumentLoader.cpp:
78162         (WebCore::DocumentLoader::DocumentLoader):
78163         (WebCore::DocumentLoader::~DocumentLoader):
78164         (WebCore::DocumentLoader::mainReceivedError):
78165         (WebCore::DocumentLoader::detachFromFrame):
78166         (WebCore::DocumentLoader::setPrimaryLoadComplete):
78167         * loader/DocumentLoader.h:
78168         (WebCore::DocumentLoader::applicationCacheHost):
78169         * loader/FrameLoader.cpp:
78170         (WebCore::FrameLoader::canCachePageContainingThisFrame):
78171         (WebCore::FrameLoader::logCanCacheFrameDecision):
78172         (WebCore::FrameLoader::loadResourceSynchronously):
78173         * loader/MainResourceLoader.cpp:
78174         (WebCore::MainResourceLoader::didReceiveResponse):
78175         (WebCore::MainResourceLoader::didReceiveData):
78176         (WebCore::MainResourceLoader::didFinishLoading):
78177         (WebCore::MainResourceLoader::didFail):
78178         (WebCore::MainResourceLoader::load):
78179         * loader/MainResourceLoader.h:
78180         * loader/ResourceLoader.cpp:
78181         (WebCore::ResourceLoader::load):
78182         (WebCore::ResourceLoader::willSendRequest):
78183         (WebCore::ResourceLoader::didReceiveResponse):
78184         (WebCore::ResourceLoader::didFail):
78185         * loader/ResourceLoader.h:
78186         * loader/appcache/ApplicationCacheGroup.cpp:
78187         (WebCore::ApplicationCacheGroup::selectCache):
78188         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
78189         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
78190         (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
78191         (WebCore::ApplicationCacheGroup::disassociateDocumentLoader):
78192         (WebCore::ApplicationCacheGroup::update):
78193         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
78194         (WebCore::ApplicationCacheGroup::manifestNotFound):
78195         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
78196         (WebCore::ApplicationCacheGroup::startLoadingEntry):
78197         (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
78198         (WebCore::CallCacheListenerTask::create):
78199         (WebCore::CallCacheListenerTask::performTask):
78200         (WebCore::CallCacheListenerTask::CallCacheListenerTask):
78201         (WebCore::ApplicationCacheGroup::postListenerTask):
78202         * loader/appcache/ApplicationCacheGroup.h:
78203         * loader/appcache/ApplicationCacheHost.cpp: Added.
78204         * loader/appcache/ApplicationCacheHost.h: Added.
78205         * loader/appcache/ApplicationCacheStorage.cpp:
78206         (WebCore::ApplicationCacheStorage::transferApplicationCache):
78207         * loader/appcache/ApplicationCacheStorage.h:
78208         * loader/appcache/DOMApplicationCache.cpp:
78209         (WebCore::DOMApplicationCache::DOMApplicationCache):
78210         (WebCore::DOMApplicationCache::disconnectFrame):
78211         (WebCore::DOMApplicationCache::applicationCacheHost):
78212         (WebCore::DOMApplicationCache::status):
78213         (WebCore::DOMApplicationCache::update):
78214         (WebCore::DOMApplicationCache::swapCache):
78215         (WebCore::DOMApplicationCache::addEventListener):
78216         (WebCore::DOMApplicationCache::removeEventListener):
78217         (WebCore::DOMApplicationCache::dispatchEvent):
78218         (WebCore::DOMApplicationCache::callListener):
78219         (WebCore::DOMApplicationCache::toEventName):
78220         (WebCore::DOMApplicationCache::toEventType):
78221         * loader/appcache/DOMApplicationCache.h:
78222         (WebCore::DOMApplicationCache::):
78223         (WebCore::DOMApplicationCache::setAttributeEventListener):
78224         (WebCore::DOMApplicationCache::getAttributeEventListener):
78225         (WebCore::DOMApplicationCache::clearAttributeEventListener):
78226         (WebCore::DOMApplicationCache::callEventListener):
78227         (WebCore::DOMApplicationCache::setOnchecking):
78228         (WebCore::DOMApplicationCache::onchecking):
78229         (WebCore::DOMApplicationCache::setOnerror):
78230         (WebCore::DOMApplicationCache::onerror):
78231         (WebCore::DOMApplicationCache::setOnnoupdate):
78232         (WebCore::DOMApplicationCache::onnoupdate):
78233         (WebCore::DOMApplicationCache::setOndownloading):
78234         (WebCore::DOMApplicationCache::ondownloading):
78235         (WebCore::DOMApplicationCache::setOnprogress):
78236         (WebCore::DOMApplicationCache::onprogress):
78237         (WebCore::DOMApplicationCache::setOnupdateready):
78238         (WebCore::DOMApplicationCache::onupdateready):
78239         (WebCore::DOMApplicationCache::setOncached):
78240         (WebCore::DOMApplicationCache::oncached):
78241         (WebCore::DOMApplicationCache::setOnobsolete):
78242         (WebCore::DOMApplicationCache::onobsolete):
78243         (WebCore::DOMApplicationCache::~DOMApplicationCache):
78244         * platform/KURLGoogle.cpp:
78245         (WebCore::protocolHostAndPortAreEqual):
78246
78247 2009-07-30  Chris Fleizach  <cfleizach@apple.com>
78248
78249         Reviewed by Darin Adler.
78250
78251         Bug 27854 - crash at WebCore::AXObjectCache::notificationPostTimerFired
78252         https://bugs.webkit.org/show_bug.cgi?id=27854
78253
78254         AccessibilityObjects need to be retained while waiting to fire their notifications, otherwise
78255         they can disappear and then lead to crashes.
78256        
78257         * accessibility/AXObjectCache.cpp:
78258         (WebCore::AXObjectCache::notificationPostTimerFired):
78259         (WebCore::AXObjectCache::postNotification):
78260         * accessibility/AXObjectCache.h:
78261
78262 2009-07-30  Simon Fraser  <simon.fraser@apple.com>
78263
78264         Minor change to earlier commit suggested by Darin Adler.
78265         Use the variable rather than dereferencing 'it' again.
78266
78267         * css/CSSStyleSelector.cpp:
78268         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
78269
78270 2009-07-30  Simon Fraser  <simon.fraser@apple.com>
78271
78272         Reviewed by Dan Bernstein.
78273
78274         Animation with a timing function property in a keyframe eats CPU
78275         https://bugs.webkit.org/show_bug.cgi?id=27856
78276         <rdar://problem/7104476> Animation demo uses lots of CPU
78277         
78278         Don't include animation-timing-function in the list of properties to
78279         animate in a keyframe animation, because this property is not animated;
78280         instead, it describes the timing function to apply to this keyframe.
78281         
78282         This prevents the animation code from thinking that there's a property
78283         that it has to software-animate, and thus firing the animation timer frequently.
78284         
78285         Not testable because there is no visible impact.
78286
78287         * css/CSSStyleSelector.cpp:
78288         (WebCore::CSSStyleSelector::keyframeStylesForAnimation): Don't add
78289         CSSPropertyWebkitAnimationTimingFunction to the list of properties to animate.
78290
78291         * page/animation/KeyframeAnimation.cpp
78292         (WebCore::KeyframeAnimation::getKeyframeAnimationInterval): Add a comment
78293
78294 2009-07-30  Mike Fenton  <mike.fenton@torchmobile.com>
78295
78296          Reviewed by Adam Treat.
78297
78298          Apply colour style to buttons that use Theme settings in Qt.
78299
78300          https://bugs.webkit.org/show_bug.cgi?id=27814
78301
78302          * platform/qt/RenderThemeQt.cpp:
78303          (WebCore::RenderThemeQt::adjustButtonStyle):
78304
78305 2009-05-11  Geoffrey Garen  <ggaren@apple.com>
78306
78307         Reviewed by Sam Weinig.
78308
78309         Make WebCore compile with the new JS number representation.
78310
78311         * ForwardingHeaders/runtime/JSAPIValueWrapper.h: Added.
78312         * ForwardingHeaders/runtime/JSNumberCell.h: Removed.
78313         * bindings/js/ScriptEventListener.cpp:
78314         * bindings/scripts/CodeGeneratorJS.pm:
78315         * bridge/c/c_instance.cpp:
78316
78317 2009-07-30  Dean McNamee  <deanm@chromium.org>
78318
78319         Reviewed by Dimitri Glazkov.
78320
78321         Don't try to hash member function pointers, instead use a precomputed value based on the field.
78322         https://bugs.webkit.org/show_bug.cgi?id=27843
78323
78324         * bindings/scripts/CodeGeneratorV8.pm:
78325         * bindings/v8/V8SVGPODTypeWrapper.h:
78326         (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
78327         (WebCore::PODTypeWrapperCacheInfo::operator==):
78328         (WebCore::PODTypeWrapperCacheInfoHash::hash):
78329         (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
78330
78331 2009-07-30  Xan Lopez  <xlopez@igalia.com>
78332
78333         Reviewed by Simon Fraser.
78334
78335         Fix compiler warning.
78336
78337         * dom/SelectElement.cpp:
78338         (WebCore::SelectElement::menuListDefaultEventHandler):
78339
78340 2009-07-29  Matt Perry  <mpcomplete@chromium.org>
78341
78342         Reviewed by Adam Barth.
78343
78344         Add a way to register V8 extensions for Isolated Worlds only.
78345         https://bugs.webkit.org/show_bug.cgi?id=27785
78346
78347         * bindings/v8/ScriptController.cpp:
78348         (WebCore::ScriptController::evaluateInNewWorld):
78349         (WebCore::ScriptController::evaluateInNewContext):
78350         * bindings/v8/ScriptController.h:
78351         * bindings/v8/V8IsolatedWorld.cpp:
78352         (WebCore::V8IsolatedWorld::evaluate):
78353         * bindings/v8/V8IsolatedWorld.h:
78354         * bindings/v8/V8Proxy.cpp:
78355         (WebCore::V8Proxy::evaluateInNewWorld):
78356         (WebCore::V8Proxy::evaluateInNewContext):
78357         (WebCore::V8Proxy::createNewContext):
78358         (WebCore::V8Proxy::initContextIfNeeded):
78359         (WebCore::V8Proxy::registerExtensionWithV8):
78360         (WebCore::V8Proxy::registerExtension):
78361         * bindings/v8/V8Proxy.h:
78362
78363 2009-07-30  Mike Fenton  <mike.fenton@torchmobile.com>
78364
78365          Reviewed by Adam Treat.
78366
78367          Add previously defined out support to PopupMenuQt for marking entries as
78368          disabled and for selecting the desired item.
78369
78370          https://bugs.webkit.org/show_bug.cgi?id=27772
78371
78372          * platform/qt/PopupMenuQt.cpp:
78373          (WebCore::PopupMenu::populate):
78374
78375 2009-07-30  Darin Adler  <darin@apple.com>
78376
78377         Reviewed by David Levin.
78378
78379         Use checked casts for render tree
78380         https://bugs.webkit.org/show_bug.cgi?id=23522
78381
78382         Next step: Add new toRenderWidget cast and use it everywhere.
78383
78384         Use checked casts in all the places that were using static_cast
78385         but there is a checked cast available.
78386
78387         * accessibility/AccessibilityRenderObject.cpp:
78388         (WebCore::AccessibilityRenderObject::stringValue):
78389         (WebCore::AccessibilityRenderObject::widget):
78390         (WebCore::AccessibilityRenderObject::widgetForAttachmentView):
78391         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
78392         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
78393         (getPangoLayoutForAtk):
78394         * dom/Document.cpp:
78395         (WebCore::widgetForNode):
78396         (WebCore::Document::setFocusedNode):
78397         * html/HTMLEmbedElement.cpp:
78398         (WebCore::findWidgetRenderer):
78399         * html/HTMLMediaElement.cpp:
78400         (WebCore::HTMLMediaElement::defaultEventHandler):
78401         * html/HTMLObjectElement.cpp:
78402         (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
78403         * html/HTMLPlugInElement.cpp:
78404         (WebCore::HTMLPlugInElement::defaultEventHandler):
78405         * loader/FrameLoader.cpp:
78406         (WebCore::FrameLoader::loadSubframe):
78407         * loader/PluginDocument.cpp:
78408         (WebCore::PluginTokenizer::writeRawData):
78409         * page/EventHandler.cpp:
78410         (WebCore::EventHandler::hitTestResultAtPoint):
78411         (WebCore::subframeForTargetNode):
78412         (WebCore::EventHandler::handleWheelEvent):
78413         * page/Frame.cpp:
78414         (WebCore::isFrameElement):
78415         * page/PrintContext.cpp:
78416         (WebCore::PrintContext::computePageRects):
78417         * page/android/EventHandlerAndroid.cpp:
78418         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
78419         * page/chromium/EventHandlerChromium.cpp:
78420         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
78421         * page/chromium/FrameChromium.cpp:
78422         (WebCore::computePageRectsForFrame):
78423         * page/gtk/EventHandlerGtk.cpp:
78424         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
78425         * page/haiku/EventHandlerHaiku.cpp:
78426         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
78427         * page/mac/EventHandlerMac.mm:
78428         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
78429         (WebCore::EventHandler::passSubframeEventToSubframe):
78430         * page/win/FrameWin.cpp:
78431         (WebCore::computePageRectsForFrame):
78432         * page/wx/EventHandlerWx.cpp:
78433         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
78434         * platform/chromium/ClipboardChromium.cpp:
78435         (WebCore::getCachedImage):
78436         * platform/chromium/PasteboardChromium.cpp:
78437         (WebCore::Pasteboard::writeImage):
78438         * platform/gtk/PasteboardGtk.cpp:
78439         (WebCore::Pasteboard::writeImage):
78440         * platform/mac/PasteboardMac.mm:
78441         (WebCore::Pasteboard::writeImage):
78442         * platform/qt/ClipboardQt.cpp:
78443         (WebCore::getCachedImage):
78444         * platform/qt/PasteboardQt.cpp:
78445         (WebCore::Pasteboard::writeImage):
78446         * platform/win/ClipboardWin.cpp:
78447         (WebCore::getCachedImage):
78448         * platform/win/PasteboardWin.cpp:
78449         (WebCore::Pasteboard::writeImage):
78450         * rendering/InlineBox.h:
78451         (WebCore::InlineBox::boxModelObject):
78452         * rendering/RenderInline.cpp:
78453         (WebCore::RenderInline::splitInlines):
78454         (WebCore::RenderInline::addChildToContinuation):
78455         * rendering/RenderLayerBacking.cpp:
78456         (WebCore::RenderLayerBacking::updateImageContents):
78457         * rendering/TextControlInnerElements.cpp:
78458         (WebCore::RenderTextControlInnerBlock::positionForPoint):
78459         Use checked cast instead of static_cast.
78460         
78461         * rendering/RenderWidget.h: Added toRenderWidget.
78462
78463 2009-07-30  Yong Li  <yong.li@torchmobile.com>
78464
78465         Reviewed by George Staikos.
78466
78467         WINCE PORT: some files modified to build for WINCE
78468         https://bugs.webkit.org/show_bug.cgi?id=27816
78469
78470         * accessibility/AccessibilityObject.h:
78471         * page/win/EventHandlerWin.cpp:
78472         (WebCore::EventHandler::createDraggingClipboard):
78473         * platform/win/PlatformMouseEventWin.cpp:
78474         (WebCore::messageToEventType):
78475         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
78476         * platform/win/PlatformScreenWin.cpp:
78477         (WebCore::deviceInfoForWidget):
78478         (WebCore::screenIsMonochrome):
78479         * platform/win/PopupMenuWin.cpp:
78480         (WebCore::PopupMenu::show):
78481         (WebCore::PopupMenu::paint):
78482         (WebCore::registerPopup):
78483         (WebCore::PopupWndProc):
78484
78485 2009-07-30  Yong Li  <yong.li@torchmobile.com>
78486
78487         Reviewed by George Staikos.
78488
78489         WINCE PORT: modified graphics files
78490         https://bugs.webkit.org/show_bug.cgi?id=27779
78491
78492         * platform/graphics/BitmapImage.h:
78493         (WebCore::BitmapImage::mayFillWithSolidColor):
78494         * platform/graphics/Gradient.h:
78495         * platform/graphics/GraphicsContext.cpp:
78496         * platform/graphics/GraphicsContext.h:
78497         * platform/graphics/ImageSource.h:
78498         * platform/graphics/MediaPlayer.cpp:
78499         * platform/graphics/Path.h:
78500         * platform/graphics/Pattern.h:
78501         * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
78502         (WebCore::Matrix3DTransformOperation::blend):
78503         * platform/graphics/transforms/MatrixTransformOperation.cpp:
78504         (WebCore::MatrixTransformOperation::blend):
78505         * platform/graphics/transforms/TransformationMatrix.h:
78506         (WebCore::TransformationMatrix::operator*):
78507         * platform/graphics/win/IconWin.cpp:
78508         (WebCore::Icon::createIconForFile):
78509         (WebCore::Icon::createIconForFiles):
78510         (WebCore::Icon::paint):
78511
78512 2009-07-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
78513
78514         Reviewed by Ariya Hidayat.
78515
78516         Improve efficiency by rewriting code doing three hash table
78517         lookups, which can be replaced by just one as pointed out
78518         by Darin Adler.
78519
78520         Though being slightly less clear, this should be considerable
78521         faster.
78522
78523         * plugins/PluginDatabase.cpp:
78524         (WebCore::PluginDatabase::remove):
78525
78526 2009-07-30  Antonio Gomes   <antonio.gomes@openbossa.org>
78527
78528         Reviewed by Gustavo Noronha.
78529
78530         [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 2)
78531         https://bugs.webkit.org/show_bug.cgi?id=27651
78532
78533         Removed unneeded includes (gdk.h and gtk.h) and added glib.h and cairo.h instead.
78534
78535         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
78536         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
78537
78538 2009-07-30  Antonio Gomes   <antonio.gomes@openbossa.org>
78539
78540         Reviewed by Gustavo Noronha.
78541
78542         [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 1)
78543         https://bugs.webkit.org/show_bug.cgi?id=27651
78544
78545         Fixed many code style issues pointed by WebKitTools/Scripts/modules/cpplint.py
78546         No functionality change at all.
78547
78548         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
78549         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
78550         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
78551         * platform/graphics/gtk/VideoSinkGStreamer.h:
78552
78553 2009-07-30  Jakub Wieczorek  <faw217@gmail.com>
78554
78555         Reviewed by Simon Hausmann.
78556
78557         Allow to explicitly choose a preferred plugin for a mimetype.
78558
78559         https://bugs.webkit.org/show_bug.cgi?id=27651
78560
78561         When the preferred plugin is set for a specific MIME type, it will be
78562         always picked up, regardless of its version, quirks etc.
78563
78564         Client applications may want to use that API to resolve mimetype
78565         ambiguity in a custom way, rather than in the default way that is
78566         currently used in WebKit.
78567
78568         * plugins/PluginDatabase.cpp:
78569         (WebCore::PluginDatabase::pluginForMIMEType):
78570         (WebCore::PluginDatabase::MIMETypeForExtension):
78571         (WebCore::PluginDatabase::setPreferredPluginForMIMEType): Added.
78572         (WebCore::PluginDatabase::remove):
78573         (WebCore::PluginDatabase::clear):
78574         * plugins/PluginDatabase.h:
78575
78576 2009-07-30  Jakub Wieczorek  <faw217@gmail.com>
78577
78578         [Qt] Fix build with Qt 4.4 after r46535.
78579
78580         * platform/network/qt/ResourceHandleQt.cpp:
78581
78582 2009-07-30  Eric Carlson  <eric.carlson@apple.com>
78583
78584         Reviewed by Simon Fraser.
78585
78586         Video elements fires another "load" event when attached to DOM
78587         https://bugs.webkit.org/show_bug.cgi?id=27623
78588
78589         Test: media/media-load-event.html
78590
78591         * html/HTMLMediaElement.cpp:
78592         (WebCore::HTMLMediaElement::insertedIntoDocument):
78593             Only schedule load when element's network state is NETWORK_EMPTY.
78594
78595 2009-07-30  Anton Muhin  <antonm@chromium.org>
78596
78597         Reviewed by David Levin.
78598
78599         Cache v8 strings when converting from WebCore::String to v8 string.
78600         https://bugs.webkit.org/show_bug.cgi?id=27655
78601
78602         * bindings/v8/V8Binding.cpp:
78603         (WebCore::v8String): now just immediately calls v8ExternalString
78604         (WebCore::enableStringImplCache): enables caching of conversions from WebCore::StringImpl to
78605         v8::String
78606         (WebCore::makeExternalString): utilty function to create external v8::String out of
78607         WebCore::String
78608         (WebCore::getStringCache): static function to access string cache
78609         (WebCore::cachedStringCallback): callback for weak handles of v8::Strings stored in the
78610         cache
78611         (WebCore::v8ExternalString): if caching enabled, checks if there is already v8::String for
78612         the given WebCore::StringImpl.  If present, returns it, otherwise creates a new v8 external
78613         string.
78614         * bindings/v8/V8Binding.h:
78615
78616 2009-07-30  Xan Lopez  <xlopez@igalia.com>
78617
78618         Reviewed by Maciej Stachowiak.
78619
78620         https://bugs.webkit.org/show_bug.cgi?id=25535
78621         [GTK] object:state-changed:checked events missing for radio buttons and checkboxes
78622
78623         Implement state-changed:checked for radio buttons and checkboxes.
78624
78625         * accessibility/gtk/AXObjectCacheAtk.cpp:
78626         (WebCore::AXObjectCache::postPlatformNotification):
78627         * html/HTMLInputElement.cpp:
78628         (WebCore::HTMLInputElement::setChecked):
78629
78630 2009-07-30  Xan Lopez  <xlopez@igalia.com>
78631
78632         Forgot the 'break'.
78633
78634         * platform/ContextMenu.cpp:
78635         (WebCore::ContextMenu::checkOrEnableIfNeeded):
78636
78637 2009-07-30  Xan Lopez  <xlopez@igalia.com>
78638
78639         Try to fix Mac build.
78640
78641         * platform/ContextMenu.cpp:
78642         (WebCore::ContextMenu::checkOrEnableIfNeeded):
78643
78644 2009-07-29  Xan Lopez  <xlopez@igalia.com>
78645
78646         Reviewed by Adam Barth.
78647
78648         Add missing enumeration value to switch.
78649
78650         * platform/ContextMenu.cpp:
78651         (WebCore::ContextMenu::checkOrEnableIfNeeded):
78652
78653 2009-07-29  Jian Li  <jianli@chromium.org>
78654
78655         Reviewed by Darin Adler.
78656
78657         Workers need to throw an exception when presented with invalid URLs.
78658         https://bugs.webkit.org/show_bug.cgi?id=27770
78659
78660         Tests covered by worker-constructor.html and worker-redirect.html.
78661
78662         * bindings/js/JSWorkerConstructor.cpp:
78663         (WebCore::constructWorker):
78664         * bindings/v8/custom/V8WorkerCustom.cpp:
78665         (WebCore::CALLBACK_FUNC_DECL):
78666         * workers/Worker.cpp:
78667         (WebCore::Worker::Worker):
78668         * workers/Worker.h:
78669         (WebCore::Worker::create):
78670         * workers/WorkerContext.cpp:
78671         (WebCore::WorkerContext::importScripts):
78672         * workers/WorkerScriptLoader.cpp:
78673         (WebCore::WorkerScriptLoader::loadSynchronously):
78674         (WebCore::WorkerScriptLoader::loadAsynchronously):
78675         (WebCore::WorkerScriptLoader::createResourceRequest):
78676         * workers/WorkerScriptLoader.h:
78677
78678 2009-07-29  Brady Eidson  <beidson@apple.com>
78679
78680         Reviewed by Darin Adler.
78681
78682         (REGRESSION: r46039) Should restore previous connections-per-host limit for non-http(s) hosts
78683         https://bugs.webkit.org/show_bug.cgi?id=27822 and <rdar://problem/7091659>
78684
78685         * loader/loader.cpp:
78686         (WebCore::Loader::Host::servePendingRequests): For non-http(s) hosts, restore the previous behavior of 
78687           only limiting connections while parsing and still trying to figure out stylesheet urls.
78688
78689 2009-07-29  Yong Li  <yong.li@torchmobile.com>
78690
78691         Reviewed by George Staikos.
78692
78693         WINCE PORT: Add WebCore/page/wince/FrameWince.cpp
78694         https://bugs.webkit.org/show_bug.cgi?id=27729
78695
78696         * page/wince/FrameWince.cpp: Added.
78697
78698 2009-07-29  Ryosuke Niwa  <rniwa@webkit.org>
78699
78700         Reviewed by Justin Garcia.
78701
78702         REGRESSION(r46370-46426): /editing/style/remove-underline-from-stylesheet.html fails
78703         https://bugs.webkit.org/show_bug.cgi?id=27809
78704
78705         The patch primarily rebaselines the tests but also fixes the bug in currentlyHasStyle.
78706         To determine that a particular text decoration is present, currentlyHasStyle should refer to
78707         -webkit-text-decorations-in-effect to take care of styles set by u, s, strike tags and ancestors' CSS.
78708         We also need to update layout to accommodate the changes made within ApplyStyleCommand.
78709
78710         * editing/ApplyStyleCommand.cpp: ditto
78711         (WebCore::StyleChange::currentlyHasStyle): ditto
78712
78713 2009-07-29  Yong Li  <yong.li@torchmobile.com>
78714
78715         Reviewed by George Staikos.
78716
78717         WINCE PORT: changes to platform/text files
78718         https://bugs.webkit.org/show_bug.cgi?id=27715
78719
78720         * platform/text/String.cpp:
78721         (WebCore::String::format):
78722         * platform/text/TextEncoding.cpp:
78723         (WebCore::TextEncoding::encode):
78724         * platform/text/TextEncodingRegistry.cpp:
78725         (WebCore::buildBaseTextCodecMaps):
78726         (WebCore::extendTextCodecMaps):
78727
78728 2009-07-29  Yong Li  <yong.li@torchmobile.com>
78729
78730         Reviewed by Adam Roben.
78731
78732         FIX: HDC leaks in PopupMenuWin.cpp
78733         https://bugs.webkit.org/show_bug.cgi?id=27817
78734
78735         * platform/win/PopupMenuWin.cpp:
78736         (WebCore::PopupMenu::~PopupMenu):
78737         (WebCore::PopupMenu::paint):
78738
78739 2009-07-29  Darin Adler  <darin@apple.com>
78740
78741         Reviewed by Dan Bernstein.
78742
78743         Illegal values for <ol start> cause list numbering start at 0 (should start at 1)
78744         https://bugs.webkit.org/show_bug.cgi?id=27810
78745
78746         Test: fast/lists/ol-start-parsing.html
78747
78748         * html/HTMLOListElement.cpp:
78749         (WebCore::HTMLOListElement::parseMappedAttribute): Check the result of toInt
78750         and use the value 1 if it failed to parse. Before we were getting toInt's default
78751         behavior, which is to return 0.
78752
78753 2009-07-29  Kevin McCullough  <kmccullough@apple.com>
78754
78755         Reviewed by Darin Adler.
78756
78757         Added foundation work to allow a testing infrastructure for the Web
78758         Inspector.
78759
78760         * inspector/InspectorClient.h:
78761         * inspector/InspectorController.cpp:
78762         (WebCore::InspectorController::scriptObjectReady): Tell the testing
78763         harness that the window object is ready.
78764         * loader/EmptyClients.h: Empty class support for SVG.
78765         (WebCore::EmptyInspectorClient::inspectorWindowObjectCleared):
78766
78767 2009-07-29  Chris Fleizach  <cfleizach@apple.com>
78768
78769         Build fix for windows after landing
78770         Bug 27807 - AX: move re-usable code into more common areas for other platforms
78771    
78772         Apparently bzero doesn't exist on windows.
78773
78774         * accessibility/AXObjectCache.cpp:
78775         (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
78776
78777 2009-07-29  Chris Fleizach  <cfleizach@apple.com>
78778
78779         Reviewed by Justin Garcia.
78780
78781         Bug 27807 - AX: move re-usable code into more common areas for other platforms
78782         https://bugs.webkit.org/show_bug.cgi?id=27807
78783
78784         Moves some accessibility code that was in the Mac file to a more common place so 
78785         it can be used by other platforms. 
78786         This includes:
78787            Making TextMarkerData from a VisiblePosition.
78788            Making a VisiblePosition from TextMarkerData.
78789            Finding the anchor accessibility object for an arbitrary Node.
78790
78791         * accessibility/AXObjectCache.cpp:
78792         (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
78793         (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
78794         * accessibility/AXObjectCache.h:
78795         * accessibility/AccessibilityObject.cpp:
78796         (WebCore::AccessibilityObject::anchorElementForNode):
78797         * accessibility/AccessibilityObject.h:
78798         (WebCore::AccessibilityObject::visiblePositionForIndex):
78799         * accessibility/mac/AccessibilityObjectWrapper.mm:
78800         (textMarkerForVisiblePosition):
78801         (visiblePositionForTextMarker):
78802         (AXAttributedStringAppendText):
78803
78804 2009-07-29  Dan Bernstein  <mitz@apple.com>
78805
78806         Reviewed by Simon Fraser.
78807
78808         Inset box shadows are incorrectly accounted for in visual overflow
78809         computations
78810         https://bugs.webkit.org/show_bug.cgi?id=27811
78811
78812         * rendering/InlineFlowBox.cpp:
78813         (WebCore::InlineFlowBox::placeBoxesHorizontally): Use
78814             getBoxShadowHorizontalExtent().
78815         (WebCore::InlineFlowBox::placeBoxesVertically): Use
78816             getBoxShadowVerticalExtent(). Removed duplicate code to get the
78817             text-shadow overflow.
78818         (WebCore::InlineFlowBox::paint): Use getBoxShadowHorizontalExtent().
78819         * rendering/RenderBlock.cpp:
78820         (WebCore::RenderBlock::overflowHeight): Use
78821             getBoxShadowVerticalExtent().
78822         (WebCore::RenderBlock::overflowWidth): Use
78823             getBoxShadowHorizontalExtent().
78824         (WebCore::RenderBlock::overflowLeft): Ditto.
78825         (WebCore::RenderBlock::overflowTop): Use getBoxShadowVerticalExtent().
78826         (WebCore::RenderBlock::overflowRect): Use getBoxShadowExtent().
78827         (WebCore::RenderBlock::layoutBlock): Ditto.
78828         * rendering/RenderFlexibleBox.cpp:
78829         (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
78830         * rendering/RenderLayer.cpp:
78831         (WebCore::RenderLayer::calculateRects): Exclude inset shadows.
78832         * rendering/RenderObject.cpp:
78833         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Use
78834             getBoxShadowHorizontalExtent() and getBoxShadowVerticalExtent().
78835         (WebCore::RenderObject::adjustRectForOutlineAndShadow): Exclude inset
78836             shadows.
78837         * rendering/RenderReplaced.cpp:
78838         (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
78839         * rendering/style/RenderStyle.cpp:
78840         (WebCore::RenderStyle::setTextShadow): Also assert that text-shadows are
78841             not inset.
78842         (WebCore::RenderStyle::getBoxShadowExtent): Added. Excludes inset
78843             shadows.
78844         (WebCore::RenderStyle::getBoxShadowHorizontalExtent): Ditto.
78845         (WebCore::RenderStyle::getBoxShadowVerticalExtent): Ditto.
78846         * rendering/style/RenderStyle.h:
78847
78848 2009-07-29  Simon Fraser  <simon.fraser@apple.com>
78849
78850         Reviewed by Dan Bernstein.
78851
78852         Fix crash when an element with display: table-row is composited (e.g. via a 3d-transform)
78853         https://bugs.webkit.org/show_bug.cgi?id=27796
78854         
78855         Avoid repainting when a layer becomes composited if the renderer is not parented
78856         yet, because it makes no sense to do so.
78857         
78858         If the table row is a repaint container, default to the RenderBox implementation
78859         of clippedOverflowRectForRepaint(), because we cannot hand off the repaint rect
78860         computation to something that is above the repaint container.
78861
78862         Test: fast/table/table-row-compositing-repaint-crash.html
78863
78864         * rendering/RenderLayerCompositor.cpp:
78865         (WebCore::RenderLayerCompositor::repaintOnCompositingChange):
78866         * rendering/RenderTableRow.cpp:
78867         (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
78868
78869 2009-07-29  Brady Eidson  <beidson@apple.com>
78870
78871         Reviewed by Sam Weinig.
78872
78873         https://bugs.webkit.org/show_bug.cgi?id=27791
78874         307 redirects of POSTs should use POST, not GET
78875
78876         Test: http/tests/loading/redirect-methods.html
78877
78878         * platform/network/cf/ResourceHandleCFNet.cpp:
78879         (WebCore::willSendRequest):
78880
78881         * platform/network/mac/ResourceHandleMac.mm:
78882         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
78883
78884 2009-07-29  Chris Marrin  <cmarrin@apple.com>
78885
78886         Reviewed by Simon Fraser.
78887
78888         Adding -webkit-animation-play-state back in
78889         https://bugs.webkit.org/show_bug.cgi?id=26867
78890
78891         We've decided to keep -webkit-animation-play-state. So this
78892         just adds back in the code from https://bugs.webkit.org/show_bug.cgi?id=22907.
78893
78894         Test: animations/play-state.html
78895
78896         * css/CSSComputedStyleDeclaration.cpp:
78897         (WebCore::):
78898         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
78899         * css/CSSParser.cpp:
78900         (WebCore::CSSParser::parseValue):
78901         (WebCore::CSSParser::parseAnimationPlayState):
78902         (WebCore::CSSParser::parseAnimationProperty):
78903         * css/CSSParser.h:
78904         * css/CSSPropertyNames.in:
78905         * css/CSSStyleSelector.cpp:
78906         (WebCore::CSSStyleSelector::applyProperty):
78907         (WebCore::CSSStyleSelector::mapAnimationPlayState):
78908         * css/CSSStyleSelector.h:
78909         * platform/animation/Animation.h:
78910         * rendering/style/RenderStyleConstants.h:
78911         (WebCore::):
78912
78913 2009-07-29  Jakub Wieczorek  <faw217@gmail.com>
78914
78915         Reviewed by Simon Hausmann.
78916
78917         Expose the default plugin directories and the current directory set of
78918         the plugin database as public API.
78919
78920         https://bugs.webkit.org/show_bug.cgi?id=27651
78921
78922         * plugins/PluginDatabase.h:
78923         (WebCore::PluginDatabase::pluginDirectories):
78924
78925 2009-07-29  Alpha Lam  <hclam@chromium.org>
78926
78927         Reviewed by David Levin.
78928
78929         [chromium] Font size for current time display in media controls panel
78930         is affected by body font size.
78931         https://bugs.webkit.org/show_bug.cgi?id=27799
78932
78933         Fixing the problem of rendering by explicitly setting the font size
78934         for the time displays.
78935
78936         No new tests since this is covered by existing media tests.
78937
78938         * css/mediaControlsChromium.css:
78939
78940 2009-07-29  Mike Fenton  <mike.fenton@torchmobile.com>
78941
78942         Reviewed by David Levin.
78943
78944         Update WebCore/page/ContextMenuController.cpp to conform to WebKit
78945         Style Guidelines as identified by cpp_style.py.
78946         https://bugs.webkit.org/show_bug.cgi?id=27613
78947
78948         * page/ContextMenuController.cpp:
78949         (WebCore::openNewWindow):
78950         (WebCore::ContextMenuController::contextMenuItemSelected):
78951
78952 2009-07-29  Dean McNamee  <deanm@chromium.org>
78953
78954         Reviewed by Dimitri Glazkov.
78955
78956         Removed unused wrapCPointer/extractCPointer from the v8 bindings.
78957         https://bugs.webkit.org/show_bug.cgi?id=27805
78958
78959         * bindings/v8/V8DOMWrapper.h:
78960
78961 2009-07-29  Jakub Wieczorek  <faw217@gmail.com>
78962
78963         Reviewed by Simon Hausmann.
78964
78965         Expose the PluginDatabase::pluginForMIMEType() function as public API.
78966         https://bugs.webkit.org/show_bug.cgi?id=27651
78967
78968         It can be used to determine the appropriate plugin for a mime type,
78969         without guessing the mimetype from the extension.
78970
78971         * plugins/PluginDatabase.h:
78972
78973 2009-07-29  Jakub Wieczorek  <faw217@gmail.com>
78974
78975         Reviewed by Adam Treat.
78976
78977         Allow to enable/disable particular plugin packages.
78978         https://bugs.webkit.org/show_bug.cgi?id=27651
78979
78980         Disabled plugins will not be picked up when looking for a plugin
78981         supporting the requested mimetypes.
78982
78983         Client applications may want to use that API to disable specific
78984         plugins.
78985
78986         * plugins/PluginDatabase.cpp:
78987         (WebCore::PluginDatabase::pluginForMIMEType):
78988         (WebCore::PluginDatabase::MIMETypeForExtension):
78989         * plugins/PluginPackage.cpp:
78990         (WebCore::PluginPackage::PluginPackage):
78991         (WebCore::PluginPackage::setEnabled):
78992         * plugins/PluginPackage.h:
78993         (WebCore::PluginPackage::isEnabled):
78994
78995 2009-07-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
78996
78997         Reviewed by Adam Treat.
78998
78999         [WML] Running WML tests in random order multiple times exposes subtle bugs
79000         https://bugs.webkit.org/show_bug.cgi?id=27801
79001
79002         Remove superflous assertions regarding the parent node. Under certain circumstances
79003         these can even fire (related to garbage collection while destructing). Fixes random order
79004         WML tests (run-webkit-tests fast/wml wml http/tests/wml fast/wml ... --random)
79005
79006         The wml/enter-first-card-with-events.html test relied on a bug in our implementation of
79007         WMLPageState::reset() - the history stack should still contain the current card afterwards.
79008         Fix that bug by preserving the first item in BackForwardList::clearWMLPageHistory().
79009
79010         * history/BackForwardList.cpp: Preserve first item in history stack, as demanded by the spec.
79011         (WebCore::BackForwardList::clearWMLPageHistory):
79012         * wml/WMLDoElement.cpp:
79013         (WebCore::WMLDoElement::insertedIntoDocument):
79014         (WebCore::WMLDoElement::removedFromDocument):
79015         * wml/WMLNoopElement.cpp:
79016         (WebCore::WMLNoopElement::insertedIntoDocument):
79017         * wml/WMLOnEventElement.cpp:
79018         (WebCore::eventHandlingParent):
79019         * wml/WMLPostfieldElement.cpp:
79020         (WebCore::WMLPostfieldElement::insertedIntoDocument):
79021         (WebCore::WMLPostfieldElement::removedFromDocument):
79022         * wml/WMLSetvarElement.cpp:
79023         (WebCore::WMLSetvarElement::insertedIntoDocument):
79024         (WebCore::WMLSetvarElement::removedFromDocument):
79025         * wml/WMLTaskElement.cpp:
79026         (WebCore::WMLTaskElement::insertedIntoDocument):
79027         (WebCore::WMLTaskElement::removedFromDocument):
79028         * wml/WMLTimerElement.cpp:
79029         (WebCore::WMLTimerElement::insertedIntoDocument):
79030         (WebCore::WMLTimerElement::removedFromDocument):
79031
79032 2009-07-29  Yongjun Zhang  <yongjun.zhang@nokia.com>
79033
79034         Reviewed by Simon Hausmann.
79035
79036         https://bugs.webkit.org/show_bug.cgi?id=26848
79037         [Qt] ResourceHandle::willLoadFromCache needs to be implemented QtWebKit.
79038
79039         * loader/FrameLoader.cpp:
79040         (WebCore::FrameLoader::loadItem):
79041         * platform/network/ResourceHandle.h:
79042         * platform/network/cf/ResourceHandleCFNet.cpp:
79043         (WebCore::ResourceHandle::willLoadFromCache):
79044         * platform/network/curl/ResourceHandleCurl.cpp:
79045         (WebCore::ResourceHandle::willLoadFromCache):
79046         * platform/network/mac/ResourceHandleMac.mm:
79047         (WebCore::ResourceHandle::willLoadFromCache):
79048         * platform/network/qt/ResourceHandleQt.cpp:
79049         (WebCore::ResourceHandle::willLoadFromCache):
79050         * platform/network/soup/ResourceHandleSoup.cpp:
79051         (WebCore::):
79052
79053 2009-07-29  Alpha Lam  <hclam@chromium.org>
79054
79055         Reviewed by David Levin.
79056
79057         Media control panel for <video> in MediaDocument is mis-placed
79058         https://bugs.webkit.org/show_bug.cgi?id=27798
79059
79060         Fixing a rendering problem: When <video> is displayed in MediaDocument,
79061         the media control panel overlaps with the video by 16 pixels.
79062
79063         No new tests as this is covered by existing media tests.
79064
79065         * css/mediaControlsChromium.css:
79066
79067 2009-07-29  Adam Barth  <abarth@webkit.org>
79068
79069         Unreviewed build fix for Chromium.  Those last two patches weren't
79070         independent despite the clean merge.
79071
79072         * bindings/v8/V8AbstractEventListener.cpp:
79073         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
79074
79075 2009-07-29  Avi Drissman  <avi@chromium.org>
79076
79077         Reviewed by Darin Adler.
79078
79079         ImageSourceCG makes bad data refs (race condition causes blank images)
79080         https://bugs.webkit.org/show_bug.cgi?id=27777
79081
79082         Make ImageSourceCG guarantee that the lifetime of the SharedBuffer that
79083         backs the CFDataRef will be long enough.
79084
79085         No new tests, as this fixes a bug with a race condition that is
79086         difficult to trigger.
79087
79088         * platform/graphics/cg/ImageSourceCG.cpp:
79089         (WebCore::ImageSource::setData):
79090
79091 2009-07-29  Keishi Hattori  <casey.hattori@gmail.com>
79092
79093         Reviewed by Timothy Hatcher.
79094
79095         Inspector: Console should show completions for the command line APIs
79096         https://bugs.webkit.org/show_bug.cgi?id=27696
79097
79098         * inspector/front-end/Console.js:
79099         (WebInspector.Console.prototype._reportCompletions): Adds properties from _inspectorCommandLineAPI to 
79100         completions when available.
79101         * inspector/front-end/utilities.js:
79102         (Object.properties): Added.
79103         (Object.sortedProperties):
79104
79105 2009-07-29  Shinichiro Hamaji  <hamaji@chromium.org>
79106
79107         Reviewed by Eric Seidel.
79108
79109         Refactor the first step of layout in RenderFlexibleBox.cpp
79110         https://bugs.webkit.org/show_bug.cgi?id=27704
79111
79112         No new tests as this change is just a refactoring.
79113
79114         * rendering/RenderFlexibleBox.cpp:
79115         (WebCore::gatherFlexChildrenInfo):
79116         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
79117         (WebCore::RenderFlexibleBox::layoutVerticalBox):
79118
79119 2009-07-29  Kent Tamura  <tkent@chromium.org>
79120
79121         Reviewed by Nikolas Zimmermann.
79122
79123         Fix a bug that HTMLOptionElement::value() returns an incorrect
79124         value in a case that the element has a label attribute and no
79125         value attribute.
79126         https://bugs.webkit.org/show_bug.cgi?id=27760
79127
79128         Test: fast/forms/option-value-and-label.html
79129
79130         * dom/OptionElement.cpp:
79131         (WebCore::OptionElement::collectOptionLabelOrText):
79132         (WebCore::OptionElement::collectOptionInnerText):
79133         (WebCore::OptionElement::normalizeText):
79134         (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
79135         (WebCore::OptionElement::collectOptionValue):
79136         * dom/OptionElement.h:
79137         * html/HTMLOptionElement.cpp:
79138         (WebCore::HTMLOptionElement::text):
79139         * wml/WMLOptionElement.cpp:
79140         (WebCore::WMLOptionElement::text):
79141
79142 2009-07-29  Adam Barth  <abarth@webkit.org>
79143
79144         Reviewed by Dimitri Glazkov.
79145
79146         [V8] Fix isolated world wrappers for event handlers
79147         https://bugs.webkit.org/show_bug.cgi?id=27533
79148
79149         Instead of getting the context from the frame, we cache the context
79150         when the listener is created so that we get the context for the right
79151         world.
79152
79153         Test: http/tests/security/isolatedWorld/click-event.html
79154
79155         * WebCore.gypi:
79156         * bindings/v8/OwnHandle.h: Added.
79157         (WebCore::OwnHandle::OwnHandle):
79158         (WebCore::OwnHandle::~OwnHandle):
79159         (WebCore::OwnHandle::get):
79160         (WebCore::OwnHandle::set):
79161         (WebCore::OwnHandle::release):
79162         (WebCore::OwnHandle::adopt):
79163         (WebCore::OwnHandle::swap):
79164         (WebCore::OwnHandle::clear):
79165         (WebCore::OwnHandle::makeWeak):
79166         (WebCore::OwnHandle::weakCallback):
79167         * bindings/v8/V8AbstractEventListener.cpp:
79168         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
79169         (WebCore::V8AbstractEventListener::handleEvent):
79170         * bindings/v8/V8AbstractEventListener.h:
79171         * bindings/v8/V8DOMWrapper.h:
79172
79173 2009-07-29  Adam Barth  <abarth@webkit.org>
79174
79175         Reviewed by Dimitri Glazkov.
79176
79177         [V8] Teach V8Proxy::context about isolated worlds
79178         https://bugs.webkit.org/show_bug.cgi?id=27701
79179
79180         Change V8Proxy::context(Frame*) to understand isolated worlds.  Audit
79181         all callers of this method to make sure they want isolated worlds.  In
79182         cases where we really want the main world, I've changed the call to
79183         V8Proxy::mainWorldContext(Frame*).
79184         
79185         The main visible change is to the document.open method when called with
79186         more than two arguments.  This design seems more likely to lead to
79187         future correct code.
79188
79189         Test: http/tests/security/isolatedWorld/document-open.html
79190
79191         * bindings/v8/ScriptController.cpp:
79192         (WebCore::ScriptController::processingUserGesture):
79193         (WebCore::ScriptController::evaluate):
79194         (WebCore::ScriptController::bindToWindowObject):
79195         (WebCore::ScriptController::collectGarbage):
79196         (WebCore::createScriptObject):
79197         (WebCore::ScriptController::createScriptObjectForPluginElement):
79198         * bindings/v8/ScriptObjectQuarantine.cpp:
79199         (WebCore::getQuarantinedScriptObject):
79200         * bindings/v8/V8AbstractEventListener.cpp:
79201         (WebCore::V8AbstractEventListener::handleEvent):
79202         * bindings/v8/V8DOMWrapper.cpp:
79203         (WebCore::V8DOMWrapper::getConstructor):
79204         (WebCore::V8DOMWrapper::setHiddenWindowReference):
79205         (WebCore::V8DOMWrapper::convertNodeToV8Object):
79206         (WebCore::V8DOMWrapper::convertWindowToV8Object):
79207         * bindings/v8/V8Helpers.cpp:
79208         (WebCore::toV8Context):
79209         * bindings/v8/V8LazyEventListener.cpp:
79210         (WebCore::V8LazyEventListener::getListenerFunction):
79211         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
79212         * bindings/v8/V8Proxy.cpp:
79213         (WebCore::V8Proxy::context):
79214         (WebCore::V8Proxy::mainWorldContext):
79215         (WebCore::V8Proxy::bindJsObjectToWindow):
79216         * bindings/v8/V8Proxy.h:
79217
79218 2009-07-29  Balazs Kelemen  <kelemen.balazs.3@stud.u-szeged.hu>
79219
79220         Reviewed by Simon Hausmann.
79221
79222         Fix the Qt build, add missing file.
79223
79224         * WebCore.pro:
79225
79226 2009-07-28  Jon Honeycutt  <jhoneycutt@apple.com>
79227
79228         Speculative fix for <rdar://problem/7005077> WER: Crash in
79229         WebCore::PluginStream::destroyStream+279 (1310510882)
79230
79231         Reviewed by Oliver Hunt.
79232
79233         * plugins/PluginStream.cpp:
79234         (WebCore::PluginStream::destroyStream):
79235         Move the "protector" RefPtr out of the block that dispatches
79236         notifications and into the function level; if NPN_DestroyStream were
79237         called from NPP_NewStream as the comment warns, we would be deleted at
79238         the end of the block.
79239
79240 2009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>
79241
79242         Inspector: Tab Through the DOM Storage DataGrid when Editing
79243
79244         https://bugs.webkit.org/show_bug.cgi?id=27746
79245
79246         Reviewed by Timothy Hatcher.
79247
79248         * inspector/front-end/DOMStorageDataGrid.js:
79249         (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): refactored to directly edit and select a column
79250         (WebInspector.DOMStorageDataGrid.prototype._startEditing):
79251         (WebInspector.DOMStorageDataGrid.prototype._editingCommitted.moveToNextIfNeeded): handles moveDirection on a commit
79252         (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): uses moveToNext to traverse appropriately
79253
79254 2009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>
79255
79256         Inspector: Create New DOM Storage Items via DataGrid
79257
79258         https://bugs.webkit.org/show_bug.cgi?id=27322
79259
79260         Reviewed by Timothy Hatcher.
79261
79262         * inspector/front-end/DOMStorageDataGrid.js:
79263         (WebInspector.DOMStorageDataGrid.prototype._startEditing): click anyway means creationNode
79264         (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): fix unintended globals
79265         (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow): creationNode is special case
79266         * inspector/front-end/DataGrid.js:
79267         (WebInspector.DataGrid.prototype.addCreationNode): maintain a quick ref to the single creationNode
79268         (WebInspector.CreationDataGridNode): new type of node
79269         (WebInspector.CreationDataGridNode.prototype.makeNormal): convert to a normal node
79270         * inspector/front-end/DatabasesPanel.js:
79271         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): add a creationNode to the GridData
79272
79273 2009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>
79274
79275         Inspector: Automatically Refresh DOM Storage Grids on "storage" event
79276
79277         https://bugs.webkit.org/show_bug.cgi?id=27400
79278
79279         Reviewed by Timothy Hatcher.
79280
79281         * inspector/front-end/DatabasesPanel.js:
79282         (WebInspector.DatabasesPanel.prototype.show): trigger adding the listener
79283         (WebInspector.DatabasesPanel.prototype.reset): trigger removing the listener
79284         (WebInspector.DatabasesPanel.prototype._registerStorageEventListener): register the listener on the inspected window
79285         (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): unregister the listener on the inspected window
79286         (WebInspector.DatabasesPanel.prototype._storageEvent): handle the storage event
79287
79288 2009-07-28  Keishi Hattori  <casey.hattori@gmail.com>
79289
79290         Inspector should support inspect() in the command line.
79291
79292         https://bugs.webkit.org/show_bug.cgi?id=19874
79293         rdar://problem/6070225
79294
79295         Reviewed by Timothy Hatcher.
79296
79297         * inspector/front-end/Console.js:
79298         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled.inspectObject):
79299         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
79300         * inspector/front-end/DatabasesPanel.js:
79301         (WebInspector.DatabasesPanel.prototype.revealAndSelectDomStorage): Added.
79302         (WebInspector.DatabasesPanel.prototype.revealAndSelectDatabase): Added.
79303         (WebInspector.DatabasesPanel.prototype.showDatabase): 
79304
79305 2009-07-28  Keishi Hattori  <casey.hattori@gmail.com>
79306
79307         The rest of: Web Inspector: Add inspected node using public console API.
79308
79309         https://bugs.webkit.org/show_bug.cgi?id=27758
79310
79311         Reviewed by Timothy Hatcher.
79312
79313         * inspector/front-end/Console.js:
79314         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Removed _inspectorCommandLineAPI._addInspectedNode.
79315         (WebInspector.Console.prototype.addInspectedNode): Added.
79316
79317 2009-07-28  Pavel Feldman  <pfeldman@chromium.org>
79318
79319         Reviewed by Timothy Hatcher.
79320
79321         WebInspector: Accept autocomplete on 'End' key pressed.
79322
79323         https://bugs.webkit.org/show_bug.cgi?id=27447.
79324
79325         * inspector/front-end/TextPrompt.js:
79326         (WebInspector.TextPrompt.prototype.handleKeyEvent):
79327
79328 2009-07-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
79329
79330         Reviewed by David Levin.
79331
79332         [Qt] Build fix after r46502
79333         https://bugs.webkit.org/show_bug.cgi?id=27789
79334
79335         * WebCore.pro: Remove StorageArea.cpp
79336
79337 2009-07-28  Mark Rowe  <mrowe@apple.com>
79338
79339         Reviewed by Darin Adler.
79340
79341         Follow-on fix to r35582.  Replace main thread assertions with WebCoreObjCScheduleDeallocateOnMainThread
79342         in -dealloc overrides in DOMObject subclasses.
79343
79344         * bindings/scripts/CodeGeneratorObjC.pm:
79345
79346 2009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
79347
79348         Reviewed by Adam Treat.
79349
79350         [WML] WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument()
79351         https://bugs.webkit.org/show_bug.cgi?id=27786
79352
79353         WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument().
79354         The only case where this is relevant in WML is error handling. The parsed WML
79355         tree fragment is inserted in an XHTML compound error document. This requires
79356         removedFromDocument() to be correctly implemented otherwhise we run into
79357         trouble (visible when using run-webkit-tests fast/wml --random).
79358
79359         * wml/WMLAnchorElement.cpp:
79360         (WebCore::WMLAnchorElement::registerTask):
79361         (WebCore::WMLAnchorElement::deregisterTask):
79362         * wml/WMLAnchorElement.h:
79363         * wml/WMLDoElement.cpp:
79364         (WebCore::WMLDoElement::removedFromDocument):
79365         (WebCore::WMLDoElement::registerTask):
79366         (WebCore::WMLDoElement::deregisterTask):
79367         * wml/WMLDoElement.h:
79368         * wml/WMLEventHandlingElement.cpp:
79369         (WebCore::WMLEventHandlingElement::registerDoElement):
79370         (WebCore::WMLEventHandlingElement::deregisterDoElement):
79371         * wml/WMLEventHandlingElement.h:
79372         * wml/WMLFieldSetElement.cpp:
79373         (WebCore::WMLFieldSetElement::removedFromDocument):
79374         * wml/WMLGoElement.cpp:
79375         (WebCore::WMLGoElement::registerPostfieldElement):
79376         (WebCore::WMLGoElement::deregisterPostfieldElement):
79377         * wml/WMLGoElement.h:
79378         * wml/WMLIntrinsicEventHandler.cpp:
79379         (WebCore::WMLIntrinsicEventHandler::deregisterIntrinsicEvent):
79380         * wml/WMLIntrinsicEventHandler.h:
79381         * wml/WMLOnEventElement.cpp:
79382         (WebCore::eventHandlingParent):
79383         (WebCore::WMLOnEventElement::registerTask):
79384         (WebCore::WMLOnEventElement::deregisterTask):
79385         * wml/WMLOnEventElement.h:
79386         * wml/WMLPostfieldElement.cpp:
79387         (WebCore::WMLPostfieldElement::removedFromDocument):
79388         * wml/WMLPostfieldElement.h:
79389         * wml/WMLSetvarElement.cpp:
79390         (WebCore::WMLSetvarElement::removedFromDocument):
79391         * wml/WMLSetvarElement.h:
79392         * wml/WMLTaskElement.cpp:
79393         (WebCore::WMLTaskElement::removedFromDocument):
79394         (WebCore::WMLTaskElement::registerVariableSetter):
79395         (WebCore::WMLTaskElement::deregisterVariableSetter):
79396         (WebCore::WMLTaskElement::storeVariableState):
79397         * wml/WMLTaskElement.h:
79398         * wml/WMLTimerElement.cpp:
79399         (WebCore::WMLTimerElement::removedFromDocument):
79400         * wml/WMLTimerElement.h:
79401
79402 2009-07-28  David Levin  <levin@chromium.org>
79403
79404         Suggested by Drew Wilson.
79405
79406         Speculative gtk build fix, follow up to:
79407         https://bugs.webkit.org/show_bug.cgi?id=27697
79408
79409         * GNUmakefile.am:
79410
79411 2009-07-28  Dan Bernstein  <mitz@apple.com>
79412
79413         Reviewed by Simon Fraser.
79414
79415         [CSS3 Backgrounds and Borders] Drop the prefix from the border-radius
79416         properties
79417         https://bugs.webkit.org/show_bug.cgi?id=27578
79418
79419         [CSS3 Backgrounds and Borders] Handle the / and 4 values in
79420         border-radius
79421         https://bugs.webkit.org/show_bug.cgi?id=27584
79422
79423         Test: fast/borders/border-radius-parsing.html
79424
79425         Dropped the -webkit- prefix from the individual corner border-radius
79426         properties. Added border-radius with the / and 4-value syntax, and
79427         maintained -webkit-border-radius with legacy 2-value syntax.
79428
79429         * css/CSSComputedStyleDeclaration.cpp:
79430         (computedProperties): Removed Webkit prefix.
79431         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
79432         * css/CSSParser.cpp:
79433         (WebCore::CSSParser::parseValue): Removed Webkit prefix from the
79434             single-corner properties. Call out to parseBorderRadius() to parse
79435             border-radius and -webkit-border-radius. 
79436         (WebCore::completeBorderRadii): Added this helper function that
79437             completes the values for all four corners when fewer than four are
79438             specified.
79439         (WebCore::CSSParser::parseBorderRadius): Added.
79440         (WebCore::cssPropertyID): Map -webkit-border-*-*-radius to the
79441             unprefixed property.
79442         * css/CSSParser.h:
79443         * css/CSSPropertyLonghand.cpp:
79444         (WebCore::initShorthandMap): Removed the Webkit prefix. Added an entry
79445             for border-radius. Kept the entry for -webkit-border-radius.
79446         * css/CSSPropertyNames.in: Removed the -webkit- prefix from the
79447             single-corenr properties. Added border-radius. Kept
79448             -webkit-border-radius because of its conflicting syntax.
79449         * css/CSSStyleSelector.cpp:
79450         (WebCore::CSSStyleSelector::applyProperty): Removed the Webkit prefix.
79451         * page/animation/AnimationBase.cpp:
79452         (WebCore::ensurePropertyMap): Ditto.
79453
79454 2009-07-28  Drew Wilson  <atwilson@google.com>
79455
79456         Reviewed by David Levin.
79457
79458         Refactored dedicated-worker-specific code from WorkerThread into DedicatedWorkerThread class.
79459
79460         WorkerThread needs to be refactored to separate out dedicated-worker functionality.
79461         https://bugs.webkit.org/show_bug.cgi?id=27697
79462
79463         This is just a refactoring, so existing tests suffice.
79464
79465         * GNUmakefile.am:
79466         Added DedicatedWorkerThread.h/.cpp
79467         * WebCore.gypi:
79468         Added DedicatedWorkerThread.h/.cpp
79469         * WebCore.pro:
79470         Added DedicatedWorkerThread.h/.cpp
79471         * WebCore.vcproj/WebCore.vcproj:
79472         Added DedicatedWorkerThread.h/.cpp
79473         * WebCore.xcodeproj/project.pbxproj:
79474         Added DedicatedWorkerThread.h/.cpp
79475         * bindings/js/WorkerScriptController.cpp:
79476         (WebCore::WorkerScriptController::evaluate):
79477         Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now.
79478         * bindings/v8/WorkerScriptController.cpp:
79479         (WebCore::WorkerScriptController::evaluate):
79480         Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now.
79481         * workers/DedicatedWorkerContext.cpp:
79482         (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
79483         (WebCore::DedicatedWorkerContext::addMessage):
79484         Forwards console messages to parent document.
79485         (WebCore::DedicatedWorkerContext::importScripts):
79486         Now sends the updated pending activity status after importing scripts.
79487         (WebCore::DedicatedWorkerContext::thread):
79488         Helper routine that casts WorkerThread to DedicatedWorkerThread.
79489         * workers/DedicatedWorkerContext.h:
79490         (WebCore::DedicatedWorkerContext::create):
79491         * workers/DedicatedWorkerThread.cpp: Added.
79492         (WebCore::DedicatedWorkerThread::create):
79493         (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
79494         (WebCore::DedicatedWorkerThread::~DedicatedWorkerThread):
79495         (WebCore::DedicatedWorkerThread::createWorkerContext):
79496         Implementation of the base class factory method to create the appropriate worker context.
79497         (WebCore::DedicatedWorkerThread::runEventLoop):
79498         Reports pending activity before running the event loop.
79499         * workers/DedicatedWorkerThread.h: Added.
79500         (WebCore::DedicatedWorkerThread::workerObjectProxy):
79501         Moved from base class.
79502         * workers/WorkerContext.cpp:
79503         * workers/WorkerContext.h:
79504         * workers/WorkerMessagingProxy.cpp:
79505         (WebCore::WorkerMessagingProxy::startWorkerContext):
79506         Now creates DedicatedWorkerThread.
79507         (WebCore::WorkerMessagingProxy::workerThreadCreated):
79508         Now is passed a DedicatedWorkerThread.
79509         * workers/WorkerMessagingProxy.h:
79510         * workers/WorkerThread.cpp:
79511         (WebCore::WorkerThread::WorkerThread):
79512         Moved workerObjectProxy param into derived class constructor.
79513         (WebCore::WorkerThread::workerThread):
79514         (WebCore::WorkerThread::runEventLoop):
79515         Moved the event loop execution into a virtual function so DedicatedWorkerThread could report pending activity first.
79516         * workers/WorkerThread.h:
79517         (WebCore::WorkerThread::workerContext):
79518
79519 2009-07-28  Nate Chapin  <japhet@chromium.org>
79520
79521         Reviewed by Darin Fisher.
79522
79523         Fix V8NPUtils' handling of UTF8 identifiers.
79524
79525         https://bugs.webkit.org/show_bug.cgi?id=27782
79526
79527         * bindings/v8/V8NPUtils.cpp:
79528         (getStringIdentifier): Treat the input string as UTF8 instead of ASCII,
79529             since NPN_GetStringIdentifier() is expecting UTF8.
79530
79531 2009-07-28  Jeremy Orlow  <jorlow@chromium.org>
79532
79533         Reviewed by Eric Seidel.
79534
79535         Misc cleanup in DOM Storage.
79536         https://bugs.webkit.org/show_bug.cgi?id=27517
79537
79538         The StorageAreaImpl changes are all for Chromium.  Because the DOM Storage implementation
79539         runs in a different process from where the Frame object lives, Chromium passes in NULL
79540         for the sourceFrame.  This affects events and handling privateBrowsing.  Chromium's
79541         incognito mode does not use the private browsing setting, so that's not a concern.  As for
79542         events, I've decided to simply disable them for now.
79543
79544         The StorageNamespaceImpl changes get rid of a stale comment (path is .copy'ed for thread-
79545         safety) and to add an assert that .copy is only ever called on a SessionStorage namespace.
79546
79547         Also cleaned up tailing whitespace in several parts of StorageAreaImpl.cpp
79548
79549         * storage/StorageArea.cpp: Removed.  (It was empty anyway.)
79550         * storage/StorageAreaImpl.cpp:
79551         (WebCore::privateBrowsingEnabled): Factored out the check.
79552         (WebCore::StorageAreaImpl::setItem): Make frame optional.
79553         (WebCore::StorageAreaImpl::removeItem): ditto
79554         (WebCore::StorageAreaImpl::clear): ditto
79555         (WebCore::StorageAreaImpl::dispatchStorageEvent): Disable in Chromium for now.
79556         * storage/StorageNamespaceImpl.cpp:
79557         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl): Remove stale comment.
79558         (WebCore::StorageNamespaceImpl::copy): Add assert that it's SessionStorage.
79559
79560 2009-07-28  Alpha Lam  <hclam@google.com>
79561
79562         Reviewed by David Levin.
79563
79564         [chromium] Default UI controls for <video> has rendering problems
79565         https://bugs.webkit.org/show_bug.cgi?id=27669
79566
79567         Fixes the bug that <video> in MediaDocument is 1 pixel tall if
79568         it is playing an audio file by changing the style to be 32px
79569         tall.
79570
79571         Also fixes a problem of default styled audio tag that hides the
79572         all the time digits by expanding the width to 300px.
79573
79574         Changed the size and position of the current time and remaining
79575         display to give enough space for the hour digit to be shown.
79576
79577         There are no new tests provided because this is already covered
79578         by existing tests.
79579
79580         * css/mediaControlsChromium.css:
79581
79582 2009-07-28  Jakub Wieczorek  <faw217@gmail.com>
79583
79584         Reviewed by Eric Seidel.
79585
79586         Fix style in PluginPackage and PluginDatabase.
79587         Part of https://bugs.webkit.org/show_bug.cgi?id=27651
79588
79589         * plugins/PluginDatabase.cpp:
79590         (WebCore::PluginDatabase::refresh):
79591         (WebCore::PluginDatabase::findPlugin):
79592         * plugins/PluginDatabase.h:
79593         * plugins/PluginPackage.cpp:
79594         (WebCore::PluginPackage::~PluginPackage):
79595         (WebCore::PluginPackage::freeLibrarySoon):
79596         (WebCore::PluginPackage::freeLibraryTimerFired):
79597         (WebCore::PluginPackage::unloadWithoutShutdown):
79598         (WebCore::PluginPackage::initializeBrowserFuncs):
79599         * plugins/PluginPackage.h:
79600
79601 2009-07-28  Anantanarayanan Iyengar  <ananta@chromium.org>
79602
79603         Reviewed by Dimitri Glazkov.
79604
79605         https://bugs.webkit.org/show_bug.cgi?id=27769
79606         The V8 bindings function V8Proxy::createNewContext can be 
79607         called during frame shutdown where the activeDocumentLoader
79608         function in FrameLoader can return NULL. Added a check for the
79609         same.
79610
79611         No new tests added as this is an edge case where the V8 
79612         bindings code is reentered via NPAPI during shutdown. It is 
79613         difficult to write a consistently reproducible test for this.
79614
79615         * bindings/v8/V8Proxy.cpp:
79616         (WebCore::V8Proxy::createNewContext):
79617
79618 2009-07-28  Ivan Posva  <iposva@chromium.org>
79619
79620         Reviewed by Dimitri Glazkov.
79621
79622         Associate the CanvasPixelData backing store with the
79623         indexed properties of the wrapper object.
79624
79625         https://bugs.webkit.org/show_bug.cgi?id=27773
79626
79627         No new tests: Relying on existing Canvas tests.
79628
79629         * bindings/v8/V8DOMWrapper.cpp:
79630         (WebCore::V8DOMWrapper::getTemplate):
79631         (WebCore::V8DOMWrapper::convertToV8Object):
79632
79633 2009-07-28  Xan Lopez  <xlopez@igalia.com>
79634
79635         Reviewed by Gustavo Noronha.
79636
79637         Nuke all references to JSWorkerContextBase.lut.h, it was removed
79638         back in April.
79639
79640         * GNUmakefile.am:
79641
79642 2009-07-28  Robert Agoston  <Agoston.Robert@stud.u-szeged.hu>
79643
79644         Reviewed by Simon Hausmann.
79645
79646         Fixed references to script generate-webkitversion.pl, and
79647         removed duplicated generate-webkitversion.pl
79648
79649         https://bugs.webkit.org/show_bug.cgi?id=27158
79650
79651         * WebCore.pro:
79652         * platform/generate-webkitversion.pl: Removed.
79653
79654 2009-07-28  Pavel Feldman  <pfeldman@chromium.org>
79655
79656         Reviewed by Dmitry Glazkov.
79657
79658         Web Inspector: encapsulate ScriptState into the ScriptObject, get rid of
79659         InspectorJSONObject.
79660
79661         https://bugs.webkit.org/show_bug.cgi?id=27766
79662
79663         * GNUmakefile.am:
79664         * WebCore.gypi:
79665         * WebCore.pro:
79666         * WebCore.vcproj/WebCore.vcproj:
79667         * WebCore.xcodeproj/project.pbxproj:
79668         * WebCoreSources.bkl:
79669         * bindings/js/ScriptArray.cpp:
79670         (WebCore::ScriptArray::ScriptArray):
79671         (WebCore::ScriptArray::set):
79672         (WebCore::ScriptArray::length):
79673         (WebCore::ScriptArray::createNew):
79674         * bindings/js/ScriptArray.h:
79675         * bindings/js/ScriptFunctionCall.cpp:
79676         (WebCore::ScriptFunctionCall::construct):
79677         * bindings/js/ScriptObject.cpp:
79678         (WebCore::ScriptObject::ScriptObject):
79679         (WebCore::ScriptObject::set):
79680         (WebCore::ScriptObject::createNew):
79681         (WebCore::ScriptGlobalObject::get):
79682         * bindings/js/ScriptObject.h:
79683         * bindings/js/ScriptObjectQuarantine.cpp:
79684         (WebCore::getQuarantinedScriptObject):
79685         * bindings/v8/ScriptArray.cpp:
79686         (WebCore::ScriptArray::ScriptArray):
79687         (WebCore::ScriptArray::set):
79688         (WebCore::ScriptArray::length):
79689         (WebCore::ScriptArray::createNew):
79690         * bindings/v8/ScriptArray.h:
79691         * bindings/v8/ScriptFunctionCall.cpp:
79692         (WebCore::ScriptFunctionCall::construct):
79693         * bindings/v8/ScriptObject.cpp:
79694         (WebCore::ScriptObject::ScriptObject):
79695         (WebCore::ScriptObject::set):
79696         (WebCore::ScriptObject::createNew):
79697         (WebCore::ScriptGlobalObject::get):
79698         * bindings/v8/ScriptObject.h:
79699         (WebCore::ScriptObject::ScriptObject):
79700         * bindings/v8/ScriptObjectQuarantine.cpp:
79701         (WebCore::getQuarantinedScriptObject):
79702         * inspector/ConsoleMessage.cpp:
79703         (WebCore::ConsoleMessage::addToConsole):
79704         * inspector/InspectorDOMStorageResource.cpp:
79705         (WebCore::InspectorDOMStorageResource::bind):
79706         * inspector/InspectorDatabaseResource.cpp:
79707         (WebCore::InspectorDatabaseResource::bind):
79708         * inspector/InspectorFrontend.cpp:
79709         (WebCore::InspectorFrontend::newScriptArray):
79710         (WebCore::InspectorFrontend::newScriptObject):
79711         (WebCore::InspectorFrontend::addMessageToConsole):
79712         (WebCore::InspectorFrontend::addResource):
79713         (WebCore::InspectorFrontend::updateResource):
79714         (WebCore::InspectorFrontend::addDatabase):
79715         (WebCore::InspectorFrontend::addDOMStorage):
79716         * inspector/InspectorFrontend.h:
79717         * inspector/InspectorJSONObject.cpp: Removed.
79718         * inspector/InspectorJSONObject.h: Removed.
79719         * inspector/InspectorResource.cpp:
79720         (WebCore::populateHeadersObject):
79721         (WebCore::InspectorResource::createScriptObject):
79722         (WebCore::InspectorResource::updateScriptObject):
79723
79724 2009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
79725
79726         Reviewed by George Staikos.
79727
79728         [WML] Variable substitution recursion seems to have bugs
79729         https://bugs.webkit.org/show_bug.cgi?id=27726
79730
79731         Allow <setvar> elements to depend on the value specified by preceeding <setvar> elements.
79732         Required by the specification - assure it only works in linear order. A setvar element may
79733         not depend on the variable state of a following setvar element, only the previous ones.
79734
79735         Extend wml/variable-reference-valid.html layout test to cover these cases.
79736
79737         * wml/WMLTaskElement.cpp:
79738         (WebCore::WMLTaskElement::storeVariableState):
79739
79740 2009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
79741
79742         Reviewed by George Staikos.
79743
79744         [WML] Page title doesn't update after variable substitution, if it contained variables
79745         https://bugs.webkit.org/show_bug.cgi?id=27725
79746
79747         Fix bug in containsVariableReference() function, we we're decreasing the nameEndPosition
79748         too much, leading to a bug with 1-char variable names, which were not detected properly.
79749
79750         Extend wml/variable-reference-valid.html layout test to cover 1-char variable names.
79751         Also fixes manual-tests/wml/task-refresh-in-anchor.wml, which happened to use 1-char variable names.
79752
79753         * wml/WMLVariables.cpp:
79754         (WebCore::containsVariableReference):
79755
79756 2009-07-28  Robert Hogan  <robert@roberthogan.net>
79757
79758         Reviewed by Simon Hausmann.
79759
79760         Add WebKit version API to Qt.
79761
79762         Get the current version of WebKit from WebKit/mac/Configurations/Version.xcconfig
79763         at compile time and make it available to webkit ports through WebKitVersion.h.
79764
79765         https://bugs.webkit.org/show_bug.cgi?id=27158
79766
79767         * WebCore.pro: Call generate-webkitversion.pl
79768
79769 2009-07-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
79770
79771         Unreviewed make dist build fix.
79772
79773         * GNUmakefile.am:
79774
79775 2009-07-28  Mike Fenton  <mike.fenton@torchmobile.com>
79776
79777         Reviewed by Adam Treat.
79778
79779         Replace hardcoded separator text with proper separator.
79780         Also adjusts include order as per style guidelines.
79781
79782         https://bugs.webkit.org/show_bug.cgi?id=27763
79783
79784         * platform/qt/PopupMenuQt.cpp:
79785         (WebCore::PopupMenu::populate):
79786
79787 2009-07-28  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
79788
79789         Reviewed by Steve Falkenburg.
79790
79791         Add output directory for VS pre-build steps to enable out-of-tree builds
79792
79793         https://bugs.webkit.org/show_bug.cgi?id=27700
79794
79795         The tmp.obj file is now placed in the intermediate build directory.
79796
79797         * WebCore.vcproj/WebCoreCommon.vsprops:
79798
79799 2009-07-28  Pavel Feldman  <pfeldman@chromium.org>
79800
79801         Reviewed by Timothy Hatcher.
79802
79803         Web Inspector: Add inspected node using public console API.
79804
79805         https://bugs.webkit.org/show_bug.cgi?id=27758
79806
79807         * inspector/front-end/Console.js:
79808         (WebInspector.Console.prototype.addInspectedNode):
79809         * inspector/front-end/ElementsPanel.js:
79810         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
79811         (WebInspector.ElementsPanel):
79812
79813 2009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
79814
79815         Reviewed by George Staikos.
79816
79817         [WML] <do> elements with a <noop> task shouldn't be exposed to the user
79818         https://bugs.webkit.org/show_bug.cgi?id=27724
79819
79820         Fix WMLNoopElement to disable it's parent WMLDoElement, as required by the spec.
79821         Moved manual-tests/wml/task-noop-in-do.wml to LayoutTests/fast/wml/task-noop-in-do.wml.
79822
79823         * manual-tests/wml/task-noop-in-do.wml: Removed.
79824         * wml/WMLNoopElement.cpp:
79825         (WebCore::WMLNoopElement::insertedIntoDocument):
79826
79827 2009-07-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
79828
79829         Reviewed by Simon Hausmann.
79830
79831         [Qt] Disable some compiler warnings for the win build
79832         https://bugs.webkit.org/show_bug.cgi?id=27709
79833
79834         * WebCore.pro: Move the msvc options to WebKit.pri
79835
79836 2009-07-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
79837
79838         Reviewed by Tor Arne Vestbø
79839
79840         Make equality checks for logging channel names ignore casing.
79841
79842         * platform/Logging.cpp:
79843         (WebCore::getChannelFromName):
79844
79845 2009-07-28  Jan Michael Alonzo  <jmalonzo@webkit.org>
79846
79847         Reviewed by Xan Lopez.
79848
79849         [Gtk] Refactor ResourceHandleSoup - make start* functions static
79850         https://bugs.webkit.org/show_bug.cgi?id=27687
79851
79852         * platform/network/ResourceHandle.h:
79853         * platform/network/soup/ResourceHandleSoup.cpp:
79854         (WebCore::startData):
79855         (WebCore::startHttp):
79856         (WebCore::):
79857
79858 2009-07-28  Xan Lopez  <xlopez@igalia.com>
79859
79860         Reviewed by Gustavo Noronha.
79861
79862         https://bugs.webkit.org/show_bug.cgi?id=25415
79863         [GTK][ATK] Please implement support for get_text_at_offset
79864
79865         Do not cache the pango layout in the object, since the layout of
79866         the page can change between calls.
79867
79868         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
79869
79870 2009-07-23  Anton Muhin  <antonm@chromium.org>
79871
79872         Reviewed by Adam Barth.
79873
79874         Simplify management of Nodes in weak handles callbacks.
79875         https://bugs.webkit.org/show_bug.cgi?id=27628
79876
79877         * bindings/v8/V8DOMMap.cpp:
79878         (WebCore::weakNodeCallback):
79879
79880 2009-07-28  Brian Weinstein  <bweinstein@apple.com>
79881
79882         Rubber-stamped by David Levin.
79883
79884         Fix error handling of GetIconInfo (returns a bool).
79885
79886         * platform/win/DragImageWin.cpp:
79887         (WebCore::createDragImageIconForCachedImage):
79888
79889 2009-07-27  Brian Weinstein  <bweinstein@apple.com>
79890
79891         Reviewed by Jon Honeycutt.
79892
79893         Fix of <rdar://5015949> Drag Icon is not produced for over sized images.
79894         
79895         Implemented the createDragImageIconForCachedImage function by using the Windows 
79896         SHFILEINFO structure.
79897
79898         * platform/win/DragImageWin.cpp:
79899         (WebCore::createDragImageIconForCachedImage):
79900
79901 2009-07-25  Adam Barth  <abarth@webkit.org>
79902
79903         Reviewed by David Levin.
79904
79905         [V8] Split up V8DOMMap.cpp by class
79906         https://bugs.webkit.org/show_bug.cgi?id=27685
79907
79908         No behavior change.  Just copy-and-paste.
79909
79910         * WebCore.gypi:
79911         * bindings/v8/ChildThreadDOMData.cpp: Added.
79912         (WebCore::ChildThreadDOMData::ChildThreadDOMData):
79913         (WebCore::ChildThreadDOMData::getStore):
79914         * bindings/v8/ChildThreadDOMData.h: Added.
79915         * bindings/v8/DOMData.cpp: Added.
79916         (WebCore::DOMData::DOMData):
79917         (WebCore::DOMData::getCurrent):
79918         (WebCore::DOMData::getCurrentMainThread):
79919         (WebCore::DOMData::handleWeakObject):
79920         (WebCore::DOMData::ensureDeref):
79921         (WebCore::DOMData::derefObject):
79922         (WebCore::DOMData::derefDelayedObjects):
79923         (WebCore::DOMData::derefDelayedObjectsInCurrentThread):
79924         (WebCore::DOMData::removeObjectsFromWrapperMap):
79925         * bindings/v8/DOMData.h: Added.
79926         (WebCore::):
79927         * bindings/v8/DOMDataStore.cpp: Added.
79928         (WebCore::DOMDataStore::DOMDataStore):
79929         (WebCore::DOMDataStore::~DOMDataStore):
79930         (WebCore::DOMDataStore::allStores):
79931         (WebCore::DOMDataStore::allStoresMutex):
79932         (WebCore::DOMDataStore::getDOMWrapperMap):
79933         (WebCore::forget):
79934         (WebCore::DOMDataStore::weakDOMObjectCallback):
79935         (WebCore::DOMDataStore::weakActiveDOMObjectCallback):
79936         (WebCore::DOMDataStore::weakNodeCallback):
79937         (WebCore::DOMDataStore::weakSVGElementInstanceCallback):
79938         (WebCore::DOMDataStore::weakSVGObjectWithContextCallback):
79939         * bindings/v8/DOMDataStore.h: Added.
79940         (WebCore::DOMDataStore::):
79941         (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap):
79942         (WebCore::DOMDataStore::InternalDOMWrapperMap::forgetOnly):
79943         (WebCore::DOMDataStore::domData):
79944         (WebCore::DOMDataStore::domNodeMap):
79945         (WebCore::DOMDataStore::domObjectMap):
79946         (WebCore::DOMDataStore::activeDomObjectMap):
79947         (WebCore::DOMDataStore::domSvgElementInstanceMap):
79948         (WebCore::DOMDataStore::domSvgObjectWithContextMap):
79949         * bindings/v8/MainThreadDOMData.cpp: Added.
79950         (WebCore::MainThreadDOMData::MainThreadDOMData):
79951         (WebCore::MainThreadDOMData::getStore):
79952         * bindings/v8/MainThreadDOMData.h: Added.
79953         * bindings/v8/ScopedDOMDataStore.cpp: Added.
79954         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
79955         (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
79956         * bindings/v8/ScopedDOMDataStore.h: Added.
79957         * bindings/v8/StaticDOMDataStore.cpp: Added.
79958         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
79959         * bindings/v8/StaticDOMDataStore.h: Added.
79960         * bindings/v8/V8DOMMap.cpp:
79961
79962 2009-07-27  Mark Rowe  <mrowe@apple.com>
79963
79964         Reviewed by Darin Adler.
79965
79966         <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread
79967
79968         Add a method for detecting if we're being used within Microsoft Messenger.
79969
79970         * WebCore.base.exp: Export applicationIsMicrosoftMessenger and sort existing entries.
79971         * platform/mac/RuntimeApplicationChecks.h:
79972         * platform/mac/RuntimeApplicationChecks.mm:
79973         (WebCore::applicationIsMicrosoftMessenger):
79974
79975 2009-07-27  Jian Li  <jianli@chromium.org>
79976
79977         Reviewed by David Levin.
79978
79979         [V8] Implement EventListener::reportError for V8 event listeners in worker context. 
79980         https://bugs.webkit.org/show_bug.cgi?id=27731
79981
79982         * bindings/v8/V8WorkerContextEventListener.cpp:
79983         (WebCore::V8WorkerContextEventListener::reportError):
79984         * bindings/v8/V8WorkerContextEventListener.h:
79985
79986 2009-07-27  Stephen White  <senorblanco@chromium.org>
79987
79988         Reviewed by Eric Seidel and David Levin.
79989
79990         Re-apply chromium/skia border fix (originally landed in r46157,
79991         reverted in r46363), since it was not the cause of the reliability
79992         failures in Chromium.
79993
79994         http://bugs.webkit.org/show_bug.cgi?id=27388
79995
79996         * platform/graphics/skia/GraphicsContextSkia.cpp:
79997         (WebCore::GraphicsContext::drawLine):
79998         * platform/graphics/skia/PlatformContextSkia.cpp:
79999         (PlatformContextSkia::setupPaintForStroking):
80000
80001 2009-07-27  Ryosuke Niwa  <rniwa@webkit.org>
80002
80003         Reviewed by Justin Garcia.
80004
80005         createMarkup does not handle CSS properly
80006         https://bugs.webkit.org/show_bug.cgi?id=27660
80007
80008         This patch isolates code that creates markup for styles in addStyleMarkup
80009         It also makes all presentational elements (u, s, strike, i, em, b, strong) special ancestor in createMarkup
80010         so that we can assume no text decoration style is passed to addStyleMarkup.
80011
80012         * editing/markup.cpp:
80013         (WebCore::propertyMissingOrEqualToNone): Changed the first argument from CSSMutableStyleDecleration to CSSStyleDeclaration
80014         (WebCore::isElementPresentational): Used to be elementHasTextDecorationProperty, now supports presentational tags
80015         (WebCore::addStyleMarkup): Adds markup for style span and div
80016         (WebCore::createMarkup): Uses isElementPresentational and addStyleMarkup
80017
80018 2009-07-27  Eric Seidel  <eric@webkit.org>
80019
80020         Reviewed by Adam Barth.
80021
80022         fix more obvious global object lookups
80023         https://bugs.webkit.org/show_bug.cgi?id=27745
80024
80025         No new tests for these changes.  I believe in many cases
80026         testing to be impossible.  Lack of testing justification next to
80027         each change below.  The remaining pieces of bug 27634 will all
80028         need tests.
80029
80030         * bindings/js/JSDOMWindowBase.cpp:
80031         (WebCore::JSDOMWindowBase::updateDocument): not testable.
80032         * bindings/js/JSDataGridColumnListCustom.cpp:
80033         (WebCore::JSDataGridColumnList::nameGetter): no testing for this incomplete feature.
80034         * bindings/js/JSEventListener.cpp:
80035         (WebCore::JSEventListener::handleEvent): would require outer frame to trigger an event in the inner frame
80036         * bindings/js/JSEventTarget.cpp:
80037         (WebCore::toJS): covered by other tests, always correct to pass the globalObject through.
80038         * bindings/js/JSHTMLElementCustom.cpp:
80039         (WebCore::JSHTMLElement::pushEventHandlerScope): unclear when this could be triggered.
80040         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
80041         (WebCore::JSHTMLOptionsCollection::remove): toJS seems superfluous here to begin with.
80042         * bindings/js/JSLazyEventListener.cpp:
80043         (WebCore::JSLazyEventListener::parseCode): would require outer frame to trigger inner frame event.
80044         * bindings/js/ScriptController.cpp:
80045         (WebCore::ScriptController::jsObjectForPluginElement): only used for NPAPI binding, unclear how to test.
80046         * bindings/js/ScriptEventListener.cpp:
80047         (WebCore::createAttributeEventListener): unclear how to test.
80048         * bindings/js/ScriptObject.cpp:
80049         (WebCore::ScriptGlobalObject::set): unclear how to test/inspector only.
80050         * bindings/js/ScriptObjectQuarantine.cpp:
80051         (WebCore::getQuarantinedScriptObject): unclear how to test.
80052         * bindings/objc/DOMInternal.mm:
80053         (-[WebScriptObject _initializeScriptDOMNodeImp]): unclear how to test.
80054
80055 2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
80056
80057         Reviewed by George Staikos.
80058
80059         [WML] 'title' attribute handling not correct for <a> / <anchor> elements
80060         https://bugs.webkit.org/show_bug.cgi?id=27720
80061
80062         Unify title() implementation in WMLElement instead of several copies of the same logic.
80063         We forgot WMLAnchorElement/WMLAElement, that lead to bugs. Fixes hovering links in the
80064         WML manual-test suite.
80065
80066         * wml/WMLCardElement.cpp:
80067         * wml/WMLCardElement.h:
80068         * wml/WMLElement.cpp:
80069         (WebCore::WMLElement::title):
80070         * wml/WMLElement.h:
80071         * wml/WMLOptGroupElement.cpp:
80072         * wml/WMLOptGroupElement.h:
80073         * wml/WMLSelectElement.cpp:
80074         * wml/WMLSelectElement.h:
80075
80076 2009-07-27  Adam Treat  <adam.treat@torchmobile.com>
80077
80078         Speculative build fix for Windows and WinCE.
80079
80080         * plugins/win/PluginPackageWin.cpp:
80081         (WebCore::PluginPackage::load):
80082
80083 2009-07-27  Ojan Vafai  <ojan@chromium.org>
80084
80085         Reviewed by Darin Adler.
80086
80087         https://bugs.webkit.org/show_bug.cgi?id=27474
80088         Fixes crashes due to renderer getting destroyed in updateLayout.
80089         We need to call updateLayout before we call into the renderer.
80090         Removed the updateLayout call from RenderTextControl and moved it
80091         into the calling sites.
80092         
80093         Also changes updateLayout to updateLayoutIgnorePendingStylesheets so
80094         this works with pending stylesheets. Unfortunately, this seems to be
80095         untestable. Loading an external stylesheet and then having an inline
80096         script hit this code did not result in an pending stylesheets.
80097         
80098         The are other cases of this bug in the rendering code. I'll file a 
80099         followup bug to audit the calls to updateLayout.
80100
80101         Test: fast/dom/text-control-crash-on-select.html
80102
80103         * dom/Document.h:
80104         (WebCore::Document::inStyleRecalc): Added so the ASSERTs in updateFocusAppearance
80105             and setSelectionRange could deal with cases of reentrancy into updateLayout
80106             calls. This happens in a couple layout tests.
80107         * dom/InputElement.cpp:
80108         (WebCore::InputElement::updateSelectionRange):
80109         * html/HTMLInputElement.cpp:
80110         (WebCore::isTextFieldWithRendererAfterUpdateLayout):
80111         (WebCore::HTMLInputElement::setSelectionStart):
80112         (WebCore::HTMLInputElement::setSelectionEnd):
80113         (WebCore::HTMLInputElement::select):
80114         * html/HTMLTextAreaElement.cpp:
80115         (WebCore::rendererAfterUpdateLayout):
80116         (WebCore::HTMLTextAreaElement::setSelectionStart):
80117         (WebCore::HTMLTextAreaElement::setSelectionEnd):
80118         (WebCore::HTMLTextAreaElement::select):
80119         (WebCore::HTMLTextAreaElement::setSelectionRange):
80120         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
80121         * rendering/RenderTextControl.cpp:
80122         (WebCore::RenderTextControl::setSelectionRange):
80123
80124 2009-07-27  Dimitri Glazkov  <dglazkov@chromium.org>
80125
80126         Reviewed by Dave Levin.
80127
80128         [V8] Remove parameterless frame/window retrieval methods from V8Proxy.
80129         https://bugs.webkit.org/show_bug.cgi?id=27737
80130
80131         Refactoring, no new behavior, covered by existing tests.
80132
80133         * bindings/v8/ScriptCallStack.cpp:
80134         (WebCore::ScriptCallStack::ScriptCallStack):
80135         * bindings/v8/V8NPUtils.cpp:
80136         (convertV8ObjectToNPVariant): Ditto.
80137         * bindings/v8/V8Proxy.cpp:
80138         (WebCore::V8Proxy::retrieve): Ditto.
80139         (WebCore::V8Proxy::canAccessPrivate): Ditto.
80140         * bindings/v8/V8Proxy.h: Removed parameterless retrieveWindow/retrieveProxy decls.
80141         * bindings/v8/custom/V8DatabaseCustom.cpp:
80142         (WebCore::CALLBACK_FUNC_DECL): Changed to use V8Proxy::retrieveFrameForCurrentContext().
80143         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
80144         (WebCore::CALLBACK_FUNC_DECL): Ditto.
80145         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
80146         (WebCore::CALLBACK_FUNC_DECL): Ditto.
80147         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
80148         (WebCore::CALLBACK_FUNC_DECL): Ditto.
80149         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
80150         (WebCore::CALLBACK_FUNC_DECL): Ditto.
80151         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
80152         (WebCore::CALLBACK_FUNC_DECL): Ditto.
80153         * bindings/v8/custom/V8WorkerCustom.cpp:
80154         (WebCore::CALLBACK_FUNC_DECL): Ditto.
80155         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
80156         (WebCore::CALLBACK_FUNC_DECL): Ditto.
80157
80158 2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
80159
80160         Reviewed by George Staikos.
80161
80162         [WML] 'onpick' intrinsic event handling missing
80163         https://bugs.webkit.org/show_bug.cgi?id=27723
80164
80165         Trigger 'onpick' intrinsic events from WMLOptionElement::setSelectedState().
80166         All was in place, just forgot to enable the relevant code.
80167
80168         Fixes manual-tests/wml/select-onpick-event.wml
80169         Test: wml/option-element-onpick.html
80170
80171         * wml/WMLOptionElement.cpp:
80172         (WebCore::WMLOptionElement::setSelectedState):
80173
80174 2009-07-27  Alexey Proskuryakov  <ap@webkit.org>
80175
80176         Reviewed by Darin Adler.
80177
80178         https://bugs.webkit.org/show_bug.cgi?id=27735
80179         Give a helpful name to JSLock constructor argument
80180
80181         * bindings/js/GCController.cpp:
80182         (WebCore::collect):
80183         (WebCore::GCController::gcTimerFired):
80184         (WebCore::GCController::garbageCollectNow):
80185         * bindings/js/JSCustomPositionCallback.cpp:
80186         (WebCore::JSCustomPositionCallback::handleEvent):
80187         * bindings/js/JSCustomPositionErrorCallback.cpp:
80188         (WebCore::JSCustomPositionErrorCallback::handleEvent):
80189         * bindings/js/JSCustomSQLStatementCallback.cpp:
80190         (WebCore::JSCustomSQLStatementCallback::handleEvent):
80191         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
80192         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
80193         * bindings/js/JSCustomSQLTransactionCallback.cpp:
80194         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
80195         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
80196         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
80197         * bindings/js/JSCustomVoidCallback.cpp:
80198         (WebCore::JSCustomVoidCallback::handleEvent):
80199         * bindings/js/JSCustomXPathNSResolver.cpp:
80200         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
80201         * bindings/js/JSEventCustom.cpp:
80202         (WebCore::toJS):
80203         * bindings/js/JSEventListener.cpp:
80204         (WebCore::JSEventListener::handleEvent):
80205         * bindings/js/JSInspectorBackendCustom.cpp:
80206         (WebCore::JSInspectorBackend::currentCallFrame):
80207         (WebCore::JSInspectorBackend::profiles):
80208         * bindings/js/JSNodeFilterCondition.cpp:
80209         (WebCore::JSNodeFilterCondition::acceptNode):
80210         * bindings/js/ScheduledAction.cpp:
80211         (WebCore::ScheduledAction::executeFunctionInContext):
80212         * bindings/js/ScriptArray.cpp:
80213         (WebCore::ScriptArray::set):
80214         (WebCore::ScriptArray::createNew):
80215         * bindings/js/ScriptCachedFrameData.cpp:
80216         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
80217         (WebCore::ScriptCachedFrameData::restore):
80218         (WebCore::ScriptCachedFrameData::clear):
80219         * bindings/js/ScriptController.cpp:
80220         (WebCore::ScriptController::evaluate):
80221         (WebCore::ScriptController::clearWindowShell):
80222         (WebCore::ScriptController::initScript):
80223         (WebCore::ScriptController::updateDocument):
80224         (WebCore::ScriptController::bindingRootObject):
80225         (WebCore::ScriptController::windowScriptNPObject):
80226         (WebCore::ScriptController::jsObjectForPluginElement):
80227         (WebCore::ScriptController::clearScriptObjects):
80228         * bindings/js/ScriptControllerMac.mm:
80229         (WebCore::ScriptController::windowScriptObject):
80230         * bindings/js/ScriptEventListener.cpp:
80231         (WebCore::createAttributeEventListener):
80232         * bindings/js/ScriptFunctionCall.cpp:
80233         (WebCore::ScriptFunctionCall::appendArgument):
80234         (WebCore::ScriptFunctionCall::call):
80235         (WebCore::ScriptFunctionCall::construct):
80236         * bindings/js/ScriptObject.cpp:
80237         (WebCore::ScriptObject::set):
80238         (WebCore::ScriptObject::createNew):
80239         (WebCore::ScriptGlobalObject::set):
80240         (WebCore::ScriptGlobalObject::get):
80241         (WebCore::ScriptGlobalObject::remove):
80242         * bindings/js/ScriptObjectQuarantine.cpp:
80243         (WebCore::quarantineValue):
80244         (WebCore::getQuarantinedScriptObject):
80245         * bindings/js/ScriptValue.cpp:
80246         (WebCore::ScriptValue::getString):
80247         * bindings/js/WorkerScriptController.cpp:
80248         (WebCore::WorkerScriptController::initScript):
80249         (WebCore::WorkerScriptController::evaluate):
80250         * bindings/objc/WebScriptObject.mm:
80251         (-[WebScriptObject callWebScriptMethod:withArguments:]):
80252         (-[WebScriptObject evaluateWebScript:]):
80253         (-[WebScriptObject setValue:forKey:]):
80254         (-[WebScriptObject valueForKey:]):
80255         (-[WebScriptObject removeWebScriptKey:]):
80256         (-[WebScriptObject stringRepresentation]):
80257         (-[WebScriptObject webScriptValueAtIndex:]):
80258         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
80259         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
80260         * bridge/NP_jsobject.cpp:
80261         (_NPN_InvokeDefault):
80262         (_NPN_Invoke):
80263         (_NPN_Evaluate):
80264         (_NPN_GetProperty):
80265         (_NPN_SetProperty):
80266         (_NPN_RemoveProperty):
80267         (_NPN_HasProperty):
80268         (_NPN_HasMethod):
80269         (_NPN_Enumerate):
80270         (_NPN_Construct):
80271         * bridge/c/c_class.cpp:
80272         (JSC::Bindings::CClass::~CClass):
80273         (JSC::Bindings::CClass::methodsNamed):
80274         (JSC::Bindings::CClass::fieldNamed):
80275         * bridge/c/c_instance.cpp:
80276         (JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
80277         (JSC::Bindings::CInstance::invokeMethod):
80278         (JSC::Bindings::CInstance::invokeDefaultMethod):
80279         (JSC::Bindings::CInstance::invokeConstruct):
80280         (JSC::Bindings::CInstance::getPropertyNames):
80281         * bridge/c/c_runtime.cpp:
80282         (JSC::Bindings::CField::valueFromInstance):
80283         (JSC::Bindings::CField::setValueToInstance):
80284         * bridge/c/c_utility.cpp:
80285         (JSC::Bindings::convertValueToNPVariant):
80286         (JSC::Bindings::convertNPVariantToValue):
80287         * bridge/jni/jni_class.cpp:
80288         (JavaClass::JavaClass):
80289         (JavaClass::~JavaClass):
80290         * bridge/jni/jni_instance.cpp:
80291         (JavaInstance::stringValue):
80292         * bridge/jni/jni_jsobject.mm:
80293         (JavaJSObject::call):
80294         (JavaJSObject::eval):
80295         (JavaJSObject::getMember):
80296         (JavaJSObject::setMember):
80297         (JavaJSObject::removeMember):
80298         (JavaJSObject::getSlot):
80299         (JavaJSObject::setSlot):
80300         (JavaJSObject::toString):
80301         (JavaJSObject::convertValueToJObject):
80302         (JavaJSObject::convertJObjectToValue):
80303         * bridge/jni/jni_objc.mm:
80304         (JSC::Bindings::dispatchJNICall):
80305         * bridge/jni/jni_runtime.cpp:
80306         (JavaMethod::signature):
80307         * bridge/jni/jni_runtime.h:
80308         (JSC::Bindings::JavaString::JavaString):
80309         (JSC::Bindings::JavaString::_commonInit):
80310         (JSC::Bindings::JavaString::~JavaString):
80311         (JSC::Bindings::JavaString::UTF8String):
80312         * bridge/jni/jni_utility.cpp:
80313         (JSC::Bindings::convertValueToJValue):
80314         * bridge/objc/objc_instance.mm:
80315         (ObjcInstance::moveGlobalExceptionToExecState):
80316         (ObjcInstance::invokeMethod):
80317         (ObjcInstance::invokeDefaultMethod):
80318         (ObjcInstance::setValueOfUndefinedField):
80319         (ObjcInstance::getValueOfUndefinedField):
80320         * bridge/objc/objc_runtime.mm:
80321         (JSC::Bindings::ObjcField::valueFromInstance):
80322         (JSC::Bindings::ObjcField::setValueToInstance):
80323         * bridge/objc/objc_utility.mm:
80324         (JSC::Bindings::convertValueToObjcValue):
80325         (JSC::Bindings::convertNSStringToString):
80326         (JSC::Bindings::convertObjcValueToValue):
80327         * bridge/qt/qt_instance.cpp:
80328         (JSC::Bindings::QtRuntimeObjectImp::removeFromCache):
80329         (JSC::Bindings::QtInstance::~QtInstance):
80330         (JSC::Bindings::QtInstance::getQtInstance):
80331         (JSC::Bindings::QtInstance::createRuntimeObject):
80332         * bridge/qt/qt_runtime.cpp:
80333         (JSC::Bindings::convertValueToQVariant):
80334         (JSC::Bindings::convertQVariantToValue):
80335         (JSC::Bindings::QtRuntimeMetaMethod::call):
80336         (JSC::Bindings::QtRuntimeConnectionMethod::call):
80337         (JSC::Bindings::QtConnectionObject::execute):
80338         * bridge/runtime.cpp:
80339         (JSC::Bindings::Instance::createRuntimeObject):
80340         * inspector/InspectorController.cpp:
80341         (WebCore::InspectorController::addScriptProfile):
80342         * inspector/JavaScriptCallFrame.cpp:
80343         (WebCore::JavaScriptCallFrame::evaluate):
80344         * inspector/JavaScriptDebugServer.cpp:
80345         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
80346         * inspector/JavaScriptProfileNode.cpp:
80347         (WebCore::getTotalTime):
80348         (WebCore::getSelfTime):
80349         (WebCore::getTotalPercent):
80350         (WebCore::getSelfPercent):
80351         (WebCore::getNumberOfCalls):
80352         (WebCore::getChildren):
80353         (WebCore::getParent):
80354         (WebCore::getHead):
80355         (WebCore::getVisible):
80356         (WebCore::getCallUID):
80357         * plugins/PluginView.cpp:
80358         (WebCore::PluginView::start):
80359         (WebCore::getString):
80360         (WebCore::PluginView::performRequest):
80361         (WebCore::PluginView::bindingInstance):
80362         * plugins/gtk/PluginViewGtk.cpp:
80363         (WebCore::PluginView::dispatchNPEvent):
80364         (WebCore::PluginView::handleKeyboardEvent):
80365         (WebCore::PluginView::handleMouseEvent):
80366         (WebCore::PluginView::setNPWindowIfNeeded):
80367         (WebCore::PluginView::stop):
80368         (WebCore::PluginView::init):
80369         * plugins/mac/PluginViewMac.cpp:
80370         (WebCore::PluginView::stop):
80371         (WebCore::PluginView::setNPWindowIfNeeded):
80372         (WebCore::PluginView::dispatchNPEvent):
80373         * plugins/qt/PluginViewQt.cpp:
80374         (WebCore::PluginView::setNPWindowIfNeeded):
80375         (WebCore::PluginView::stop):
80376         (WebCore::PluginView::init):
80377         * plugins/win/PluginViewWin.cpp:
80378         (WebCore::PluginView::dispatchNPEvent):
80379         (WebCore::PluginView::handleKeyboardEvent):
80380         (WebCore::PluginView::handleMouseEvent):
80381         (WebCore::PluginView::setNPWindowRect):
80382         (WebCore::PluginView::stop):
80383
80384 2009-07-27  Yong Li  <yong.li@torchmobile.com>
80385
80386         Reviewed by George Staikos.
80387
80388         WINCE PORT: Make plugin work for WINCE
80389         https://bugs.webkit.org/show_bug.cgi?id=27713
80390
80391         * plugins/win/PluginDatabaseWin.cpp:
80392         (SHGetValue):
80393         (PathRemoveFileSpec):
80394         (WebCore::addWindowsMediaPlayerPluginDirectory):
80395         (WebCore::addMacromediaPluginDirectories):
80396         * plugins/win/PluginPackageWin.cpp:
80397         (WebCore::PluginPackage::load):
80398         * plugins/win/PluginViewWin.cpp:
80399         (WebCore::registerPluginView):
80400         (WebCore::PluginView::wndProc):
80401         (WebCore::PluginView::updatePluginWidget):
80402         (WebCore::PluginView::paintWindowedPluginIntoContext):
80403         (WebCore::PluginView::paint):
80404         (WebCore::PluginView::handleMouseEvent):
80405         (WebCore::PluginView::setParent):
80406         (WebCore::PluginView::setNPWindowRect):
80407         (WebCore::PluginView::stop):
80408         (WebCore::PluginView::init):
80409
80410 2009-07-27  Joseph Pecoraro  <joepeck02@gmail.com>
80411
80412         Inspector: Tab Through Element Attributes and CSS Properties When Editing
80413
80414         https://bugs.webkit.org/show_bug.cgi?id=27673
80415
80416         Reviewed by Timothy Hatcher.
80417
80418         * inspector/front-end/ElementsTreeOutline.js:
80419         (WebInspector.ElementsTreeElement):
80420         (WebInspector.ElementsTreeElement.prototype._startEditing): refactored parameter
80421         (WebInspector.ElementsTreeElement.prototype._addNewAttribute): refactored to remove excess
80422         (WebInspector.ElementsTreeElement.prototype._triggerEditAttribute): provide an attribute name and this will start editing it
80423         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded): move between attributes
80424         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
80425         * inspector/front-end/StylesSidebarPane.js:
80426         (WebInspector.StylePropertiesSection.prototype.onpopulate):
80427         (WebInspector.StylePropertiesSection.prototype.findTreeElementWithName): search through treeElements for a style property name
80428         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): initialize a blank property for adding new properties
80429         (WebInspector.StylePropertyTreeElement.prototype.updateTitle): add references to the name and value elements
80430         (WebInspector.StylePropertyTreeElement.prototype.):
80431         (WebInspector.StylePropertyTreeElement.prototype):
80432         * inspector/front-end/inspector.js:
80433         (WebInspector.startEditing.editingCommitted): include the move direction as a parameter to the commit callback
80434         (WebInspector.startEditing.element.handleKeyEvent): handle the tab key to specify the move direction
80435         (WebInspector.startEditing):
80436
80437 2009-07-27  Mike Fenton  <mike.fenton@torchmobile.com>
80438
80439         Reviewed by Adam Treat.
80440
80441         Add mapping FontWeight to QFont::Weight values as requested via FIXME.
80442         https://bugs.webkit.org/show_bug.cgi?id=27663
80443
80444         * platform/graphics/qt/FontCacheQt.cpp:
80445         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
80446         * platform/graphics/qt/FontPlatformData.h:
80447         (WebCore::FontPlatformData::toQFontWeight):
80448         * platform/graphics/qt/FontPlatformDataQt.cpp:
80449         (WebCore::FontPlatformData::FontPlatformData):
80450
80451 2009-07-27  Jakub Wieczorek  <faw217@gmail.com>
80452
80453          Reviewed by Adam Treat.
80454
80455          When clearing the plugin database, clear also the timestamp map.
80456
80457          https://bugs.webkit.org/show_bug.cgi?id=27651
80458
80459          Currently, if we clear the database, it will still think that it is up
80460          to date with the plugin directories so refreshing the database again
80461          after changing the search paths may not work.
80462
80463          * plugins/PluginDatabase.cpp:
80464          (WebCore::PluginDatabase::clear):
80465
80466 2009-07-27  Albert J. Wong  <ajwong@chromium.org>
80467
80468         Reviewed by David Levin.
80469
80470         Add in trivial implementation of FontPlatformData::description() for
80471         linux to fix build bustage in chromium.
80472
80473         Fix chromium linux build by adding missing function implementation.
80474         https://bugs.webkit.org/show_bug.cgi?id=27732
80475
80476         Tested with a build of chromium on linux.
80477
80478         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
80479         (WebCore::FontPlatformData::description):
80480         * platform/graphics/chromium/FontPlatformDataLinux.h:
80481
80482 2009-07-27  Brent Fulgham  <bfulgham@webkit.org>
80483
80484         Build correct, no review.
80485
80486         Final correction for WinCairo builds.
80487         CoreServices only exists in Apple builds, but
80488         some of its internal includes (e.g., <windows.h>) are needed
80489         for other Windows targets.
80490
80491         * WebCorePrefix.h: When building for WinCairo, make sure
80492           to include <windows.h>, <stdio.h>, and <ConditionalMacros.h>
80493
80494 2009-07-27  Michelangelo De Simone  <micdesim@gmail.com>
80495
80496         Reviewed by Darin Adler.
80497
80498         https://bugs.webkit.org/show_bug.cgi?id=25552
80499         Added new "pattern" attribute to HTMLInputElement and validation code
80500         (validity.patternMismatch) as per HTML5 specs.
80501         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-pattern
80502
80503         Tests: fast/forms/ValidityState-002.html
80504                fast/forms/ValidityState-patternMismatch-001.html
80505                fast/forms/ValidityState-patternMismatch-002.html
80506                fast/forms/ValidityState-patternMismatch-003.html
80507                fast/forms/ValidityState-patternMismatch-004.html
80508                fast/forms/ValidityState-patternMismatch-005.html
80509                fast/forms/ValidityState-patternMismatch-006.html
80510                fast/forms/ValidityState-patternMismatch-007.html
80511                fast/forms/pattern-attribute-001.html
80512                fast/forms/pattern-attribute-002.html
80513                fast/forms/pattern-attribute-003.html
80514
80515         * html/HTMLAttributeNames.in: pattern attribute
80516         * html/HTMLFormControlElement.h:
80517         (WebCore::HTMLFormControlElement::patternMismatch): method definition
80518         * html/HTMLInputElement.cpp:
80519         (WebCore::HTMLInputElement::patternMismatch): validation method
80520         * html/HTMLInputElement.h:
80521         * html/HTMLInputElement.idl:
80522         * html/ValidityState.h:
80523         (WebCore::ValidityState::patternMismatch): validation flag
80524
80525 2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
80526
80527         Reviewed by George Staikos.
80528
80529         [WML] Manual WML tests aren't properly working
80530         https://bugs.webkit.org/show_bug.cgi?id=27718
80531
80532         Fix file paths in the manual WML layout tests, remove unneeded tests (already covered by DRT tests).
80533         Add missing resources directory and test image. Reformat all testcases to a common style.
80534         Add new StartTests.wml file, which should be used as starting point to crawl through the manual tests.
80535
80536         Filing bugs soon for all tests exposing bugs (7 in total).
80537
80538         * manual-tests/wml/StartTests.wml: Added.
80539         * manual-tests/wml/a-br-element.wml:
80540         * manual-tests/wml/a-element.wml:
80541         * manual-tests/wml/a-img-element.wml:
80542         * manual-tests/wml/access-target.wml:
80543         * manual-tests/wml/anchor-br-element.wml:
80544         * manual-tests/wml/anchor-element.wml:
80545         * manual-tests/wml/anchor-img-element.wml:
80546         * manual-tests/wml/card-newcontext-attr.wml:
80547         * manual-tests/wml/card-onenterbackward.wml:
80548         * manual-tests/wml/card-onenterforward.wml:
80549         * manual-tests/wml/card-ontimer.wml:
80550         * manual-tests/wml/card-title-attr.wml: Removed.
80551         * manual-tests/wml/deck-access-control.wml:
80552         * manual-tests/wml/go-element.wml: Removed.
80553         * manual-tests/wml/input-emptyok.wml: Removed.
80554         * manual-tests/wml/input-format.wml:
80555         * manual-tests/wml/onevent-go.wml:
80556         * manual-tests/wml/onevent-noop.wml:
80557         * manual-tests/wml/onevent-prev.wml:
80558         * manual-tests/wml/onevent-refresh.wml:
80559         * manual-tests/wml/onevent-shadow.wml:
80560         * manual-tests/wml/postfield-get.wml: Removed.
80561         * manual-tests/wml/postfield-post.wml: Removed.
80562         * manual-tests/wml/resources: Added.
80563         * manual-tests/wml/resources/smiley.png: Added.
80564         * manual-tests/wml/select-element.wml:
80565         * manual-tests/wml/select-onpick-event.wml:
80566         * manual-tests/wml/setvar-element.wml:
80567         * manual-tests/wml/targetdeck.wml:
80568         * manual-tests/wml/task-go-in-anchor.wml:
80569         * manual-tests/wml/task-noop-in-do.wml:
80570         * manual-tests/wml/task-noop-in-onevent.wml: Removed.
80571         * manual-tests/wml/task-prev-in-anchor.wml:
80572         * manual-tests/wml/task-refresh-in-anchor.wml:
80573         * manual-tests/wml/template-go.wml:
80574         * manual-tests/wml/template-onevent.wml: Removed.
80575         * manual-tests/wml/template-ontimer.wml:
80576         * manual-tests/wml/timer.wml:
80577         * manual-tests/wml/variable-substitution.wml:
80578
80579 2009-07-27  Nate Chapin  <japhet@chromium.org>
80580
80581         Reviewed by Dimitri Glazkov.
80582
80583         Fix a regression introduced in r42671, which caused the js event 
80584         object to be hidden (some websites depend on being able to access it).
80585
80586         https://bugs.webkit.org/show_bug.cgi?id=27719
80587
80588         * bindings/v8/V8AbstractEventListener.cpp:
80589         (WebCore::V8AbstractEventListener::invokeEventHandler): Make the event object visible to javascript, instead of hidden.
80590
80591 2009-07-27  Dumitru Daniliuc  <dumi@chromium.org>
80592
80593         Reviewed by Dimitri Glazkov.
80594
80595         Removing a no-op block of code in DatabaseTracker.cpp that
80596         should've been removed in the patch for bug 26054.
80597
80598         https://bugs.webkit.org/show_bug.cgi?id=27666
80599
80600         All tests in WebCore/storage pass.
80601
80602         * storage/DatabaseTracker.cpp:
80603         (WebCore::DatabaseTracker::fullPathForDatabase): Removed a no-op
80604         block of code that was moved to SQLiteFileSystem.cpp and should
80605         have been removed from DatabaseTracker.cpp
80606
80607 2009-07-27  Jian Li  <jianli@chromium.org>
80608
80609         Reviewed by David Levin.
80610
80611         Fix error handling in dedicated worker and worker context.
80612         https://bugs.webkit.org/show_bug.cgi?id=27525
80613
80614         The following problems have been fixed:
80615         1) The uncaught runtime script error is not reported using the
80616         WorkerGlobalScope object's onerror attribute.
80617         2) If the error is still not handled afterwards (onerror attribute
80618         is not defined as a function or it returns true), the error should
80619         be reported back to the associated Worker object by firing an
80620         ErrorEvent.
80621         3) If the error is still not handled by the associated Worker
80622         object, the error should be reported to the user.
80623
80624         Test: fast/workers/worker-script-error.html
80625
80626         * bindings/js/JSEventListener.cpp:
80627         (WebCore::JSEventListener::reportError):
80628         * bindings/js/JSEventListener.h:
80629         * dom/EventListener.h:
80630         (WebCore::EventListener::reportError): adds a function to call
80631         EventListener as a function with 3 arguments to report an error.
80632         * workers/AbstractWorker.cpp:
80633         (WebCore::AbstractWorker::dispatchScriptErrorEvent):
80634         * workers/AbstractWorker.h:
80635         * workers/DedicatedWorkerContext.cpp:
80636         (WebCore::DedicatedWorkerContext::reportException):
80637         * workers/WorkerContext.cpp:
80638         (WebCore::WorkerContext::reportException):
80639         * workers/WorkerContext.h:
80640         * workers/WorkerMessagingProxy.cpp:
80641         (WebCore::WorkerExceptionTask::performTask):
80642         * workers/WorkerMessagingProxy.h:
80643
80644 2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
80645
80646         Reviewed by George Staikos.
80647
80648         [WML] History handling / page cache / loading is buggy and depends on several hacks
80649         https://bugs.webkit.org/show_bug.cgi?id=27707
80650
80651         Redesign WML history/loading handling. In detail:
80652
80653         - Remove FrameLoader::setForceReloadWmlDeck(). WML used to force a special loading behaviour
80654           by calling this method from WMLGoElement & friends - instead teach FrameLoader to detect
80655           WML content itself.
80656
80657           WML content is usually a standalone WML document (isWMLDocument()=true) or as special case
80658           an XHTML document which embeds a WML document (that's the way the WML layout tests work).
80659           Force WML loading behaviour even for XHTML document which embed WML documents. This only
80660           applies to our layout tests, not for any real world site. Though it gives us a perfect
80661           way to test the WML loading code even when we're not operating on a standalone WML document.
80662
80663           Whenever a WMLCardElement is inserted into the document it will check wheter it's inserted
80664           in a standalone WML document or wheter the main frame document is different. If it differs
80665           the main frame documents' "containsWMLContent" property is set to true.
80666
80667           -> Make FrameLoader::shouldReload() use the new frameContainsWMLContent() method, which
80668              checks if the associated frame document is a WML document or wheter it contains WML content.
80669
80670         - Change FrameLoader::loadItem() to use the new frameContainsWMLContent() method for 'shouldScroll'
80671           detection. WML documents (or those containing WML content) always want new loads even for in-page
80672           navigation. No "scroll to anchor" mechanism should apply.
80673
80674         - Modify FrameLoader::canCachePageContainingThisFrame() to check for !frameContainsWMLContent().
80675           WML pages should never be cached, potential security problem due the use of variables (per spec).
80676
80677         Add two new WML tests which were broken before, testing onenterforward/onenterbackward event handling
80678         and history navigation (<prev/> task).
80679
80680         Tests: wml/enter-card-with-events.html
80681                wml/enter-first-card-with-events.html
80682
80683         * dom/Document.cpp: Initialize new 'm_containsWMLContent' property.
80684         (WebCore::Document::Document):
80685         * dom/Document.h: Add new helper methods and 'm_containsWMLContent" variable (explained above).
80686         (WebCore::Document::setContainsWMLContent):
80687         (WebCore::Document::containsWMLContent):
80688         * history/BackForwardList.cpp:
80689         (WebCore::BackForwardList::clearWMLPageHistory): Renamed from clearWmlPageHistory() & slight cleanup.
80690         * history/BackForwardList.h:
80691         * loader/FrameLoader.cpp: Rework WML loading behaviour (explained above).
80692         (WebCore::FrameLoader::FrameLoader):
80693         (WebCore::frameContainsWMLContent):
80694         (WebCore::FrameLoader::canCachePageContainingThisFrame):
80695         (WebCore::FrameLoader::shouldReload):
80696         (WebCore::FrameLoader::loadItem):
80697         * loader/FrameLoader.h:
80698         * wml/WMLCardElement.cpp: 
80699         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): No need anymore to manually track history length.
80700         (WebCore::WMLCardElement::insertedIntoDocument): Handle setting containsWMLContent on the main frame document.
80701         * wml/WMLGoElement.cpp: 
80702         (WebCore::WMLGoElement::executeTask): Remove call to FrameLoader::setForceReloadWmlDeck()
80703         * wml/WMLPageState.cpp: Remove 'm_historyLength' - no need anymore to track history length on our own.
80704         (WebCore::WMLPageState::WMLPageState):
80705         (WebCore::WMLPageState::dump):
80706         (WebCore::WMLPageState::reset):
80707         * wml/WMLPageState.h:
80708
80709 2009-07-27  Pavel Feldman  <pfeldman@chromium.org>
80710
80711         Reviewed by Adam Roben.
80712
80713         Fix Chromium build breakage introduced in 46388.
80714
80715         https://bugs.webkit.org/show_bug.cgi?id=27705
80716
80717         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
80718         (WebCore::FontPlatformData::description):
80719         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
80720
80721 2009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
80722
80723         Reviewed by Simon Hausmann.
80724
80725         Add some more debug logging to PluginViewMac.
80726
80727         * plugins/mac/PluginViewMac.cpp:
80728
80729 2009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
80730
80731         Reviewed by Jan Michael Alonzo.
80732
80733         Remove dead code from the GTK NPAPI implementation.
80734
80735         * plugins/gtk/PluginViewGtk.cpp:
80736
80737 2009-07-27  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
80738
80739         Reviewed by Simon Hausmann.
80740
80741         [Qt] Buildfix on Windows.
80742         https://bugs.webkit.org/show_bug.cgi?id=27702
80743
80744         * plugins/win/PluginViewWin.cpp:
80745         (WebCore::PluginView::hookedEndPaint):
80746             Constraint of (*endPaint) operand modified from "g" to "m" (memory) in inline 
80747             assembly, because with "g" constraint, wrong assembly code generated.
80748
80749 2009-07-27  Pavel Feldman  <pfeldman@chromium.org>
80750
80751         Reviewed by Timothy Hatcher.
80752
80753         WebCore bindings: Implement ScriptArray bindings.
80754
80755         https://bugs.webkit.org/show_bug.cgi?id=27691
80756
80757         * GNUmakefile.am:
80758         * WebCore.gypi:
80759         * WebCore.pro:
80760         * WebCore.vcproj/WebCore.vcproj:
80761         * WebCore.xcodeproj/project.pbxproj:
80762         * bindings/js/ScriptArray.cpp: Added.
80763         (WebCore::ScriptArray::ScriptArray):
80764         (WebCore::handleException):
80765         (WebCore::ScriptArray::set):
80766         (WebCore::length):
80767         (WebCore::ScriptArray::createNew):
80768         * bindings/js/ScriptArray.h: Added.
80769         (WebCore::ScriptArray::ScriptArray):
80770         (WebCore::ScriptArray::jsArray):
80771         * bindings/v8/ScriptArray.cpp: Added.
80772         (WebCore::ScriptArray::ScriptArray):
80773         (WebCore::ScriptArray::set):
80774         (WebCore::ScriptArray::length):
80775         (WebCore::ScriptArray::createNew):
80776         * bindings/v8/ScriptArray.h: Added.
80777         (WebCore::ScriptArray::ScriptArray):
80778         (WebCore::ScriptArray::~ScriptArray):
80779
80780 2009-07-27  Brent Fulgham  <bfulgham@webkit.org>
80781
80782         Build correct, no review.
80783
80784         Change in r46407 broke Apple Windows build.
80785         Switch to WinCairo-only test, to avoid any
80786         other platform break.
80787
80788         * WebCorePrefix.h: 
80789
80790 2009-07-26  Brent Fulgham  <bfulgham@webkit.org>
80791
80792         Build correct, no review.
80793
80794         Change in r46407 broke Apple Windows build.
80795
80796         * WebCorePrefix.h: Use WTF_PLATFORM_CG to decide if
80797           CoreServices.h should be included.
80798
80799 2009-07-26  Brent Fulgham  <bfulgham@webkit.org>
80800
80801         Build correction, no review.
80802
80803         Change in r46195 broke WinCairo build.
80804
80805         * WebCorePrefix.h: CoreServices should be ignored
80806           for non-Apple build.
80807
80808 2009-07-26  Pavel Feldman  <pfeldman@chromium.org>
80809
80810         Reviewed by Timothy Hatcher.
80811
80812         Web Inspector: Implement the breakpoints sidebar pane.
80813         This change adds simple UI support into the existing
80814         BreakpointSidebarPane.
80815
80816         https://bugs.webkit.org/show_bug.cgi?id=11175
80817
80818         * inspector/front-end/Breakpoint.js:
80819         (WebInspector.Breakpoint.prototype.set enabled):
80820         (WebInspector.Breakpoint.prototype.get label):
80821         (WebInspector.Breakpoint.prototype.get id):
80822         * inspector/front-end/BreakpointsSidebarPane.js:
80823         (WebInspector.BreakpointsSidebarPane):
80824         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
80825         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
80826         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.labelClicked):
80827         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
80828         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
80829         * inspector/front-end/ScriptsPanel.js:
80830         (WebInspector.ScriptsPanel):
80831         (WebInspector.ScriptsPanel.prototype.scriptOrResourceForID):
80832         * inspector/front-end/inspector.css:
80833
80834 2009-07-16  Shinichiro Hamaji  <hamaji@chromium.org>
80835
80836         Reviewed by Oliver Hunt.
80837
80838         Canvas: rotation of 'no-repeat' pattern still has small error
80839         https://bugs.webkit.org/show_bug.cgi?id=26749
80840
80841         Use 1<<22 as steps of no-repeat pattern to make the error less
80842         than 0.5.  The previous value may cause 1 pixel errors.
80843
80844         Add another test to show this bug clearly.
80845         Also add png expected image which was missing in the previous patch.
80846
80847         Test: fast/canvas/image-pattern-rotate.html
80848
80849         * platform/graphics/cg/PatternCG.cpp:
80850         (WebCore::Pattern::createPlatformPattern):
80851
80852 2009-07-25  Kwang Yul Seo  <skyul@company100.net>
80853
80854         Reviewed by Darin Adler.
80855
80856         Windows build break due to warning C4819
80857         https://bugs.webkit.org/show_bug.cgi?id=27416
80858
80859         Disable C4819 warning to fix build.
80860
80861         * WebCore.vcproj/QTMovieWin.vcproj:
80862         * WebCore.vcproj/WebCore.vcproj:
80863
80864 2009-07-25  Joseph Pecoraro  <joepeck02@gmail.com>
80865
80866         Reviewed by Kevin McCullough.
80867
80868         Inspector: Keyboard Shortcuts to Switch Panels
80869         https://bugs.webkit.org/show_bug.cgi?id=27286
80870
80871         * inspector/front-end/inspector.js:
80872         (WebInspector.loaded): save a list of the order of the panels
80873         (WebInspector.documentKeyDown): handle the keyboard shortcuts to traverse the panels
80874
80875 2009-07-25  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
80876
80877         Reviewed by George Staikos.
80878
80879         [Qt] Fix build break after r46369
80880         https://bugs.webkit.org/show_bug.cgi?id=27680
80881
80882         * WebCore.pro:
80883
80884 2009-07-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
80885
80886         Reviewed by George Staikos.
80887
80888         [WML] Variable substitution is buggy
80889         https://bugs.webkit.org/show_bug.cgi?id=27677
80890
80891         Substitute variables upon attach() time instead of insertedIntoDocument(). Otherwhise variable substitution
80892         won't work during inter-deck jumps (same URL, different fragment). Covered by new test fast/wml/newcontext-same-deck.html.
80893
80894         * dom/Text.cpp:
80895         (WebCore::Text::attach):
80896         * dom/Text.h:
80897
80898 2009-07-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
80899
80900         Reviewed by George Staikos.
80901
80902         [WML] WMLDoElement doesn't update its RenderButton object upon attach()
80903         https://bugs.webkit.org/show_bug.cgi?id=27676
80904
80905         WMLDoElement needs to implement attach() and call updateFromElement() on its associated RenderButton.
80906         Mimics HTMLButtonElement/HTMLFormControlElement behaviour and fixes several painting/styling issues covered by existing tests in fast/wml.
80907
80908         * wml/WMLDoElement.cpp:
80909         (WebCore::WMLDoElement::attach):
80910         * wml/WMLDoElement.h:
80911
80912 2009-07-25  Pavel Feldman  <pfeldman@chromium.org>
80913
80914         Fix Windows build breakage introduced in 46390.
80915
80916         * WebCore.vcproj/WebCore.vcproj:
80917
80918 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
80919
80920         Reviewed by Oliver Hunt.
80921
80922         Inspector: Properties Should be Sorted more Naturally
80923         https://bugs.webkit.org/show_bug.cgi?id=27329
80924
80925         * inspector/front-end/ObjectPropertiesSection.js:
80926         (WebInspector.ObjectPropertiesSection.prototype.update): use the displaySort when showing properties
80927         (WebInspector.ObjectPropertiesSection.prototype._displaySort): alphaNumerical sort
80928         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): use the displaySort when showing properties
80929         * inspector/front-end/utilities.js:
80930         (Object.sortedProperties): allow for an optional sorting function in Object.sortedProperties
80931
80932 2009-07-24  Pavel Feldman  <pfeldman@chromium.org>
80933
80934         Reviewed by Timothy Hatcher.
80935
80936         Web Inspector: Split InspectorController into InspectorController
80937         and InspectorBackend. Everything frontend needs from InspectorController
80938         will slowly migrate into the InspectorBackend.
80939
80940         https://bugs.webkit.org/show_bug.cgi?id=27541
80941
80942         * DerivedSources.make:
80943         * GNUmakefile.am:
80944         * WebCore.gypi:
80945         * WebCore.pro:
80946         * WebCore.xcodeproj/project.pbxproj:
80947         * WebCoreSources.bkl:
80948         * bindings/js/JSInspectorBackendCustom.cpp: Added.
80949         (WebCore::JSInspectorBackend::highlightDOMNode):
80950         (WebCore::JSInspectorBackend::search):
80951         (WebCore::JSInspectorBackend::databaseTableNames):
80952         (WebCore::JSInspectorBackend::inspectedWindow):
80953         (WebCore::JSInspectorBackend::setting):
80954         (WebCore::JSInspectorBackend::setSetting):
80955         (WebCore::JSInspectorBackend::wrapCallback):
80956         (WebCore::JSInspectorBackend::currentCallFrame):
80957         (WebCore::JSInspectorBackend::profiles):
80958         * bindings/v8/custom/V8InspectorBackendCustom.cpp: Added.
80959         (WebCore::CALLBACK_FUNC_DECL):
80960         * bindings/js/JSInspectorControllerCustom.cpp: Removed.
80961         * bindings/js/ScriptObject.cpp:
80962         (WebCore::ScriptGlobalObject::set):
80963         * bindings/js/ScriptObject.h:
80964         * bindings/v8/DOMObjectsInclude.h:
80965         * bindings/v8/DerivedSourcesAllInOne.cpp:
80966         * bindings/v8/ScriptObject.cpp:
80967         (WebCore::ScriptGlobalObject::set):
80968         * bindings/v8/ScriptObject.h:
80969         * bindings/v8/V8Index.cpp:
80970         * bindings/v8/V8Index.h:
80971         * bindings/v8/custom/V8CustomBinding.h:
80972         * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed.
80973         * inspector/InspectorController.cpp:
80974         (WebCore::InspectorController::InspectorController):
80975         (WebCore::InspectorController::windowScriptObjectAvailable):
80976         * inspector/InspectorController.h:
80977         (WebCore::InspectorController::inspectorBackend):
80978         * inspector/InspectorBackend.cpp: Added.
80979         * inspector/InspectorBackend.h: Added.
80980         (WebCore::InspectorBackend::create):
80981         (WebCore::InspectorBackend::inspectorController):
80982         * inspector/InspectorBackend.idl: Added.
80983         * inspector/InspectorController.idl: Removed.
80984         * inspector/front-end/Resource.js:
80985         * page/Page.cpp:
80986         (WebCore::Page::Page):
80987         * page/Page.h:
80988
80989 2009-07-25  Mike Fenton  <mike.fenton@torchmobile.com>
80990
80991         Reviewed by George Staikos.
80992
80993         Update WebCore/page/Frame.cpp/h to conform to WebKit
80994         Style Guidelines as identified by cpplint.py.
80995         https://bugs.webkit.org/show_bug.cgi?id=27654
80996
80997         * page/Frame.cpp:
80998         (WebCore::Frame::Frame):
80999         (WebCore::Frame::~Frame):
81000         (WebCore::Frame::setDocument):
81001         (WebCore::Frame::firstRectForRange):
81002         (WebCore::createRegExpForLabels):
81003         (WebCore::Frame::searchForLabelsBeforeElement):
81004         (WebCore::Frame::matchLabelsAgainstElement):
81005         (WebCore::Frame::selectionLayoutChanged):
81006         (WebCore::Frame::setZoomFactor):
81007         (WebCore::Frame::reapplyStyles):
81008         (WebCore::Frame::isContentEditable):
81009         (WebCore::Frame::computeAndSetTypingStyle):
81010         (WebCore::Frame::selectionStartStylePropertyValue):
81011         (WebCore::Frame::selectionComputedStyle):
81012         (WebCore::Frame::applyEditingStyleToBodyElement):
81013         (WebCore::Frame::removeEditingStyleFromBodyElement):
81014         (WebCore::Frame::applyEditingStyleToElement):
81015         (WebCore::Frame::selectionBounds):
81016         (WebCore::Frame::currentForm):
81017         (WebCore::Frame::revealSelection):
81018         (WebCore::Frame::styleForSelectionStart):
81019         (WebCore::Frame::setSelectionFromNone):
81020         (WebCore::Frame::findString):
81021         (WebCore::Frame::markAllMatchesForText):
81022         (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
81023         (WebCore::Frame::clearFormerDOMWindow):
81024         (WebCore::Frame::unfocusWindow):
81025         (WebCore::Frame::respondToChangedSelection):
81026         (WebCore::Frame::documentAtPoint):
81027         * page/Frame.h:
81028         (WebCore::Frame::create):
81029         (WebCore::Frame::displayStringModifiedByEncoding):
81030         (WebCore::Frame::pageZoomFactor):
81031         (WebCore::Frame::textZoomFactor):
81032
81033 2009-07-24  Dan Bernstein  <mitz@apple.com>
81034
81035         Reviewed by Darin Adler.
81036
81037         Add functions to print the glyph page trees for debugging
81038         https://bugs.webkit.org/show_bug.cgi?id=27671
81039
81040         * platform/graphics/FontData.h: Defined a description() method.
81041
81042         * platform/graphics/GlyphPageTreeNode.cpp:
81043         (WebCore::GlyphPageTreeNode::showSubtree): Added. Prints the node and
81044             its descendants.
81045         (showGlyphPageTrees): Added. Prints all glyph page trees.
81046         (showGlyphPageTree): Added. Prints the glyph page tree for a given page.
81047         * platform/graphics/GlyphPageTreeNode.h:
81048
81049         * platform/graphics/SegmentedFontData.cpp:
81050         (WebCore::SegmentedFontData::description): Added.
81051
81052         * platform/graphics/SegmentedFontData.h:
81053         * platform/graphics/SimpleFontData.cpp:
81054         (WebCore::SimpleFontData::description): Added. Uses the platform data
81055             as the description for non-svg, non-custom fonts.
81056         * platform/graphics/SimpleFontData.h:
81057
81058         * platform/graphics/gtk/FontPlatformData.h:
81059         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
81060         (WebCore::FontPlatformData::description): Added. Returns a null string.
81061         * platform/graphics/gtk/FontPlatformDataPango.cpp:
81062         (WebCore::FontPlatformData::description): Added. Returns a null string.
81063
81064         * platform/graphics/mac/FontPlatformData.h:
81065         * platform/graphics/mac/FontPlatformDataMac.mm:
81066         (WebCore::FontPlatformData::description): Added. Returns the
81067             description of the CGFont, the size and the synthetic style flags,
81068             if set.
81069
81070         * platform/graphics/qt/FontPlatformData.h:
81071         * platform/graphics/qt/FontPlatformDataQt.cpp:
81072         (WebCore::FontPlatformData::description): Added. Returns a null string.
81073
81074         * platform/graphics/win/FontPlatformData.h:
81075         * platform/graphics/win/FontPlatformDataWin.cpp:
81076         (WebCore::FontPlatformData::description): Added. Returns a null string.
81077
81078         * platform/graphics/wince/FontPlatformData.cpp:
81079         (WebCore::FontPlatformData::description): Added. Returns a null string.
81080         * platform/graphics/wince/FontPlatformData.h:
81081
81082         * platform/graphics/wx/FontPlatformData.h:
81083         * platform/graphics/wx/FontPlatformDataWx.cpp:
81084         (WebCore::FontPlatformData::description): Added. Returns a null string.
81085
81086 2009-07-24  Mads Ager  <ager@chromium.org>
81087
81088         Reviewed by Adam Barth.
81089
81090         SVG and XPath memory leaks in V8 bindings
81091         https://bugs.webkit.org/show_bug.cgi?id=27488
81092
81093         Add proper 'create' methods to SVGPodTypeWrappers and
81094         XPathNSResolvers in the V8 bindings to avoid memory leaks.
81095
81096         Introduce convertToV8Object methods that accept PassRefPtrs and
81097         clean up the use of get() and release() on RefPtrs.
81098         
81099         * bindings/scripts/CodeGeneratorV8.pm:
81100         * bindings/v8/V8DOMWrapper.h:
81101         (WebCore::V8DOMWrapper::convertNodeToV8Object):
81102         (WebCore::V8DOMWrapper::convertEventToV8Object):
81103         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
81104         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
81105         * bindings/v8/V8SVGPODTypeWrapper.h:
81106         (WebCore::V8SVGPODTypeWrapperCreatorForList::create):
81107         (WebCore::V8SVGPODTypeWrapperCreatorForList::V8SVGPODTypeWrapperCreatorForList):
81108         (WebCore::V8SVGStaticPODTypeWrapper::create):
81109         (WebCore::V8SVGStaticPODTypeWrapper::V8SVGStaticPODTypeWrapper):
81110         (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::create):
81111         (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::V8SVGStaticPODTypeWrapperWithPODTypeParent):
81112         (WebCore::V8SVGStaticPODTypeWrapperWithParent::create):
81113         (WebCore::V8SVGStaticPODTypeWrapperWithParent::V8SVGStaticPODTypeWrapperWithParent):
81114         (WebCore::V8SVGDynamicPODTypeWrapper::create):
81115         (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):
81116         (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
81117         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
81118         (WebCore::CALLBACK_FUNC_DECL):
81119         * bindings/v8/custom/V8ClientRectListCustom.cpp:
81120         (WebCore::INDEXED_PROPERTY_GETTER):
81121         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
81122         (WebCore::V8CustomXPathNSResolver::create):
81123         * bindings/v8/custom/V8CustomXPathNSResolver.h:
81124         * bindings/v8/custom/V8DOMWindowCustom.cpp:
81125         (WebCore::NAMED_PROPERTY_GETTER):
81126         * bindings/v8/custom/V8DocumentCustom.cpp:
81127         (WebCore::CALLBACK_FUNC_DECL):
81128         * bindings/v8/custom/V8ElementCustom.cpp:
81129         (WebCore::CALLBACK_FUNC_DECL):
81130         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
81131         (WebCore::getNamedItems):
81132         (WebCore::getItem):
81133         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
81134         (WebCore::NAMED_PROPERTY_GETTER):
81135         (WebCore::ACCESSOR_GETTER):
81136         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
81137         (WebCore::INDEXED_PROPERTY_GETTER):
81138         (WebCore::NAMED_PROPERTY_GETTER):
81139         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
81140         (WebCore::INDEXED_PROPERTY_GETTER):
81141         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
81142         (WebCore::NAMED_PROPERTY_GETTER):
81143         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
81144         (WebCore::CALLBACK_FUNC_DECL):
81145         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
81146         (WebCore::INDEXED_PROPERTY_GETTER):
81147         (WebCore::NAMED_PROPERTY_GETTER):
81148         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
81149         (WebCore::toV8):
81150         * bindings/v8/custom/V8NodeListCustom.cpp:
81151         (WebCore::NAMED_PROPERTY_GETTER):
81152         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
81153         (WebCore::CALLBACK_FUNC_DECL):
81154         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
81155         (WebCore::toV8):
81156         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
81157         (WebCore::CALLBACK_FUNC_DECL):
81158
81159 2009-07-24  Brian Weinstein  <bweinstein@apple.com>
81160
81161         Reviewed by Jon Honeycutt.
81162
81163         Fix of <rdar://6310538> Middle-click panning should be springloaded while dragging
81164         https://bugs.webkit.org/show_bug.cgi?id=21794
81165         
81166         Create two new booleans to determine whether we have done a springloaded pan scroll, and update
81167         the name of setPanScrollCursor to updatePanScrollState to more accurately describe what the function
81168         does. 
81169
81170         * page/EventHandler.cpp:
81171         (WebCore::EventHandler::EventHandler): Initialized two new booleans.
81172         (WebCore::EventHandler::autoscrollTimerFired):
81173         (WebCore::EventHandler::updatePanScrollState): Renamed from setPanScrollCursor.
81174         (WebCore::EventHandler::stopAutoscrollTimer): Clear the pan scrolling in progress flag.
81175         (WebCore::EventHandler::handleMouseReleaseEvent): Clear the pan scrolling button pressed flag.
81176         * page/EventHandler.h:
81177
81178 2009-07-24  Yong Li  <yong.li@torchmobile.com>
81179
81180         Reviewed by George Staikos.
81181
81182         https://bugs.webkit.org/show_bug.cgi?id=27657
81183         Add more wince port files to WebCore
81184
81185         Written by Yong Li  <yong.li@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
81186
81187         * loader/icon/wince/IconDatabaseWince.cpp: Added.
81188         * rendering/RenderThemeWince.cpp: Added.
81189         * rendering/RenderThemeWince.h: Added.
81190         * storage/wince/DatabaseThreadWince.cpp: Added.
81191         * storage/wince/DatabaseThreadWince.h: Added.
81192         * storage/wince/LocalStorageThreadWince.cpp: Added.
81193         * storage/wince/LocalStorageThreadWince.h: Added.
81194         * svg/graphics/wince/SVGResourceFilterWince.cpp: Added.
81195
81196 2009-07-24  Ryosuke Niwa  <rniwa@webkit.org>
81197
81198         Reviewed by Justin Garcia.
81199
81200         execCommand('underline') can modify DOM outside of the contentEditable area
81201         https://bugs.webkit.org/show_bug.cgi?id=24333
81202
81203         highestAncestorWithTextDecoration stops at the closest unsplittable element so that if text-decoration is applied
81204         outside of it, we don't accidently modify the style attribute.
81205
81206         Tests: editing/style/textdecoration-outside-of-rooteditable.html
81207                editing/style/textdecoration-outside-of-unsplittable-element.html
81208
81209         * editing/ApplyStyleCommand.cpp:
81210         (WebCore::StyleChange::init):
81211         (WebCore::highestAncestorWithTextDecoration):
81212
81213 2009-07-24  Daniel Bates  <dbates@intudata.com>
81214
81215         Reviewed by Adam Barth.
81216
81217         https://bugs.webkit.org/show_bug.cgi?id=27639
81218
81219         Fixes false positives when evaluating certain strings that only contain 
81220         non-canonical characters.
81221
81222         Test: http/tests/security/xssAuditor/script-tag-safe.html
81223
81224         * page/XSSAuditor.cpp:
81225         (WebCore::isNonCanonicalCharacter):
81226         (WebCore::XSSAuditor::findInRequest):
81227
81228 2009-07-24  Drew Wilson  <atwilson@google.com>
81229
81230         Reviewed by David Levin.
81231
81232         Changed WorkerContext destructor to not access possibly-freed WorkerThread.
81233
81234         Failed assertion in WorkerContext::~WorkerContext().
81235         https://bugs.webkit.org/show_bug.cgi?id=27665
81236
81237        * workers/DedicatedWorkerContext.cpp:
81238         (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
81239         * workers/WorkerContext.cpp:
81240         (WebCore::WorkerContext::~WorkerContext):
81241         Removed assertion that relies on WorkerThread still being alive (moved to DedicatedWorkerContext destructor).
81242
81243 2009-07-24  Drew Wilson  <atwilson@google.com>
81244
81245         Reviewed by Adam Barth.
81246
81247         Updated code generator to properly generate bindings for WorkerContext exposed functions.
81248
81249         Storing a reference to WorkerContext.postMessage() and calling it later yields a TypeError
81250         https://bugs.webkit.org/show_bug.cgi?id=27419
81251
81252         Test: fast/workers/worker-call.html
81253
81254         * bindings/js/JSWorkerContextBase.cpp:
81255         (WebCore::toJSDedicatedWorkerContext):
81256         (WebCore::toJSWorkerContext):
81257         Functions that convert from JSValue to the appropriate WorkerContext/DedicatedWorkerContext object.
81258         * bindings/js/JSWorkerContextBase.h:
81259         Added toJS*WorkerContext APIs.
81260         * bindings/scripts/CodeGeneratorJS.pm:
81261         Added code to appropriately check the passed-in this object when invoking functions at global scope.
81262
81263 2009-07-24  Drew Wilson  <atwilson@google.com>
81264
81265         Reviewed by Adam Barth.
81266
81267         Refactor WorkerContext to move DedicatedWorker-specific APIs into DedicatedWorkerContext
81268         https://bugs.webkit.org/show_bug.cgi?id=27420
81269
81270         No new tests as the existing tests already provide sufficient coverage (this is just a refactoring with no new functionality).
81271
81272         * DerivedSources.cpp:
81273         Added JSDerivedWorkerContext.cpp
81274         * DerivedSources.make:
81275         Added DerivedWorkerContext files
81276         * GNUmakefile.am:
81277         Added DerivedWorkerContext files
81278         * WebCore.gypi:
81279         Added DerivedWorkerContext files
81280         * WebCore.pro:
81281         Added DerivedWorkerContext files
81282         * WebCore.vcproj/WebCore.vcproj:
81283         Added DerivedWorkerContext files
81284         * WebCore.xcodeproj/project.pbxproj:
81285         Added DerivedWorkerContext files
81286         * bindings/js/JSDedicatedWorkerContextCustom.cpp: Added.
81287         (WebCore::JSDedicatedWorkerContext::mark):
81288         Custom mark function for onmessage event handler.
81289         * bindings/js/JSEventTarget.cpp:
81290         (WebCore::toJS):
81291         Supports conversion to JSDedicatedWorkerContext.
81292         (WebCore::toEventTarget):
81293         * bindings/js/JSWorkerContextCustom.cpp:
81294         (WebCore::JSWorkerContext::mark):
81295         Moved onmessage mark handling into DedicatedWorkerContext.
81296         * bindings/js/WorkerScriptController.cpp:
81297         Added appropriate casts to DedicatedWorkerContext for postMessage().
81298         (WebCore::WorkerScriptController::initScript):
81299         Manually sets up the prototype chain for the worker context.
81300         * bindings/scripts/CodeGeneratorJS.pm:
81301         Changed special case code for WorkerContext to be triggered by new IsWorkerContext attribute.
81302         * bindings/scripts/CodeGeneratorV8.pm:
81303         Changed hard-coded tests for WorkerContext to support DedicatedWorkerContext.
81304         * bindings/v8/DOMObjectsInclude.h:
81305         Added DedicatedWorkerContext.h
81306         * bindings/v8/DerivedSourcesAllInOne.cpp:
81307         Added V8DedicatedWorkerContext.cpp
81308         * bindings/v8/V8DOMWrapper.cpp:
81309         (WebCore::V8DOMWrapper::getTemplate):
81310         Added code to reserve extra fields for V8DedicatedWorkerContext.
81311         * bindings/v8/V8Index.cpp:
81312         Now includes V8DedicatedWorkerContext.h in addition to V8WorkerContext.h
81313         * bindings/v8/V8Index.h:
81314         Added DedicatedWorkerContext as a non-node wrapper type.
81315         Removed WORKERCONTEXT as a valid template type.
81316         * bindings/v8/WorkerContextExecutionProxy.cpp:
81317         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
81318         Creates DedicatedWorkerContext instead of WorkerContext.
81319         (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
81320         Returns DedicatedWorkerContext instead of WorkerContext.
81321         (WebCore::WorkerContextExecutionProxy::retrieve):
81322         Refactored to deal with DedicatedWorkerContext.
81323         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
81324         * bindings/v8/custom/V8CustomBinding.h:
81325         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: Added.
81326         Moved onmessage code from V8WorkerContextCustom.cpp
81327         (WebCore::ACCESSOR_GETTER):
81328         (WebCore::ACCESSOR_SETTER):
81329         * bindings/v8/custom/V8WorkerContextCustom.cpp:
81330         Moved onmessage code to V8DedicatedWorkerContextCustom.cpp
81331         * dom/EventTarget.cpp:
81332         (WebCore::EventTarget::toDedicatedWorkerContext):
81333         * dom/EventTarget.h:
81334         * workers/DedicatedWorkerContext.cpp: Added.
81335         Moved DedicatedWorker-only APIs from WorkerContext.
81336         (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
81337         (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
81338         (WebCore::DedicatedWorkerContext::reportException):
81339         (WebCore::DedicatedWorkerContext::postMessage):
81340         (WebCore::DedicatedWorkerContext::dispatchMessage):
81341         * workers/DedicatedWorkerContext.h: Added.
81342         Moved DedicatedWorker-only APIs from WorkerContext.
81343         (WebCore::DedicatedWorkerContext::create):
81344         (WebCore::DedicatedWorkerContext::toDedicatedWorkerContext):
81345         (WebCore::DedicatedWorkerContext::setOnmessage):
81346         (WebCore::DedicatedWorkerContext::onmessage):
81347         * workers/DedicatedWorkerContext.idl: Added.
81348         * workers/WorkerContext.cpp:
81349         (WebCore::WorkerContext::~WorkerContext):
81350         Moved code that notifies parent that worker is closing down into DedicatedWorkerContext.
81351         * workers/WorkerContext.h:
81352         (WebCore::WorkerContext::isClosing):
81353         Exposed closing flag as an API so derived classes can access it.
81354         * workers/WorkerContext.idl:
81355         * workers/WorkerMessagingProxy.cpp:
81356         (WebCore::MessageWorkerContextTask::performTask):
81357         Calls into DedicatedWorkerContext to handle message.
81358         * workers/WorkerThread.cpp:
81359         (WebCore::WorkerThread::workerThread):
81360         Creates a DedicatedWorkerContext when the thread starts up.
81361
81362 2009-07-24  Eric Seidel  <eric@webkit.org>
81363
81364         Reviewed by Adam Barth.
81365
81366         Move more callers to using 3 argument toJS
81367         https://bugs.webkit.org/show_bug.cgi?id=27661
81368
81369         No functional changes, thus no tests.
81370         These are all the places where we can't yet pass the
81371         correct globalObject because we don't have or don't know the right one.
81372
81373         * bindings/js/JSCustomPositionCallback.cpp:
81374         (WebCore::JSCustomPositionCallback::handleEvent):
81375         * bindings/js/JSCustomPositionErrorCallback.cpp:
81376         (WebCore::JSCustomPositionErrorCallback::handleEvent):
81377         * bindings/js/JSCustomSQLStatementCallback.cpp:
81378         (WebCore::JSCustomSQLStatementCallback::handleEvent):
81379         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
81380         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
81381         * bindings/js/JSCustomSQLTransactionCallback.cpp:
81382         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
81383         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
81384         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
81385         * bindings/js/JSNodeFilterCondition.cpp:
81386         (WebCore::JSNodeFilterCondition::acceptNode):
81387
81388 2009-07-24  Eric Seidel  <eric@webkit.org>
81389
81390         Reviewed by Adam Barth.
81391
81392         Fix the last of the x-frame constructor calls to have the right prototype chains
81393         https://bugs.webkit.org/show_bug.cgi?id=27645
81394
81395         Fix the last few constructors to use their stored globalObject pointer when
81396         constructing objects instead of the lexicalGlobalObject().
81397
81398         * bindings/js/JSAudioConstructor.cpp:
81399         (WebCore::constructAudio):
81400         * bindings/js/JSImageConstructor.cpp:
81401         (WebCore::constructImage):
81402         * bindings/js/JSMessageChannelConstructor.cpp:
81403         (WebCore::JSMessageChannelConstructor::construct):
81404         * bindings/js/JSOptionConstructor.cpp:
81405         (WebCore::constructHTMLOptionElement):
81406         * bindings/js/JSWebKitPointConstructor.cpp:
81407         (WebCore::constructWebKitPoint):
81408         * bindings/js/JSWorkerConstructor.cpp:
81409         (WebCore::constructWorker):
81410
81411 2009-07-24  Jian Li  <jianli@chromium.org>
81412
81413         Reviewed by Adam Barth.
81414
81415         [V8] Cleanup exception handling in worker evaluation code.
81416         https://bugs.webkit.org/show_bug.cgi?id=27282
81417
81418         * bindings/v8/WorkerContextExecutionProxy.cpp:
81419         (WebCore::WorkerContextExecutionProxy::evaluate):
81420         * bindings/v8/WorkerContextExecutionProxy.h:
81421         (WebCore::WorkerContextExecutionState::WorkerContextExecutionState):
81422         * bindings/v8/WorkerScriptController.cpp:
81423         (WebCore::WorkerScriptController::evaluate):
81424         (WebCore::WorkerScriptController::setException):
81425
81426 2009-07-24  Stephen White  <senorblanco@chromium.org>
81427
81428         Reviewed by David Levin.
81429
81430         Reverting r46157, since it may be causing problems with Chromium
81431         reliability (see http://crbug.com/17569).
81432
81433         https://bugs.webkit.org/show_bug.cgi?id=27388
81434
81435         * platform/graphics/skia/GraphicsContextSkia.cpp:
81436         (WebCore::GraphicsContext::drawLine):
81437         * platform/graphics/skia/PlatformContextSkia.cpp:
81438         (PlatformContextSkia::setupPaintForStroking):
81439
81440 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
81441
81442         Reviewed by Timothy Hatcher.
81443
81444         REGRESSION: inspector seems broken in ToT WebKit
81445         https://bugs.webkit.org/show_bug.cgi?id=27646
81446
81447         * inspector/front-end/Console.js:
81448         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
81449
81450 2009-07-24  Dan Bernstein  <mitz@apple.com>
81451
81452         Reviewed by Anders Carlsson.
81453
81454         Add the shadow style member to the ShadowData constructor and ==
81455         operator
81456
81457         * rendering/style/ShadowData.cpp:
81458         (WebCore::ShadowData::ShadowData):
81459         (WebCore::ShadowData::operator==):
81460
81461 2009-07-24  Jian Li  <jianli@chromium.org>
81462
81463         Reviewed by Eric Seidel.
81464
81465         [V8] More V8 bindings changes to use ErrorEvent.
81466         https://bugs.webkit.org/show_bug.cgi?id=27630
81467
81468         * bindings/v8/DOMObjectsInclude.h:
81469         * bindings/v8/DerivedSourcesAllInOne.cpp:
81470         * bindings/v8/V8DOMWrapper.cpp:
81471         (WebCore::V8DOMWrapper::convertEventToV8Object):
81472         * bindings/v8/V8Index.cpp:
81473         * bindings/v8/V8Index.h:
81474
81475 2009-07-24  Brent Fulgham  <bfulgham@webkit.org>
81476
81477         Reviewed by Dave Hyatt.
81478
81479         Clean up dependencies on Apple support libraries for non-Apple build.
81480         http://bugs.webkit.org/show_bug.cgi?id=27532.
81481
81482         * platform/graphics/win/SimpleFontDataWin.cpp: Conditionalize references
81483           to ApplicationServices.h and WebKitSystemInterface.h
81484
81485 2009-07-24  Dan Bernstein  <mitz@apple.com>
81486
81487         Another attempted build fix 
81488
81489         * bindings/js/JSAbstractWorkerCustom.cpp:
81490
81491 2009-07-24  Dan Bernstein  <mitz@apple.com>
81492
81493         Attempted build fix
81494
81495         * bindings/js/JSAbstractWorkerCustom.cpp:
81496         (WebCore::toJS):
81497
81498 2009-07-24  Kenneth Rohde Christiansen  <kenneth@webkit.org>
81499
81500         Build fix for 64 bit Linux.
81501
81502         int64_t is long on Linux 64 bit and not long long, thus
81503         getFileSize with a int64_t out value fails to build.
81504
81505         Use a temporary to work around the problem.
81506
81507         * loader/appcache/ApplicationCacheStorage.cpp:
81508         (WebCore::ApplicationCacheStorage::spaceNeeded):
81509
81510 2009-07-24  Eric Seidel  <eric@webkit.org>
81511
81512         Reviewed by Adam Barth.
81513
81514         Update all CREATE_DOM_*_WRAPPER callers to pass globalObject
81515         https://bugs.webkit.org/show_bug.cgi?id=27644
81516
81517         This is another attempt at making the change for bug 27634 smaller.
81518         I included the changes to make_names.pl as well as any file which
81519         used CREATE_DOM_*_WRAPPER macros.
81520
81521         The changes to the construct* functions are what fix the cases in
81522         fast/dom/constructed-objects-prototypes.html
81523
81524         The changes to passing globalObject through CREATE_* are what fix
81525         fast/dom/prototype-inheritance-2.html
81526
81527         * bindings/js/JSCDATASectionCustom.cpp:
81528         (WebCore::toJSNewlyCreated): pass globalObject.
81529         * bindings/js/JSCSSRuleCustom.cpp:
81530         (WebCore::toJS): pass globalObject.
81531         * bindings/js/JSCSSValueCustom.cpp:
81532         (WebCore::toJS): pass globalObject.
81533         * bindings/js/JSDOMBinding.h: updated macros to pass globalObject.
81534         * bindings/js/JSDocumentCustom.cpp:
81535         (WebCore::toJS): pass globalObject.
81536         * bindings/js/JSElementCustom.cpp:
81537         (WebCore::JSElement::setAttributeNode): use globalObject() for wrapping return value.
81538         (WebCore::JSElement::setAttributeNodeNS): use globalObject() for wrapping return value.
81539         (WebCore::toJSNewlyCreated): pass globalObject.
81540         * bindings/js/JSEventCustom.cpp:
81541         (WebCore::JSEvent::clipboardData): pass globalObject.
81542         (WebCore::toJS): pass globalObject.
81543         * bindings/js/JSHTMLCollectionCustom.cpp:
81544         (WebCore::getNamedItems): use globalObject() for wrapping returned collection items.
81545         (WebCore::callHTMLCollection): use globalObject() for wrapping returned collection items.
81546         (WebCore::JSHTMLCollection::item): use globalObject() for wrapping returned collection items.
81547         (WebCore::toJS): pass globalObject.
81548         * bindings/js/JSImageDataCustom.cpp:
81549         (WebCore::toJS): pass globalObject.
81550         * bindings/js/JSNodeCustom.cpp:
81551         (WebCore::createWrapper): pass globalObject.
81552         * bindings/js/JSSVGPathSegCustom.cpp:
81553         (WebCore::toJS): pass globalObject.
81554         * bindings/js/JSStyleSheetCustom.cpp:
81555         (WebCore::toJS): pass globalObject.
81556         * bindings/js/JSTextCustom.cpp:
81557         (WebCore::toJSNewlyCreated): pass globalObject.
81558         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
81559         (WebCore::constructWebKitCSSMatrix): use constructors globalObject when constructing
81560         * bindings/js/JSXMLHttpRequestConstructor.cpp:
81561         (WebCore::constructXMLHttpRequest): use constructors globalObject when constructing
81562         * bindings/js/JSXSLTProcessorConstructor.cpp:
81563         (WebCore::constructXSLTProcessor): use constructors globalObject when constructing
81564         * dom/make_names.pl:
81565             Pass globalObject through CREATE_* macros and various support functions.
81566
81567 2009-07-24  Eric Seidel  <eric@webkit.org>
81568
81569         Reviewed by Adam Barth.
81570
81571         Update CodeGeneratorJS.pm to support passing JSDOMGlobalObject* to toJS calls
81572         https://bugs.webkit.org/show_bug.cgi?id=27643
81573
81574         This is an attempt to make this change as small as possible.
81575         I started by including all changes to CodeGeneratorJS.pm from bug 27634,
81576         and then made the minimal amount of other changes needed to support that change.
81577
81578         Most toJS implementations ignore their passed JSDOMGlobalObject.
81579         There are stub 2-argument toJS, toJSNewlyCreated implementations to help compiling.
81580         All places where it is not clear what we should pass as the global object
81581         (or where the global object is simply not available, like for some SVG bindings)
81582         we pass deprecatedGlobalObjectForPrototype instead.
81583
81584         * bindings/js/JSCDATASectionCustom.cpp:
81585         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
81586         * bindings/js/JSCSSRuleCustom.cpp:
81587         (WebCore::toJS): add ignored JSDOMGlobalObject*
81588         * bindings/js/JSCSSValueCustom.cpp:
81589         (WebCore::toJS): add ignored JSDOMGlobalObject*
81590         * bindings/js/JSDOMBinding.cpp:
81591         (WebCore::setDOMException): pass the wrong globalObject for now
81592         * bindings/js/JSDOMBinding.h:
81593             Pass the wrong global object to the CREATE_ macros for now.
81594             In the next change we'll come back and pass the correct one.
81595             That will require changes to make_names.pl.
81596         (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
81597         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
81598         (WebCore::DOMObjectWithGlobalPointer::~DOMObjectWithGlobalPointer):
81599         (WebCore::createDOMObjectWrapper):
81600         (WebCore::getDOMObjectWrapper):
81601         (WebCore::createDOMNodeWrapper):
81602         (WebCore::getDOMNodeWrapper):
81603         (WebCore::toJS): added to convert 2 arg calls to 3 arg calls to limit the scope of this change.
81604         (WebCore::toJSNewlyCreated):
81605         * bindings/js/JSDOMWindowBase.cpp:
81606         (WebCore::toJS): DOMWindow always uses its own prototype chain.
81607         * bindings/js/JSDOMWindowBase.h:
81608         * bindings/js/JSDocumentCustom.cpp:
81609         (WebCore::toJS): add ignored JSDOMGlobalObject*
81610         * bindings/js/JSElementCustom.cpp:
81611         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
81612         * bindings/js/JSEventCustom.cpp:
81613         (WebCore::toJS): add ignored JSDOMGlobalObject*
81614         * bindings/js/JSEventTarget.cpp:
81615         (WebCore::toJS): add ignored JSDOMGlobalObject*
81616         * bindings/js/JSEventTarget.h:
81617         * bindings/js/JSHTMLCollectionCustom.cpp:
81618         (WebCore::toJS): add ignored JSDOMGlobalObject*
81619         * bindings/js/JSImageDataCustom.cpp:
81620         (WebCore::toJS): add ignored JSDOMGlobalObject*
81621         * bindings/js/JSNodeCustom.cpp:
81622         (WebCore::createWrapper): pass globalObject to toJS(Document*) to avoid recursion
81623         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
81624         (WebCore::toJS): add ignored JSDOMGlobalObject*
81625         * bindings/js/JSSVGElementInstanceCustom.cpp:
81626         (WebCore::toJS): pass globalObject along
81627         * bindings/js/JSSVGMatrixCustom.cpp:
81628         (WebCore::JSSVGMatrix::inverse): pass wrong globalObject for now.
81629         (WebCore::JSSVGMatrix::rotateFromVector): pass wrong globalObject for now.
81630         * bindings/js/JSSVGPathSegCustom.cpp:
81631         (WebCore::toJS):
81632         * bindings/js/JSSVGPathSegListCustom.cpp:
81633             All of these methods need a globalObject, but most SVG binding don't have
81634             space for one, so we just pass the lexicalGlobalObject for now.
81635         (WebCore::JSSVGPathSegList::initialize):
81636         (WebCore::JSSVGPathSegList::getItem):
81637         (WebCore::JSSVGPathSegList::insertItemBefore):
81638         (WebCore::JSSVGPathSegList::replaceItem):
81639         (WebCore::JSSVGPathSegList::removeItem):
81640         (WebCore::JSSVGPathSegList::appendItem):
81641         * bindings/js/JSSVGPointListCustom.cpp:
81642         (WebCore::finishGetter): pass wrong globalObject for now.
81643         (WebCore::finishSetter):
81644         (WebCore::finishSetterReadOnlyResult):
81645         * bindings/js/JSSVGTransformListCustom.cpp:
81646         (WebCore::finishGetter): pass wrong globalObject for now.
81647         (WebCore::finishSetter):
81648         (WebCore::finishSetterReadOnlyResult):
81649         * bindings/js/JSStyleSheetCustom.cpp:
81650         (WebCore::toJS): add ignored JSDOMGlobalObject*
81651         * bindings/js/JSTextCustom.cpp:
81652         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
81653         * bindings/js/JSWorkerContextBase.cpp:
81654         (WebCore::toJS): WorkerContext always uses its own prototype chain since it's a GlobalObject subclass.
81655         * bindings/js/JSWorkerContextBase.h:
81656         * bindings/scripts/CodeGeneratorJS.pm:
81657             All generated toJS calls now pass a globalObject.
81658             All generated toJS implementations now expect a globalObject.
81659             Simplified all the slot casts by using a "castedThis" local.
81660             SVG bindings which don't have a globalObject() accessor pass the deprecated lexicalGlobalObject instead.
81661             Simplified printing of constructor objects using a $constructorClassName variable.
81662             All generated constructor functions follow the construct$className form to match the custom constructors.
81663
81664 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
81665
81666         Reviewed by Timothy Hatcher.
81667
81668         typing "document.__proto__" in inspector throws exception
81669         https://bugs.webkit.org/show_bug.cgi?id=27169
81670
81671         * inspector/front-end/utilities.js:
81672         (Object.type):
81673
81674 2009-07-24  Andrei Popescu  <andreip@google.com>
81675
81676         Reviewed by Anders Carlsson.
81677
81678         ApplicationCache should have size limit
81679         https://bugs.webkit.org/show_bug.cgi?id=22700
81680
81681         https://lists.webkit.org/pipermail/webkit-dev/2009-May/007560.html
81682
81683         This change implements a mechanism for limiting the maximum size of
81684         the application cache file. When this size is reached, a ChromeClient
81685         callback is invoked asynchronously and the saving of the last (failed)
81686         cache is retried automatically.
81687         
81688         This change also extends the ApplicationCacheStorage API by allowing
81689         a client to query or modify the application cache without having to
81690         load any resources into memory.
81691
81692         Test: http/tests/appcache/max-size.html
81693
81694         * WebCore.base.exp:
81695         Exports the symbols required by the DumpRenderTree test application.
81696         * loader/EmptyClients.h:
81697         Adds empty implementation of the new ChromeClient methods.
81698         * loader/appcache/ApplicationCache.cpp:
81699         * loader/appcache/ApplicationCache.h:
81700         Adds the ability to calculate the approximate size of an ApplicationCache object.
81701         * loader/appcache/ApplicationCacheGroup.cpp:
81702         * loader/appcache/ApplicationCacheGroup.h:
81703         Invokes the ChromeClient callback when the storage layer runs out of space.
81704         After the callback is invoked, we re-attempt to store the newest cache,
81705         in case the ChromeClient has freed some space.
81706         * loader/appcache/ApplicationCacheResource.cpp:
81707         * loader/appcache/ApplicationCacheResource.h:
81708         Adds the ability to calculate the approximate size of an ApplicationCacheResource object.
81709         * loader/appcache/ApplicationCacheStorage.cpp:
81710         * loader/appcache/ApplicationCacheStorage.h:
81711         Enforces a maximum size for the application cache file.
81712         * page/ChromeClient.h:
81713         Adds a new callback, invoked when the ApplicationCacheStorage reports that it has
81714         reached the maximum size for its database file.
81715         * platform/sql/SQLiteDatabase.cpp:
81716         * platform/sql/SQLiteDatabase.h:
81717         Adds a new method that allows querying for the amount of unused space inside the
81718         application cache database file.
81719
81720 2009-07-24  Xan Lopez  <xlopez@igalia.com>
81721
81722         Reviewed by Jan Alonzo.
81723
81724         https://bugs.webkit.org/show_bug.cgi?id=25415
81725         [GTK][ATK] Please implement support for get_text_at_offset
81726
81727         Use TextEncoding facilities to convert between UTF16 and UTF8
81728         instead of rolling our own solution.
81729
81730         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
81731         (convertUniCharToUTF8):
81732
81733 2009-07-24  Xan Lopez  <xlopez@igalia.com>
81734
81735         Reviewed by Jan Alonzo.
81736
81737         https://bugs.webkit.org/show_bug.cgi?id=25415
81738         [GTK][ATK] Please implement support for get_text_at_offset
81739
81740         Fix confusion in g_substr between length in bytes and length in
81741         characters. Was causing crashes in some situations when dealing
81742         with non-ASCII text encoded as UTF8.
81743
81744         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
81745         (g_substr):
81746
81747 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
81748
81749         Reviewed by Timothy Hatcher.
81750
81751         Inspector: Impossible to add an attribute to a node without attributes
81752         https://bugs.webkit.org/show_bug.cgi?id=21108
81753
81754         * inspector/front-end/ElementsTreeOutline.js:
81755         (WebInspector.ElementsTreeElement):
81756         (WebInspector.ElementsTreeElement.prototype.set hovered):
81757         (WebInspector.ElementsTreeElement.prototype.toggleNewButton):
81758         (WebInspector.ElementsTreeElement.prototype.ondblclick):
81759         (WebInspector.ElementsTreeElement.prototype._startEditing):
81760         (WebInspector.ElementsTreeElement.prototype._addNewAttribute):
81761         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
81762         * inspector/front-end/inspector.css:
81763
81764 2009-07-24  Keishi Hattori  <casey.hattori@gmail.com>
81765
81766         Reviewed by Timothy Hatcher.
81767
81768         Web Inspector: Adds support for Firebug's magic $0 variable to access inspected node
81769         https://bugs.webkit.org/show_bug.cgi?id=17907
81770
81771         * inspector/front-end/Console.js:
81772         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI.{
81773             _inspectedNodes, _addInspectedNode, $0, $1, $n}
81774         * inspector/front-end/ElementsPanel.js:
81775         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): Stores the inspected node history
81776             in _inspectorCommandLineAPI._inspectedNodes
81777         (WebInspector.ElementsPanel):
81778
81779 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
81780
81781         Reviewed by Timothy Hatcher.
81782
81783         Dragging a resource in the sidebar should drag it's URL
81784         https://bugs.webkit.org/show_bug.cgi?id=14410
81785
81786         * inspector/front-end/ResourcesPanel.js:
81787         (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
81788
81789 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
81790
81791         Reviewed by Timothy Hatcher.
81792
81793         Double click on a resource in the sidebar should open that resource in Safari
81794         https://bugs.webkit.org/show_bug.cgi?id=14409
81795
81796         * inspector/front-end/ResourcesPanel.js:
81797         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): open a resource url
81798
81799 2009-07-24  Jan Michael Alonzo  <jmalonzo@webkit.org>
81800
81801         Reviewed by Xan Lopez.
81802
81803         Bump pango version requirement to 1.12 and remove unnecessary #ifdefs.
81804
81805         * platform/graphics/gtk/FontGtk.cpp:
81806         (WebCore::getDefaultPangoLayout):
81807         * platform/graphics/gtk/FontPlatformDataPango.cpp:
81808         (WebCore::FontPlatformData::FontPlatformData):
81809         * platform/gtk/Language.cpp:
81810
81811 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
81812
81813         Reviewed by Timothy Hatcher.
81814
81815         Inspector: Missing UIString and other localizedString.js fixes
81816         https://bugs.webkit.org/show_bug.cgi?id=27288
81817
81818         * English.lproj/localizedStrings.js:
81819
81820 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
81821
81822         Reviewed by Timothy Hatcher.
81823
81824         Inspector: Should Syntax Highlight JSON
81825         https://bugs.webkit.org/show_bug.cgi?id=27503
81826
81827         * inspector/front-end/SourceView.js:
81828         (WebInspector.SourceView.prototype._contentLoaded):
81829
81830 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
81831
81832         Reviewed by Eric Seidel.
81833
81834         Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
81835         Style Guidelines as identified by cpplint.py.
81836         https://bugs.webkit.org/show_bug.cgi?id=27624
81837
81838         * page/DragController.cpp:
81839         (WebCore::DragController::~DragController):
81840         (WebCore::documentFragmentFromDragData):
81841         (WebCore::DragController::dragEnded):
81842         (WebCore::DragController::dragEntered):
81843         (WebCore::DragController::dragExited):
81844         (WebCore::DragController::dragUpdated):
81845         (WebCore::DragController::performDrag):
81846         (WebCore::asFileInput):
81847         (WebCore::DragController::tryDocumentDrag):
81848         (WebCore::DragController::delegateDragSourceAction):
81849         (WebCore::DragController::concludeEditDrag):
81850         (WebCore::DragController::canProcessDrag):
81851         (WebCore::DragController::tryDHTMLDrag):
81852         (WebCore::DragController::mayStartDragAtEventLocation):
81853         (WebCore::getCachedImage):
81854         (WebCore::getImage):
81855         (WebCore::prepareClipboardForImageDrag):
81856         (WebCore::dragLocForDHTMLDrag):
81857         (WebCore::DragController::startDrag):
81858         (WebCore::DragController::doImageDrag):
81859         (WebCore::DragController::doSystemDrag):
81860         (WebCore::DragController::placeDragCaret):
81861
81862 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
81863
81864         Reviewed by Eric Seidel.
81865
81866         Update WebCore/page/Chrome.cpp to conform to WebKit
81867         Style Guidelines as identified by cpplint.py.
81868         https://bugs.webkit.org/show_bug.cgi?id=27608
81869
81870         * page/Chrome.cpp:
81871         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
81872         (WebCore::Chrome::runJavaScriptAlert):
81873         (WebCore::Chrome::runJavaScriptConfirm):
81874         (WebCore::Chrome::runJavaScriptPrompt):
81875         (WebCore::Chrome::shouldInterruptJavaScript):
81876         (WebCore::Chrome::setToolTip):
81877         (WebCore::Chrome::requestGeolocationPermissionForFrame):
81878         (WebCore::ChromeClient::generateReplacementFile):
81879         (WebCore::ChromeClient::paintCustomScrollbar):
81880
81881 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
81882
81883         Reviewed by Eric Seidel.
81884
81885         Update WebCore/page/Coordinates.cpp to conform to WebKit
81886         Style Guidelines as identified by cpplint.py.
81887         https://bugs.webkit.org/show_bug.cgi?id=27614
81888
81889         * page/Coordinates.cpp:
81890         (WebCore::Coordinates::toString):
81891
81892 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
81893
81894         Reviewed by Eric Seidel.
81895
81896         Update WebCore/page/DOMSelection.cpp/h to conform to WebKit
81897         Style Guidelines as identified by cpplint.py.
81898         https://bugs.webkit.org/show_bug.cgi?id=27614
81899
81900         * page/DOMSelection.cpp:
81901         (WebCore::DOMSelection::setBaseAndExtent):
81902         (WebCore::DOMSelection::modify):
81903         (WebCore::DOMSelection::addRange):
81904         (WebCore::DOMSelection::deleteFromDocument):
81905         * page/DOMSelection.h:
81906
81907 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
81908
81909         Reviewed by Eric Seidel.
81910
81911         Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
81912         Style Guidelines as identified by cpplint.py.
81913         https://bugs.webkit.org/show_bug.cgi?id=27618
81914
81915         * page/DOMTimer.cpp:
81916         (WebCore::DOMTimer::DOMTimer):
81917         (WebCore::DOMTimer::~DOMTimer):
81918         (WebCore::DOMTimer::fired):
81919         (WebCore::DOMTimer::suspend):
81920         (WebCore::DOMTimer::resume):
81921         (WebCore::DOMTimer::canSuspend):
81922         * page/DOMTimer.h:
81923         (WebCore::DOMTimer::minTimerInterval):
81924         (WebCore::DOMTimer::setMinTimerInterval):
81925
81926 2009-07-24  Eric Seidel  <eric@webkit.org>
81927
81928         Reviewed by Adam Barth.
81929
81930         Classes call DOMObject::mark() explicitly, should call DOMObjectWithGlobal::mark() instead
81931         https://bugs.webkit.org/show_bug.cgi?id=27641
81932
81933         Nothing uses globalObject() yet, but this was causing crashes
81934         in the patch for bug 27634.  This is covered by fast/dom/gc-6.html.
81935
81936         I decided to change these to Base:: instead of DOMObjectWithGlobal::
81937         for future-proofing.  All autogenerated classes use a typedef Base
81938         to avoid bugs like these.  Sadly C+does not have a built-in super:: we could use.
81939
81940         * WebCore.xcodeproj/project.pbxproj:
81941         * bindings/js/JSAbstractWorkerCustom.cpp:
81942         (WebCore::JSAbstractWorker::mark):
81943         * bindings/js/JSDOMApplicationCacheCustom.cpp:
81944         (WebCore::JSDOMApplicationCache::mark):
81945         * bindings/js/JSMessageChannelCustom.cpp:
81946         (WebCore::JSMessageChannel::mark):
81947         * bindings/js/JSMessagePortCustom.cpp:
81948         (WebCore::JSMessagePort::mark):
81949         * bindings/js/JSNamedNodesCollection.cpp:
81950         (WebCore::JSNamedNodesCollection::getOwnPropertySlot):
81951         * bindings/js/JSNodeCustom.cpp:
81952         (WebCore::JSNode::mark):
81953         * bindings/js/JSNodeFilterCustom.cpp:
81954         (WebCore::JSNodeFilter::mark):
81955         * bindings/js/JSNodeIteratorCustom.cpp:
81956         (WebCore::JSNodeIterator::mark):
81957         * bindings/js/JSSVGElementInstanceCustom.cpp:
81958         (WebCore::JSSVGElementInstance::mark):
81959         * bindings/js/JSTreeWalkerCustom.cpp:
81960         (WebCore::JSTreeWalker::mark):
81961
81962 2009-07-22  Eric Seidel  <eric@webkit.org>
81963
81964         Reviewed by Adam Barth.
81965
81966         Make most DOMObjects hold onto a JSDOMGlobalObject*
81967         https://bugs.webkit.org/show_bug.cgi?id=27588
81968
81969         This change is almost entirely plumbing.  Only one functional
81970         change as part of this all (window.document.constructor has the correct prototype)
81971         Changes are detailed below.
81972
81973         inner.document.constructor is fixed because all properties on the window
81974         object are created with the correct globalObject (instead of the lexical one).
81975         Since all objects now carry a globalObject pointer, when document creates
81976         HTMLDocumentConstructor it now has the right globalObject to use.
81977
81978         Tests:
81979           fast/dom/prototype-inheritance.html
81980           fast/dom/prototype-inheritance-2.html
81981
81982         * bindings/js/DOMObjectWithSVGContext.h:
81983         (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
81984             Update the comment and add an ignored globalObject argument.
81985         * bindings/js/JSDOMBinding.h:
81986             Pass a globalObject to all DOMObjects during creation.  Currently it's the wrong global object.
81987             Once toJS is passed a globalObject it will be the right one.
81988         (WebCore::createDOMObjectWrapper):
81989         (WebCore::createDOMNodeWrapper):
81990         * bindings/js/JSDOMGlobalObject.h:
81991         (WebCore::JSDOMGlobalObject::globalObject): Makes binding generation easier.
81992         * bindings/js/JSDOMWindowCustom.cpp:
81993         (WebCore::JSDOMWindow::history): JSHistory is now passed a globalObject, but since it has no custom constructor it doesn't use it.
81994         (WebCore::JSDOMWindow::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
81995         * bindings/js/JSDocumentCustom.cpp:
81996         (WebCore::JSDocument::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
81997         * bindings/js/JSHTMLAllCollection.h:
81998         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
81999         * bindings/js/JSHTMLCollectionCustom.cpp: Re-factoring needed to pass globalObject to JSNamedNodesCollection constructor.
82000         (WebCore::getNamedItems):
82001         (WebCore::callHTMLCollection):
82002         (WebCore::JSHTMLCollection::canGetItemsForName):
82003         (WebCore::JSHTMLCollection::nameGetter):
82004         (WebCore::JSHTMLCollection::item):
82005         (WebCore::JSHTMLCollection::namedItem):
82006         * bindings/js/JSHTMLFormElementCustom.cpp:
82007         (WebCore::JSHTMLFormElement::nameGetter):
82008         * bindings/js/JSNamedNodesCollection.cpp:
82009              Now passed globalObject.  This is tested by inner.document.forms.testForm.
82010              The passed globalObject is still wrong until toJS is fixed.
82011         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
82012         * bindings/js/JSNamedNodesCollection.h:
82013         * bindings/js/JSSharedWorkerConstructor.cpp:
82014              Add DOMConstructorObject missed by http://trac.webkit.org/changeset/45938
82015              This class is not compiled by default, so not testable.
82016         (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
82017         * bindings/js/JSSharedWorkerConstructor.h:
82018         * bindings/scripts/CodeGeneratorJS.pm:
82019              Make all bindings objects carry a globalObject pointer using DOMObjectWithGlobalPointer.
82020              SVG bindings which need a context() pointer do not have enough space for globalObject() too.
82021              WorkerContext does not need a globalObject (it is one), so special case it.
82022              Make all .constructor calls use the stored globalObject().  This is what fixes window.document.constructor.
82023              Make all constructors inherit from DOMConstructorObject for consistency.  Since the auto-bound constructors
82024              override createStructure anyway, there is no functional change here.  Just completing work started in r45938.
82025
82026 2009-07-23  Brady Eidson  <beidson@apple.com>
82027
82028         Reviewed by Geoff Garen.
82029
82030         WebCore has a few places that don't gracefully handle a null request returned from willSendRequest.
82031         https://bugs.webkit.org/show_bug.cgi?id=27595
82032
82033         Test: http/tests/misc/will-send-request-returns-null-on-redirect.html
82034         
82035         * inspector/InspectorController.cpp:
82036         (WebCore::InspectorController::removeResource): Null-check the request URL.
82037         
82038         * platform/network/cf/ResourceHandleCFNet.cpp: Ditto, and return null instead of creating an empty one.
82039         (WebCore::willSendRequest):
82040
82041 2009-07-23  Chris Fleizach  <cfleizach@apple.com>
82042
82043         Reviewed by Darin Adler.
82044
82045         Bug 27633 - AXLoadComplete can be fired off to frequently
82046         https://bugs.webkit.org/show_bug.cgi?id=27633
82047
82048         An integration issue left out some curly braces.
82049
82050         * dom/Document.cpp:
82051         (WebCore::Document::implicitClose):
82052
82053 2009-07-23  Darin Adler  <darin@apple.com>
82054
82055         Reviewed by Brady Eidson.
82056
82057         URL appears in back/forward button menu instead of title for items with custom representation
82058         https://bugs.webkit.org/show_bug.cgi?id=27586
82059         rdar://problem/5060337
82060
82061         * WebCore.base.exp: Exported DocumentLoader::setTitle for use by Mac WebKit.
82062         * loader/FrameLoader.cpp:
82063         (WebCore::FrameLoader::didChangeTitle): Tightened code to check if the document
82064         loader is the correct one; previously this would never happen because we'd
82065         commit the load before any title changes could be registered, but now we can
82066         encounter a case where we get a title during a provisional load.
82067
82068 2009-07-23  Dan Bernstein  <mitz@apple.com>
82069
82070         Reviewed by Dave Hyatt.
82071
82072         [CSS3 Backgrounds and Borders] Add support for inset box shadows
82073         https://bugs.webkit.org/show_bug.cgi?id=27582
82074
82075         Test: fast/box-shadow/inset.html
82076
82077         * css/CSSComputedStyleDeclaration.cpp:
82078         (WebCore::valueForShadow): Set the ShadowValue’s shadow style to 'inset'
82079             as needed.
82080
82081         * css/CSSParser.cpp:
82082         (WebCore::ShadowParseContext::ShadowParseContext): Added style and allowStyle
82083             members. Initialize the allowStyle member.
82084         (WebCore::ShadowParseContext::commitValue): Pass the style value to the
82085             ShadowValue constructor. Reset allowStyle.
82086         (WebCore::ShadowParseContext::commitLength): Update allowStyle.
82087         (WebCore::ShadowParseContext::commitColor): Ditto.
82088         (WebCore::ShadowParseContext::commitStyle): Added. Sets the style member and
82089             updates the state.
82090         (WebCore::CSSParser::parseShadow): Parse the 'inset' keyword.
82091
82092         * css/CSSStyleSelector.cpp:
82093         (WebCore::CSSStyleSelector::applyProperty): Get the style value from the
82094             shadow value and pass it to the ShadowData constructor.
82095
82096         * css/ShadowValue.cpp:
82097         (WebCore::ShadowValue::ShadowValue): Added style.
82098         (WebCore::ShadowValue::cssText): Added style.
82099
82100         * css/ShadowValue.h:
82101         (WebCore::ShadowValue::create): Added style.
82102
82103         * page/animation/AnimationBase.cpp:
82104         (WebCore::blendFunc): Added a blend function for shadow styles. When blending
82105             between normal and inset shadows, all intermediate values map to normal.
82106         (WebCore::PropertyWrapperShadow::blend): Added normal style to the default
82107             shadow.
82108             
82109         * rendering/InlineFlowBox.cpp:
82110         (WebCore::InlineFlowBox::paintBoxShadow): Added a shadow style parameter,
82111             which is passed through to RenderBoxModelObject::paintBoxShadow().
82112
82113         (WebCore::InlineFlowBox::paintBoxDecorations): Paint inset shadows on top of
82114             the background.
82115
82116         * rendering/InlineFlowBox.h:
82117
82118         * rendering/RenderBox.cpp:
82119         (WebCore::RenderBox::paintBoxDecorations): Paint inset shadows on top of the
82120             background.
82121
82122         * rendering/RenderBoxModelObject.cpp:
82123         (WebCore::RenderBoxModelObject::paintBoxShadow): Added a shadow style
82124             parameter, and code to paint inset shadows.
82125
82126         * rendering/RenderBoxModelObject.h:
82127
82128         * rendering/RenderFieldset.cpp:
82129         (WebCore::RenderFieldset::paintBoxDecorations): Paint inset shadows on top of
82130             the background.
82131
82132         * rendering/RenderTable.cpp:
82133         (WebCore::RenderTable::paintBoxDecorations): Ditto.
82134
82135         * rendering/RenderTableCell.cpp:
82136         (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
82137
82138         * rendering/style/ShadowData.h:
82139         Added a ShadowStyle enum.
82140         (WebCore::ShadowData::ShadowData): Add and initialize a style member.
82141
82142 2009-07-23  Simon Fraser  <simon.fraser@apple.com>
82143
82144         Fix the build with UNUSED_PARAM(frame) for when ENABLE(3D_RENDERING) is not defined.
82145
82146         * css/MediaQueryEvaluator.cpp:
82147         (WebCore::transform_3dMediaFeatureEval):
82148
82149 2009-07-23  Simon Fraser  <simon.fraser@apple.com>
82150
82151         Reviewed by Adele Peterson.
82152
82153         3d-transforms media query needs to look check that accelerated compositing is enabled
82154         https://bugs.webkit.org/show_bug.cgi?id=27621
82155         
82156         When evaluating a media query with '-webkit-transform-3d', we need to check the
82157         runtime switch that toggles accererated compositing, and therefore 3D.
82158         
82159         No test because we can't disable the pref dynamically in DRT.
82160
82161         * css/MediaQueryEvaluator.cpp:
82162         (WebCore::transform_3dMediaFeatureEval):
82163
82164 2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
82165
82166         Reviewed by Eric Seidel.
82167
82168         execCommand('underline') can't remove <U> underlines
82169         https://bugs.webkit.org/show_bug.cgi?id=20215
82170
82171         This patch adds support for u, s, and strike to implicitlyStyledElementShouldBeRemovedWhenApplyingStyle so that
82172         WebKit can remove those presentational tags when necessary.
82173         It also modifies StyleChange::init not to add "text-decoration: none".  Not only is this style meaningless
82174         (does not override inherited styles) but it was also causing WebKit to generate extra spans with this style.
82175
82176         * css/CSSValueList.cpp:
82177         (WebCore::CSSValueList::hasValue): True if the property contains the specified value
82178         * css/CSSValueList.h: Updated prototype
82179         * editing/ApplyStyleCommand.cpp:
82180         (WebCore::StyleChange::init): No longer adds "text-decoration: none"
82181         (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): Supports text-decoration-related elements
82182
82183 2009-07-23  Jessie Berlin  <jberlin@apple.com>
82184         
82185         Reviewed by Dan Bernstein.
82186
82187         https://bugs.webkit.org/show_bug.cgi?id=27554
82188         Expose the value of text-overflow in getComputedStyle.
82189
82190         Test: fast/css/getComputedStyle/getComputedStyle-text-overflow.html
82191
82192         * css/CSSComputedStyleDeclaration.cpp:
82193         (WebCore::):
82194         Add text-overflow to the list of computedProperties.
82195         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
82196         Return the value of the text-overflow property.
82197
82198 2009-07-23  Yongjun Zhang  <yongjun.zhang@nokia.com>
82199
82200         Reviewed by Simon Hausmann.
82201
82202         https://bugs.webkit.org/show_bug.cgi?id=27510
82203
82204         [S60 QtWebKit] Don't put some intermediate generated files into the final mmp project
82205         file for linking. This is a temporary workaround for qmake bug in Symbian port, should 
82206         be reverted after qmake is fixed.
82207
82208         * WebCore.pro:
82209
82210 2009-07-23  Jian Li  <jianli@chromium.org>
82211
82212         Reviewed by David Levin.
82213
82214         [V8] Fix an assert in running workers in Chrome.
82215         https://bugs.webkit.org/show_bug.cgi?id=27620
82216
82217         The fix is to change V8DOMMap::removeAllDOMObjectsInCurrentThreadHelper
82218         to do not call removeObjectsFromWrapperMap for certain types of DOM
82219         objects that exist only in main thread.
82220
82221         * bindings/v8/V8DOMMap.cpp:
82222         (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
82223
82224 2009-07-23  David Hyatt  <hyatt@apple.com>
82225
82226         Reviewed by Dan Bernstein.
82227
82228         https://bugs.webkit.org/show_bug.cgi?id=27572
82229         Implement support for background-attachment:local.
82230
82231         Added new test fast/overflow/overflow-with-local-attachment.html.
82232
82233         * css/CSSComputedStyleDeclaration.cpp:
82234         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
82235         * css/CSSParser.cpp:
82236         (WebCore::CSSParser::parseFillProperty):
82237         * css/CSSPrimitiveValueMappings.h:
82238         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
82239         (WebCore::CSSPrimitiveValue::operator EFillAttachment):
82240         * css/CSSStyleSelector.cpp:
82241         (WebCore::CSSStyleSelector::mapFillAttachment):
82242         * css/CSSValueKeywords.in:
82243         * rendering/RenderBoxModelObject.cpp:
82244         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
82245         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
82246         * rendering/style/FillLayer.h:
82247         (WebCore::FillLayer::attachment):
82248         (WebCore::FillLayer::setAttachment):
82249         (WebCore::FillLayer::hasFixedImage):
82250         (WebCore::FillLayer::initialFillAttachment):
82251         * rendering/style/RenderStyle.h:
82252         (WebCore::InheritedFlags::backgroundAttachment):
82253         (WebCore::InheritedFlags::maskAttachment):
82254         * rendering/style/RenderStyleConstants.h:
82255         (WebCore::):
82256
82257 2009-07-23  Ryosuke Niwa  <rniwa@webkit.org>
82258
82259         Reviewed by Eric Seidel.
82260
82261         copyInheritableProperties and removeComputedInheritablePropertiesFrom should be deprecated
82262         https://bugs.webkit.org/show_bug.cgi?id=27325
82263
82264         This patch deprecates copyInheritableProperties because it has been used for two different purposes:
82265         1.  Calculating the typing style.
82266         2.  Moving HTML subtrees and seeking to remove redundant styles.
82267         These tasks should be broken out into two separate functions.  New code should not use this function.
82268
82269         It deletes removeComputedInheritablePropertiesFrom because it hasn't been used anywhere.
82270
82271         There is no test since the patch does not change any behavior.
82272
82273         * css/CSSComputedStyleDeclaration.cpp: removeComputedInheritablePropertiesFrom has been removed
82274         (WebCore::CSSComputedStyleDeclaration::deprecatedCopyInheritableProperties): has been renamed from copyInheritableProperties
82275         * css/CSSComputedStyleDeclaration.h: ditto
82276         * editing/DeleteSelectionCommand.cpp: ditto
82277         (WebCore::removeEnclosingAnchorStyle): ditto
82278         (WebCore::DeleteSelectionCommand::saveTypingStyleState): ditto
82279         * editing/EditCommand.cpp: ditto
82280         (WebCore::EditCommand::styleAtPosition): ditto
82281         * editing/RemoveFormatCommand.cpp: ditto
82282         (WebCore::RemoveFormatCommand::doApply): ditto
82283         * editing/ReplaceSelectionCommand.cpp: ditto
82284         (WebCore::handleStyleSpansBeforeInsertion): ditto
82285         (WebCore::ReplaceSelectionCommand::handleStyleSpans): ditto
82286         * editing/markup.cpp: ditto
82287         (WebCore::removeEnclosingMailBlockquoteStyle): ditto
82288         (WebCore::removeDefaultStyles): ditto
82289         (WebCore::createMarkup): ditto
82290
82291 2009-07-22  Pierre d'Herbemont  <pdherbemont@apple.com>
82292
82293         Reviewed by Simon Fraser.
82294
82295         Audio element at default width shouldn't have time field.
82296         https://bugs.webkit.org/show_bug.cgi?id=27589
82297
82298         * rendering/MediaControlElements.cpp:
82299         (WebCore::MediaControlTimeDisplayElement::setVisible): Make sure we don't
82300         forget to remember the visibility if there is no renderer.
82301
82302 2009-07-23  Beth Dakin  <bdakin@apple.com>
82303
82304         Reviewed by Darin Adler.
82305
82306         Fix for https://bugs.webkit.org/show_bug.cgi?id=27598 Clean up the 
82307         AccessibilityObject class
82308
82309         Mostly this is just moving empty stubs into the header rather than 
82310         muddying the cpp file with them. A few functions were made pure 
82311         virtual.
82312
82313         * accessibility/AccessibilityObject.cpp:
82314         (WebCore::AccessibilityObject::isARIAControl):
82315         (WebCore::AccessibilityObject::clickPoint):
82316         (WebCore::AccessibilityObject::documentFrameView):
82317         (WebCore::AccessibilityObject::actionVerb):
82318         * accessibility/AccessibilityObject.h:
82319         (WebCore::AccessibilityObject::intValue):
82320         (WebCore::AccessibilityObject::layoutCount):
82321         (WebCore::AccessibilityObject::doAccessibilityHitTest):
82322         (WebCore::AccessibilityObject::focusedUIElement):
82323         (WebCore::AccessibilityObject::firstChild):
82324         (WebCore::AccessibilityObject::lastChild):
82325         (WebCore::AccessibilityObject::previousSibling):
82326         (WebCore::AccessibilityObject::nextSibling):
82327         (WebCore::AccessibilityObject::parentObjectIfExists):
82328         (WebCore::AccessibilityObject::observableObject):
82329         (WebCore::AccessibilityObject::linkedUIElements):
82330         (WebCore::AccessibilityObject::titleUIElement):
82331         (WebCore::AccessibilityObject::ariaRoleAttribute):
82332         (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole):
82333         (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren):
82334         (WebCore::AccessibilityObject::roleValue):
82335         (WebCore::AccessibilityObject::ariaAccessiblityName):
82336         (WebCore::AccessibilityObject::ariaLabeledByAttribute):
82337         (WebCore::AccessibilityObject::ariaDescribedByAttribute):
82338         (WebCore::AccessibilityObject::accessibilityDescription):
82339         (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
82340         (WebCore::AccessibilityObject::axObjectCache):
82341         (WebCore::AccessibilityObject::axObjectID):
82342         (WebCore::AccessibilityObject::setAXObjectID):
82343         (WebCore::AccessibilityObject::anchorElement):
82344         (WebCore::AccessibilityObject::actionElement):
82345         (WebCore::AccessibilityObject::boundingBoxRect):
82346         (WebCore::AccessibilityObject::selectedTextRange):
82347         (WebCore::AccessibilityObject::selectionStart):
82348         (WebCore::AccessibilityObject::selectionEnd):
82349         (WebCore::AccessibilityObject::url):
82350         (WebCore::AccessibilityObject::selection):
82351         (WebCore::AccessibilityObject::stringValue):
82352         (WebCore::AccessibilityObject::title):
82353         (WebCore::AccessibilityObject::helpText):
82354         (WebCore::AccessibilityObject::textUnderElement):
82355         (WebCore::AccessibilityObject::text):
82356         (WebCore::AccessibilityObject::textLength):
82357         (WebCore::AccessibilityObject::selectedText):
82358         (WebCore::AccessibilityObject::accessKey):
82359         (WebCore::AccessibilityObject::widget):
82360         (WebCore::AccessibilityObject::widgetForAttachmentView):
82361         (WebCore::AccessibilityObject::setFocused):
82362         (WebCore::AccessibilityObject::setSelectedText):
82363         (WebCore::AccessibilityObject::setSelectedTextRange):
82364         (WebCore::AccessibilityObject::setValue):
82365         (WebCore::AccessibilityObject::setSelected):
82366         (WebCore::AccessibilityObject::makeRangeVisible):
82367         (WebCore::AccessibilityObject::childrenChanged):
82368         (WebCore::AccessibilityObject::addChildren):
82369         (WebCore::AccessibilityObject::hasChildren):
82370         (WebCore::AccessibilityObject::selectedChildren):
82371         (WebCore::AccessibilityObject::visibleChildren):
82372         (WebCore::AccessibilityObject::visiblePositionRange):
82373         (WebCore::AccessibilityObject::visiblePositionRangeForLine):
82374         (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
82375         (WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
82376         (WebCore::AccessibilityObject::visiblePositionForPoint):
82377         (WebCore::AccessibilityObject::nextVisiblePosition):
82378         (WebCore::AccessibilityObject::previousVisiblePosition):
82379         (WebCore::AccessibilityObject::visiblePositionForIndex):
82380         (WebCore::AccessibilityObject::indexForVisiblePosition):
82381         (WebCore::AccessibilityObject::index):
82382         (WebCore::AccessibilityObject::doAXRangeForLine):
82383         (WebCore::AccessibilityObject::doAXRangeForIndex):
82384         (WebCore::AccessibilityObject::doAXStringForRange):
82385         (WebCore::AccessibilityObject::doAXBoundsForRange):
82386         (WebCore::AccessibilityObject::updateBackingStore):
82387
82388 2009-07-23  Brian Weinstein  <bweinstein@apple.com>
82389
82390         Reviewed by David Hyatt.
82391
82392         Fix of <rdar://4877658> Dragging from the area between the horizontal/vertical scrollbars when status bar is showing starts a selection and autoscroll.
82393
82394         * page/EventHandler.cpp:
82395         (WebCore::EventHandler::handleMousePressEvent):
82396         * platform/ScrollView.cpp:
82397         (WebCore::ScrollView::wheelEvent):
82398         * platform/ScrollView.h:
82399
82400 2009-07-23  David Hyatt  <hyatt@apple.com>
82401
82402         Reviewed by Dan Bernstein.
82403
82404         https://bugs.webkit.org/show_bug.cgi?id=27581
82405         Drop the prefix from the box-shadow property.
82406
82407         * css/CSSComputedStyleDeclaration.cpp:
82408         (WebCore::):
82409         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
82410         * css/CSSParser.cpp:
82411         (WebCore::CSSParser::parseValue):
82412         (WebCore::ShadowParseContext::commitLength):
82413         (WebCore::cssPropertyID):
82414         * css/CSSPropertyNames.in:
82415         * css/CSSStyleSelector.cpp:
82416         (WebCore::CSSStyleSelector::applyProperty):
82417         * page/animation/AnimationBase.cpp:
82418         (WebCore::ensurePropertyMap):
82419
82420 2009-07-22  Viet-Trung Luu  <viettrungluu@gmail.com>
82421
82422         Reviewed by David Hyatt.
82423
82424         https://bugs.webkit.org/show_bug.cgi?id=27289
82425         When a mouse click occurs on a scrollbar without a preceding mouse move
82426         onto it, the release isn't handled correctly (since
82427         EventHandler::m_lastScrollbarUnderMouse isn't set on mouse down, but
82428         only on mouse move). (Side comment: That scrollbar-handling code
82429         in EventHandler is ugly. It should be fixed properly.)
82430
82431         Tests: scrollbars/scrollbar-miss-mousemove.html
82432                scrollbars/scrollbar-miss-mousemove-disabled.html
82433
82434         * page/EventHandler.cpp:
82435         (WebCore::EventHandler::handleMousePressEvent):
82436         (WebCore::EventHandler::handleMouseMoveEvent):
82437         (WebCore::EventHandler::updateLastScrollbarUnderMouse):
82438         * page/EventHandler.h:
82439
82440 2009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>
82441
82442         Reviewed by David Levin.
82443
82444         Update WebCore/page/BarInfo.cpp to conform to WebKit
82445         Style Guidelines as identified by cpplint.py.
82446         https://bugs.webkit.org/show_bug.cgi?id=27606
82447
82448         * page/BarInfo.cpp:
82449         (WebCore::BarInfo::visible):
82450
82451 2009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>
82452
82453         Reviewed by David Levin.
82454
82455         Update WebCore/page/Console.cpp to conform to WebKit
82456         Style Guidelines as identified by cpplint.py.
82457         https://bugs.webkit.org/show_bug.cgi?id=27606
82458
82459         * page/Console.cpp:
82460         (WebCore::printMessageSourceAndLevelPrefix):
82461         (WebCore::Console::profile):
82462         (WebCore::Console::time):
82463
82464 2009-07-23  Simon Hausmann  <simon.hausmann@nokia.com>
82465
82466         Reviewed by Holger Freyther.
82467
82468         Fix crashes with the QObject bindings after garbage collection.
82469
82470         There is one QtInstance per wrapped QObject, and that QtInstance keeps
82471         references to cached JSObjects for slots. When those objects get
82472         deleted due to GC, then they becoming dangling pointers.
82473
82474         When a cached member dies, it is now removed from the QtInstance's
82475         cache.
82476
82477         As we cannot track the lifetime of the children, we have to remove
82478         them from QtInstance alltogether. They are not cached and were
82479         only used for mark(), but we _want_ them to be subject to gc.
82480
82481         * bridge/qt/qt_instance.cpp:
82482         (JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup,
82483         use qDeleteAll().
82484         (JSC::Bindings::QtInstance::removeCachedMethod): New function, to
82485         clean m_methods and m_defaultMethod.
82486         (JSC::Bindings::QtInstance::mark): Avoid marking already marked objects.
82487         (JSC::Bindings::QtField::valueFromInstance): Don't save children for
82488         marking.
82489         * bridge/qt/qt_instance.h: Declare removeCachedMethod.
82490         * bridge/qt/qt_runtime.cpp:
82491         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod
82492         with this on the instance.
82493
82494 2009-07-23  Xan Lopez  <xlopez@igalia.com>
82495
82496         Reviewed by Mark Rowe.
82497
82498         https://bugs.webkit.org/show_bug.cgi?id=27599
82499         'const unsigned' in return value
82500
82501         Remove const modifier from unsigned return value, as it does not
82502         make sense.
82503
82504         * dom/ErrorEvent.h:
82505
82506 2009-07-22  Jens Alfke  <snej@chromium.org>
82507
82508         Reviewed by David Levin.
82509
82510         Bug 22784: Improve keyboard navigation of Select elements.
82511         Home/End and PageUp/PageDn buttons do not do anything in drop down lists,
82512         on non-Mac platforms.
82513         https://bugs.webkit.org/show_bug.cgi?id=22784
82514         http://code.google.com/p/chromium/issues/detail?id=4576
82515
82516         New test: LayoutTests/fast/forms/select-popup-pagekeys.html
82517
82518         * dom/SelectElement.cpp:
82519         (WebCore::nextValidIndex): 
82520         New utility fn for traversing items of a select's list.
82521         (WebCore::SelectElement::menuListDefaultEventHandler):
82522         Added code to handle Home/End and PageUp/PageDn when ARROW_KEYS_POP_MENU is false.
82523
82524 2009-07-23  Xan Lopez  <xlopez@igalia.com>
82525
82526         Reviewed by Mark Rowe.
82527
82528         Fix a couple of compiler warnings.
82529
82530         * platform/graphics/cairo/ImageBufferCairo.cpp:
82531         (copySurface):
82532         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
82533         (WebCore::SimpleFontData::containsCharacters):
82534
82535 2009-07-22  Simon Hausmann  <simon.hausmann@nokia.com>
82536
82537         Rubber-stamped by David Levin.
82538
82539         Enable HTML5 Datagrid defines for the Qt build.
82540
82541         * WebCore.pro:
82542
82543 2009-07-22  Adam Barth  <abarth@webkit.org>
82544
82545         Reviewed by David Levin.
82546
82547         [V8] Make Node wrappers go fast
82548         https://bugs.webkit.org/show_bug.cgi?id=27597
82549
82550         Profiles indicate we're spending a lot of time asking whether we're on
82551         the main thread when looking up DOM wrappers for Nodes, but there isn't
82552         much point in doing that work because Nodes only exist on the main
82553         thread.  I've also added an assert to keep us honest in this regard.
82554
82555         * bindings/v8/V8DOMMap.cpp:
82556         (WebCore::):
82557         (WebCore::getDOMNodeMap):
82558         (WebCore::DOMData::getCurrent):
82559         (WebCore::DOMData::getCurrentMainThread):
82560
82561 2009-07-22  Adam Barth  <abarth@webkit.org>
82562
82563         Reviewed by Alexey Proskuryakov.
82564
82565         Remove unneeded virtual destructor from ScriptSourceProvider
82566         https://bugs.webkit.org/show_bug.cgi?id=27563
82567
82568         * bindings/js/ScriptSourceProvider.h:
82569
82570 2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
82571
82572         Reviewed by Eric Seidel.
82573
82574         execCommand('underline' / 'strikeThrough') doesn't work properly with multiple styles in text-decoration
82575         https://bugs.webkit.org/show_bug.cgi?id=27476
82576
82577         executeStrikethrough and executeUnderline were toggling between "line-through" / "underline" and "none".
82578         This patch adds executeToggleStyleInList that toggles a style in CSSValueList instead of toggling the entire value.
82579         It modifies CSSComputedStyleDeclaration to return CSSValueList instead of CSSPrimitiveValue for text decorations,
82580         and adds removeAll member function to CSSValueList.
82581
82582         Tests: editing/execCommand/toggle-text-decorations.html
82583                fast/css/getComputedStyle/getComputedStyle-text-decoration.html
82584
82585         * css/CSSComputedStyleDeclaration.cpp:
82586         (WebCore::renderTextDecorationFlagsToCSSValue): Creates a CSSValueList
82587         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Returns a CSSValueList instead of CSSValue
82588         * css/CSSParser.cpp:
82589         (WebCore::CSSParser::parseValue): Text decorations are space separated instead of comma separated
82590         * css/CSSValueList.cpp:
82591         (WebCore::CSSValueList::removeAll): Removes all values that match the specified value
82592         * css/CSSValueList.h:
82593         * editing/EditorCommand.cpp:
82594         (WebCore::applyCommandToFrame): Apply style to a frame using specified command
82595         (WebCore::executeApplyStyle): Uses applyCommandToFrame
82596         (WebCore::executeToggleStyleInList): Uses applyCommandToFrame
82597         (WebCore::executeToggleStyle): Toggles a style in CSSValueList
82598         (WebCore::executeStrikethrough): Uses executeToggleStyleInList
82599         (WebCore::executeUnderline): Uses executeToggleStyleInList
82600
82601 2009-07-22  Daniel Bates  <dbates@intudata.com>
82602
82603         Reviewed by Adam Barth.
82604
82605         https://bugs.webkit.org/show_bug.cgi?id=27174
82606         And
82607         https://bugs.webkit.org/show_bug.cgi?id=26938
82608         
82609         Code cleanup. Implements support for detecting attacks transformed by 
82610         PHP Magic Quotes/PHP addslashes().
82611
82612         Tests: http/tests/security/xssAuditor/script-tag-addslashes-backslash.html
82613                http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html
82614                http/tests/security/xssAuditor/script-tag-addslashes-null-char.html
82615                http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html
82616
82617         * page/XSSAuditor.cpp:
82618         (WebCore::isInvalidCharacter):
82619         (WebCore::XSSAuditor::canEvaluate):
82620         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
82621         (WebCore::XSSAuditor::canLoadObject):
82622         (WebCore::XSSAuditor::normalize): Decodes HTML entities, removes backslashes,
82623         and removes control characters that could otherwise cause a discrepancy between
82624         the source code of a script and the outgoing HTTP parameters.
82625         (WebCore::XSSAuditor::decodeURL):
82626         (WebCore::XSSAuditor::decodeHTMLEntities):
82627         (WebCore::XSSAuditor::findInRequest):
82628         * page/XSSAuditor.h:
82629
82630 2009-07-22  Oliver Hunt  <oliver@apple.com>
82631
82632         Reviewed by Adele Peterson.
82633
82634         Null deref in JSObject::mark due to null xhr wrapper
82635         https://bugs.webkit.org/show_bug.cgi?id=27565
82636
82637         Make event target binding for appcache and xhr behave in the same way as
82638         it does for all other events.
82639
82640         No test as I couldn't make a testcase which was remotely reliable.
82641
82642         * bindings/js/JSEventTarget.cpp:
82643         (WebCore::toJS):
82644
82645 2009-07-22  Mads Ager  <ager@chromium.org>
82646
82647         Reviewed by David Levin.
82648
82649         Inform V8 of the amount of WebCore string memory it is keeping alive.
82650         https://bugs.webkit.org/show_bug.cgi?id=27537
82651
82652         V8 uses external strings that are backed by WebCore strings. Since
82653         the external strings themselves are small, V8 has no way of
82654         knowing how much memory it is actually holding on to. With this
82655         change, we inform V8 of the amount of WebCore string data it is
82656         holding on to with external strings.
82657
82658         * bindings/v8/V8Binding.cpp:
82659         (WebCore::WebCoreStringResource::WebCoreStringResource):
82660         (WebCore::WebCoreStringResource::~WebCoreStringResource):
82661
82662 2009-07-22  David Hyatt  <hyatt@apple.com>
82663
82664         Reviewed by Beth Dakin.
82665
82666         https://bugs.webkit.org/show_bug.cgi?id=27562
82667         Add the finalized versions of background-clip and background-origin.  Remove background-clip from
82668         the background shorthand and have it be auto-set based off background-origin's value.
82669
82670         Three new tests added in fast/backgrounds/size
82671
82672         * css/CSSComputedStyleDeclaration.cpp:
82673         (WebCore::):
82674         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
82675         * css/CSSMutableStyleDeclaration.cpp:
82676         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
82677         * css/CSSParser.cpp:
82678         (WebCore::CSSParser::parseValue):
82679         (WebCore::CSSParser::parseFillShorthand):
82680         (WebCore::CSSParser::parseFillProperty):
82681         * css/CSSPropertyLonghand.cpp:
82682         (WebCore::initShorthandMap):
82683         * css/CSSPropertyNames.in:
82684         * css/CSSStyleSelector.cpp:
82685         (WebCore::CSSStyleSelector::applyProperty):
82686         * css/CSSValueKeywords.in:
82687
82688 2009-07-22  Jens Alfke  <snej@chromium.org>
82689
82690         Reviewed by Darin Fisher.
82691
82692         Hook up V8 bindings for DataGrid elements.
82693         https://bugs.webkit.org/show_bug.cgi?id=27383
82694         http://code.google.com/p/chromium/issues/detail?id=16730
82695
82696         Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
82697         to handle exceptions, check appropriate JS prototypes, and
82698         test column-list's item() method as well as array-indexing.
82699
82700         * WebCore.gypi: Added new source files.
82701         * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
82702         * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
82703         * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
82704         (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
82705         * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
82706         (WebCore::V8DataGridDataSource::V8DataGridDataSource):
82707         (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
82708         * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
82709         (WebCore::V8DataGridDataSource::create):
82710         (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
82711         (WebCore::V8DataGridDataSource::jsDataSource):
82712         (WebCore::asV8DataGridDataSource):
82713         * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
82714         * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
82715         * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
82716         * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Added.
82717         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
82718         (WebCore::ACCESSOR_GETTER):
82719         (WebCore::ACCESSOR_SETTER):
82720
82721 2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
82722
82723         Reviewed by Eric Seidel.
82724
82725         pushDownTextDecorationStyleAroundNode needs clean up
82726         https://bugs.webkit.org/show_bug.cgi?id=27556
82727
82728         Cleaned up. pushDownTextDecorationStyleAroundNode traverses tree vertically from highestAncestor to targetNode
82729         While traversing, it will apply the specified style to all nodes but targetNode.
82730         i.e. the style is applies to all ancestor nodes and their siblings of targetNode.
82731
82732         * editing/ApplyStyleCommand.cpp:
82733         (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Cleaned up and added comments
82734         * editing/ApplyStyleCommand.h: Updated prototype
82735
82736 2009-07-22  Peter Kasting  <pkasting@google.com>
82737
82738         Reviewed by David Kilzer.
82739
82740         https://bugs.webkit.org/show_bug.cgi?id=27323
82741         Handle any type of line endings in WebCore/css/*CSSPropertyNames.in.
82742
82743         * DerivedSources.make:
82744         * css/makeprop.pl:
82745         * css/makevalues.pl:
82746
82747 2009-07-22  Paul Godavari  <paul@chromium.org>
82748
82749         Reviewed by Darin Fisher.
82750
82751         Chromium has a build break after removal of JSRGBColor bindings
82752         https://bugs.webkit.org/show_bug.cgi?id=27548
82753
82754         Fix a build break in Chromium V8 after the JSRGBColor bindings change:
82755         https://bugs.webkit.org/show_bug.cgi?id=27242
82756
82757         * bindings/scripts/CodeGeneratorV8.pm:
82758
82759 2009-07-22  Adam Langley  <agl@google.com>
82760
82761         Reviewed by Darin Fisher.
82762
82763         Chromium Linux: add static functions to FontPlatformData which allow
82764         for setting the global font rendering preferences.
82765
82766         https://bugs.webkit.org/show_bug.cgi?id=27513
82767         http://code.google.com/p/chromium/issues/detail?id=12179
82768
82769         This should not affect any layout tests.
82770
82771         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
82772         (WebCore::FontPlatformData::setHinting):
82773         (WebCore::FontPlatformData::setAntiAlias):
82774         (WebCore::FontPlatformData::setSubpixelGlyphs):
82775         (WebCore::FontPlatformData::setupPaint):
82776         * platform/graphics/chromium/FontPlatformDataLinux.h:
82777
82778 2009-07-22  Mikhail Naganov  <mnaganov@chromium.org>
82779
82780         Reviewed by Timothy Hatcher.
82781
82782         Move Inspector panels creation into a function to make possible introducing
82783         custom panels.
82784
82785         * inspector/front-end/inspector.js:
82786         (WebInspector._createPanels):
82787         (WebInspector.loaded):
82788
82789 2009-07-22  Pavel Feldman  <pfeldman@chromium.org>
82790
82791         Reviewed by Timothy Hatcher.
82792
82793         WebInspector: Print console command message upon evaluate
82794         selection request; Handle errors in evaluation request
82795         properly.
82796
82797         https://bugs.webkit.org/show_bug.cgi?id=27535
82798
82799         * inspector/front-end/ScriptsPanel.js:
82800         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
82801         * inspector/front-end/SourceFrame.js:
82802         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
82803
82804 2009-07-22  Xan Lopez  <xlopez@igalia.com>
82805
82806         Attempt to fix the GTKbuild.
82807
82808         * GNUmakefile.am:
82809
82810 2009-07-21  Simon Hausmann  <simon.hausmann@nokia.com>
82811
82812         Fix the Qt build.
82813
82814         * WebCore.pro: Add RGBColor.cpp to the build, remove JSRGBColor.
82815
82816 2009-07-21  Daniel Bates  <dbates@intudata.com>
82817
82818         Reviewed by Adam Barth.
82819
82820         https://bugs.webkit.org/show_bug.cgi?id=27494
82821
82822         Fixes an issue that can cause a crash or unexpected behavior when calling
82823         WebCore::ScriptSourceCode::source on a cached script.
82824
82825         * GNUmakefile.am:
82826         * WebCore.gypi:
82827         * WebCore.pro:
82828         * WebCore.vcproj/WebCore.vcproj:
82829         * WebCore.xcodeproj/project.pbxproj:
82830         * bindings/js/CachedScriptSourceProvider.h: Modified to inherit from 
82831         WebCore::ScriptSourceCode.
82832         (WebCore::CachedScriptSourceProvider::source):
82833         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
82834         * bindings/js/ScriptSourceCode.h:
82835         (WebCore::ScriptSourceCode::ScriptSourceCode): Separated out source provider and
82836         rewrote to use WebCore::ScriptSourceProvider.
82837         (WebCore::ScriptSourceCode::source):
82838         * bindings/js/ScriptSourceProvider.h: Added.
82839         (WebCore::ScriptSourceProvider::ScriptSourceProvider):
82840         (WebCore::ScriptSourceProvider::~ScriptSourceProvider):
82841         * bindings/js/StringSourceProvider.h: Modified to inherit from 
82842         WebCore::ScriptSourceCode.
82843         (WebCore::StringSourceProvider::StringSourceProvider):
82844
82845 2009-07-21  Sam Weinig  <sam@webkit.org>
82846
82847         Another attempt to fix the Windows build.
82848
82849         * WebCore.vcproj/WebCore.vcproj:
82850
82851 2009-07-21  Sam Weinig  <sam@webkit.org>
82852
82853         Attempt to fix the Windows build.
82854
82855         * DerivedSources.cpp:
82856
82857 2009-07-21  Sam Weinig  <sam@webkit.org>
82858
82859         Attempt to fix the GTK build.
82860
82861         * GNUmakefile.am:
82862
82863 2009-07-21  Sam Weinig  <sam@webkit.org>
82864
82865         Reviewed by Dan Bernstein.
82866
82867         Autogenerate Objective-C binding implementation for RGBColor.
82868
82869         No functionality change.
82870
82871         * WebCore.xcodeproj/project.pbxproj: 
82872         * bindings/objc/DOMRGBColor.mm: Removed.
82873         * bindings/scripts/CodeGeneratorObjC.pm: Add logic to convert from
82874         WebCore::Color to NSColor*.
82875         * css/RGBColor.idl:
82876
82877 2009-07-21  Sam Weinig  <sam@webkit.org>
82878
82879         Reviewed by Dan Bernstein.
82880
82881         Fix for https://bugs.webkit.org/show_bug.cgi?id=27242
82882         JSC bindings should use an auto-bound RGBColor class instead of hand-rolled JSRGBColor
82883
82884         Move the JSC and Objective-C bindings onto using the RGBColor object instead
82885         of just an unsigned int. The JSC bindings are now completely autogenerated for
82886         this class. (Also removes the last lut from WebCore).
82887
82888         * DerivedSources.make:
82889         * GNUmakefile.am:
82890         * WebCore.pro:
82891         * WebCore.vcproj/WebCore.vcproj:
82892         * WebCore.xcodeproj/project.pbxproj:
82893         * WebCoreSources.bkl:
82894         * bindings/js/JSRGBColor.cpp: Removed.
82895         * bindings/js/JSRGBColor.h: Removed.
82896         * bindings/objc/DOM.mm:
82897         (-[DOMRGBColor _color]):
82898         * bindings/objc/DOMRGBColor.mm:
82899         (-[DOMRGBColor dealloc]):
82900         (-[DOMRGBColor finalize]):
82901         (-[DOMRGBColor red]):
82902         (-[DOMRGBColor green]):
82903         (-[DOMRGBColor blue]):
82904         (-[DOMRGBColor alpha]):
82905         (-[DOMRGBColor color]):
82906         * bindings/scripts/CodeGenerator.pm:
82907         * bindings/scripts/CodeGeneratorJS.pm:
82908         * bindings/scripts/CodeGeneratorObjC.pm:
82909         * css/CSSParser.cpp:
82910         (WebCore::CSSParser::parseColor):
82911         * css/CSSPrimitiveValue.cpp:
82912         (WebCore::CSSPrimitiveValue::getRGBColorValue):
82913         * css/CSSPrimitiveValue.h:
82914         (WebCore::CSSPrimitiveValue::getRGBA32Value):
82915         * css/CSSStyleSelector.cpp:
82916         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
82917         * css/RGBColor.cpp:
82918         (WebCore::RGBColor::alpha):
82919         * css/RGBColor.h:
82920         (WebCore::RGBColor::color):
82921         (WebCore::RGBColor::RGBColor):
82922         * css/RGBColor.idl:
82923         * page/DOMWindow.idl:
82924         * svg/SVGColor.cpp:
82925         (WebCore::SVGColor::rgbColor):
82926         * svg/SVGColor.h:
82927
82928 2009-07-21  Jian Li  <jianli@chromium.org>
82929
82930         Reviewed by David Levin.
82931
82932         Implement AbstractWorker::dispatchScriptErrorEvent by generating an ErrorEvent.
82933         https://bugs.webkit.org/show_bug.cgi?id=27515
82934
82935         * workers/AbstractWorker.cpp:
82936         (WebCore::AbstractWorker::dispatchScriptErrorEvent):
82937
82938 2009-07-21  Eric Seidel  <eric@webkit.org>
82939
82940         Reviewed by Adam Barth.
82941
82942         Move m_context out of generator into a superclass
82943         https://bugs.webkit.org/show_bug.cgi?id=27521
82944
82945         Mostly this is removing code from CodeGeneratorJS
82946         and instead using a DOMObjectWithSVGContext superclass in JSDOMBinding.h.
82947
82948         DOMObjectWithSVGContext.h is its own file so that WebKit doesn't need to
82949         know about SVGElement.h (WebKit includes JSDOMBinding.h for some reason).
82950
82951         I also removed context pointer from SVGZoomEvent since it was never used.
82952
82953         * WebCore.gypi:
82954         * WebCore.pro:
82955         * WebCore.vcproj/WebCore.vcproj:
82956         * WebCore.xcodeproj/project.pbxproj:
82957         * bindings/js/DOMObjectWithSVGContext.h: Added.
82958         (WebCore::DOMObjectWithSVGContext::context):
82959         (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
82960         * bindings/js/JSDOMBinding.h:
82961         * bindings/js/JSEventCustom.cpp:
82962         (WebCore::toJS):
82963         * bindings/scripts/CodeGeneratorJS.pm:
82964
82965 2009-07-21  Ryosuke Niwa  <rniwa@webkit.org>
82966
82967         Reviewed by Eric Seidel.
82968
82969         REGRESSION (r46142):  editing/execCommand/19087.html & editing/execCommand/19653-1.html fail in Windows build
82970         https://bugs.webkit.org/show_bug.cgi?id=27480
82971
82972         Because m_anchorType : 2 is treated as a signed integer by cl.exe, anchorType() wasn't returning the correct value.
82973         We made m_anchorType unsigned so that anchorType() returns the correct value.
82974
82975         * dom/Position.h:
82976         (WebCore::Position::anchorType): statically cast to AnchorType
82977
82978 2009-07-21  Jian Li  <jianli@chromium.org>
82979
82980         Reviewed by David Levin.
82981
82982         [V8] Add V8 bindings for onerror in WorkerContext.
82983         https://bugs.webkit.org/show_bug.cgi?id=27518
82984
82985         * bindings/v8/custom/V8CustomBinding.h:
82986         * bindings/v8/custom/V8WorkerContextCustom.cpp:
82987         (WebCore::ACCESSOR_GETTER):
82988         (WebCore::ACCESSOR_SETTER):
82989
82990 2009-07-21  Jian Li  <jianli@chromium.org>
82991
82992         Fix the incorrect patch being landed for bug 27516 that has already been reviewed.
82993         https://bugs.webkit.org/show_bug.cgi?id=27516
82994
82995         * workers/WorkerContext.h:
82996         (WebCore::WorkerContext::setOnerror):
82997         (WebCore::WorkerContext::onerror):
82998         * workers/WorkerContext.idl:
82999
83000 2009-07-21  Jian Li  <jianli@chromium.org>
83001
83002         Reviewed by David Levin.
83003
83004         Add onerror to WorkerContext.
83005         https://bugs.webkit.org/show_bug.cgi?id=27516
83006
83007         * bindings/js/JSWorkerContextCustom.cpp:
83008         (WebCore::JSWorkerContext::mark):
83009         * workers/WorkerContext.h:
83010         (WebCore::WorkerContext::setOnerror):
83011         (WebCore::WorkerContext::onerror):
83012         * workers/WorkerContext.idl:
83013
83014 2009-07-21  Yong Li  <yong.li@torchmobile.com>
83015
83016         Reviewed by George Staikos.
83017
83018         https://bugs.webkit.org/show_bug.cgi?id=27509
83019         Add font-related files for the WinCE port.
83020
83021         Written by Yong Li <yong.li@torchmobile.com>
83022
83023         * platform/graphics/wince/FontCacheWince.cpp: Added.
83024         * platform/graphics/wince/FontCustomPlatformData.cpp: Added.
83025         * platform/graphics/wince/FontCustomPlatformData.h: Added.
83026         * platform/graphics/wince/FontPlatformData.cpp: Added.
83027         * platform/graphics/wince/FontPlatformData.h: Added.
83028         * platform/graphics/wince/FontWince.cpp: Added.
83029         * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Added.
83030         * platform/graphics/wince/SimpleFontDataWince.cpp: Added.
83031
83032 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
83033
83034         Fix the Windows build, and update the comment on top now that wx uses WebCorePrefix.h too.
83035
83036         * WebCorePrefix.h:
83037
83038 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
83039
83040         WebCorePrefix.h build fixes for non-Mac and wx / CURL builds.
83041
83042         * WebCorePrefix.h:
83043
83044 2009-07-21  Eric Seidel  <eric@webkit.org>
83045
83046         Reviewed by Adam Barth.
83047
83048         All DOMConstructorObjects should hold a pointer to the JSDOMGlobalObject
83049         https://bugs.webkit.org/show_bug.cgi?id=27478
83050
83051         This is just moving code.
83052         I've added two new classes: DOMObjectWithGlobalPointer and DOMConstructorWithDocument.
83053
83054         DOMObjectWithGlobalPointer is a new baseclass for DOMConstructorObject.
83055         (It's a baseclass because eventually all DOMObjects will have a global pointer, but
83056         I'll be moving them onto DOMObjectWithGlobalPointer in stages.)
83057
83058         DOMConstructorWithDocument is a new baseclass for the 3 constructor objects
83059         which require a backpointer to the Document to function.  I made this a subclass of
83060         DOMConstructorObject to make clear that most constructors can hold no-such assumptions
83061         about having a back-pointer to the Document (since many constructors can be used from Workers).
83062
83063         * bindings/js/JSAudioConstructor.cpp:
83064         (WebCore::JSAudioConstructor::JSAudioConstructor):
83065         * bindings/js/JSAudioConstructor.h:
83066         * bindings/js/JSDOMBinding.h:
83067         (WebCore::DOMObjectWithGlobalPointer::globalObject):
83068         (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
83069         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
83070         (WebCore::DOMObjectWithGlobalPointer::mark):
83071         (WebCore::DOMConstructorObject::DOMConstructorObject):
83072         (WebCore::DOMConstructorWithDocument::document):
83073         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
83074         * bindings/js/JSImageConstructor.cpp:
83075         (WebCore::JSImageConstructor::JSImageConstructor):
83076         * bindings/js/JSImageConstructor.h:
83077         * bindings/js/JSMessageChannelConstructor.cpp:
83078         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
83079         * bindings/js/JSMessageChannelConstructor.h:
83080         * bindings/js/JSOptionConstructor.cpp:
83081         (WebCore::JSOptionConstructor::JSOptionConstructor):
83082         * bindings/js/JSOptionConstructor.h:
83083         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
83084         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
83085         * bindings/js/JSWebKitPointConstructor.cpp:
83086         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
83087         * bindings/js/JSWorkerConstructor.cpp:
83088         (WebCore::JSWorkerConstructor::JSWorkerConstructor):
83089         * bindings/js/JSXMLHttpRequestConstructor.cpp:
83090         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
83091         * bindings/js/JSXMLHttpRequestConstructor.h:
83092         * bindings/js/JSXSLTProcessorConstructor.cpp:
83093         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
83094
83095 2009-07-21  James Hawkins  <jhawkins@google.com>
83096
83097         Reviewed by David Hyatt.
83098
83099         https://bugs.webkit.org/show_bug.cgi?id=27453
83100         Initialize isInt when creating a CSSParserValue for a function.
83101
83102         No change in behavior, so no tests.
83103
83104         * css/CSSFunctionValue.cpp:
83105         (WebCore::CSSFunctionValue::parserValue):
83106
83107 2009-07-20  Jens Alfke  <snej@google.com>
83108  
83109          Reviewed by David Levin.
83110  
83111          Bug 27448: [Chromium] On Mac, arrow keys should cause Select to pop up its menu.
83112          Mac build of Chromium doesn't follow Mac HI guidelines to pop up the menu when
83113          an arrow key is pressed.
83114          https://bugs.webkit.org/show_bug.cgi?id=27448
83115  
83116          No new tests; affects only control response to user input.
83117  
83118          * dom/SelectElement.cpp:
83119          Changed definition of ARROW_KEYS_POP_MENU to make it true in Mac Chromium,
83120          so it will behave compatibly with Mac HI guidelines on pop-up menus.
83121          It's not possible to have PLATFORM(MAC) be true in the Mac build of Chromium.
83122  
83123 2009-07-21  Paul Godavari  <paul@chromium.org>
83124
83125         Reviewed by Eric Seidel.
83126
83127         [Chromium] popup menus can crash when the selected index is -1
83128         https://bugs.webkit.org/show_bug.cgi?id=27275
83129
83130         Crash reports from users indicate a crash can occur when PopupListBox::isSelectableItem
83131         is passed an index of less than 0 (which is possible under certain circumstances). This
83132         change prevents such a value from causing a crash by enforcing valid index values passed
83133         by all callers of isSelectableItem. isSelectableItem is now a private method of
83134         PopupListBox, as there are no external callers.
83135
83136         Also cleaned up a small amount of code for style and grammar errors.
83137
83138         No automatic test is provided since we cannot send events to the child window used by
83139         the popup menu.
83140
83141         * platform/chromium/PopupMenuChromium.cpp:
83142         (WebCore::PopupListBox::acceptIndex):
83143         (WebCore::PopupListBox::selectIndex):
83144         (WebCore::PopupListBox::isSelectableItem):
83145         (WebCore::PopupListBox::selectPreviousRow):
83146
83147 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
83148
83149         wx build fix. Don't include winsock2.h on wx, it conflicts with wx's inclusion of winsock.
83150
83151         * platform/network/curl/ResourceHandleManager.h:
83152
83153 2009-07-21  Adam Roben  <aroben@apple.com>
83154
83155         Roll out r46153, r46154, and r46155
83156
83157         These changes were causing build failures and assertion failures on
83158         Windows.
83159
83160         * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
83161         * platform/graphics/cg/ImageBufferCG.cpp:
83162
83163 2009-07-21  Jian Li  <jianli@chromium.org>
83164
83165         Reviewed by Eric Seidel.
83166
83167         Implement ErrorEvent API.
83168         https://bugs.webkit.org/show_bug.cgi?id=27387
83169
83170         * DerivedSources.cpp:
83171         * DerivedSources.make:
83172         * GNUmakefile.am:
83173         * WebCore.gypi:
83174         * WebCore.pro:
83175         * WebCore.vcproj/WebCore.vcproj:
83176         * WebCore.xcodeproj/project.pbxproj:
83177         * WebCoreSources.bkl:
83178         * bindings/js/JSEventCustom.cpp:
83179         (WebCore::toJS):
83180         * dom/ErrorEvent.cpp: Added.
83181         * dom/ErrorEvent.h: Added.
83182         * dom/ErrorEvent.idl: Added.
83183         * dom/Event.cpp:
83184         (WebCore::Event::isErrorEvent):
83185         * dom/Event.h:
83186
83187 2009-07-21  Priit Laes  <plaes@plaes.org>
83188
83189         Reviewed by Gustavo Noronha.
83190
83191         [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word
83192         https://bugs.webkit.org/show_bug.cgi?id=24602
83193
83194         Remove workaround required for <=libsoup-2.26.1
83195
83196         * platform/network/soup/ResourceHandleSoup.cpp:
83197         (WebCore::restartedCallback):
83198
83199 2009-07-21  Adam Barth  <abarth@webkit.org>
83200
83201         Reviewed by David Levin.
83202
83203         V8IsolatedWorld keeps a handle to a disposed context
83204         https://bugs.webkit.org/show_bug.cgi?id=27397
83205
83206         Make a copy of the context handle before making it weak.  We don't want
83207         to make the original handle weak because we want it to survive for the
83208         length of the V8IsolatedWorld::evaluate method.
83209
83210         * bindings/v8/V8IsolatedWorld.cpp:
83211         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
83212
83213 2009-07-21  Pavel Feldman  <pfeldman@chromium.org>
83214
83215         Reviewed by Timothy Hatcher.
83216
83217         Web Inspector: Add ability to evaluate selection while on break point.
83218
83219         https://bugs.webkit.org/show_bug.cgi?id=27502
83220
83221         * inspector/front-end/SourceFrame.js:
83222         (WebInspector.SourceFrame.prototype._loaded):
83223         (WebInspector.SourceFrame.prototype._documentKeyDown):
83224
83225 2009-07-21  Pavel Feldman  <pfeldman@chromium.org>
83226
83227         Reviewed by Timothy Hatcher.
83228
83229         WebInspector: Special case ConsolePanel opening since
83230         it is a 'fast view'.
83231
83232         https://bugs.webkit.org/show_bug.cgi?id=27493
83233
83234         * inspector/InspectorController.cpp:
83235         (WebCore::InspectorController::setWindowVisible):
83236
83237 2009-07-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>
83238
83239         Reviewed by Eric Seidel.
83240
83241         Fix Qt code to follow the WebKit Coding Style.
83242
83243         * platform/graphics/qt/FontQt.cpp:
83244         (WebCore::qstring):
83245         (WebCore::fixSpacing):
83246         * platform/graphics/qt/FontQt43.cpp:
83247         (WebCore::generateComponents):
83248         (WebCore::Font::offsetForPositionForComplexText):
83249         (WebCore::cursorToX):
83250         * platform/graphics/qt/GradientQt.cpp:
83251         (WebCore::Gradient::platformGradient):
83252         * platform/graphics/qt/GraphicsContextQt.cpp:
83253         (WebCore::toQtFillRule):
83254         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
83255         (WebCore::GraphicsContext::~GraphicsContext):
83256         (WebCore::GraphicsContext::getCTM):
83257         (WebCore::GraphicsContext::concatCTM):
83258         (WebCore::GraphicsContext::getWindowsContext):
83259         * platform/graphics/qt/IconQt.cpp:
83260         (WebCore::Icon::paint):
83261         * platform/graphics/qt/ImageDecoderQt.cpp:
83262         (WebCore::ImageDecoderQt::ReadContext::read):
83263         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
83264         (WebCore::ImageDecoderQt::setData):
83265         * platform/graphics/qt/ImageQt.cpp:
83266         (WebCore::Image::drawPattern):
83267         (WebCore::BitmapImage::draw):
83268         * platform/graphics/qt/ImageSourceQt.cpp:
83269         (WebCore::ImageSource::frameDurationAtIndex):
83270         (WebCore::ImageSource::frameHasAlphaAtIndex):
83271         (WebCore::ImageSource::frameIsCompleteAtIndex):
83272         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
83273         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
83274         (WebCore::MediaPlayerPrivate::create):
83275         (WebCore::MediaPlayerPrivate::bytesLoaded):
83276         (WebCore::MediaPlayerPrivate::updateStates):
83277         * platform/graphics/qt/PathQt.cpp:
83278         (WebCore::Path::addArcTo):
83279         (WebCore::Path::isEmpty):
83280         * platform/graphics/qt/TransformationMatrixQt.cpp:
83281         (WebCore::TransformationMatrix::operator QTransform):
83282         * platform/qt/ClipboardQt.cpp:
83283         (WebCore::ClipboardQt::ClipboardQt):
83284         (WebCore::ClipboardQt::clearData):
83285         (WebCore::ClipboardQt::clearAllData):
83286         (WebCore::ClipboardQt::getData):
83287         (WebCore::ClipboardQt::setData):
83288         (WebCore::ClipboardQt::setDragImage):
83289         (WebCore::getCachedImage):
83290         (WebCore::ClipboardQt::declareAndWriteDragImage):
83291         (WebCore::ClipboardQt::writeURL):
83292         (WebCore::ClipboardQt::writeRange):
83293         (WebCore::ClipboardQt::hasData):
83294         * platform/qt/ClipboardQt.h:
83295         * platform/qt/ContextMenuItemQt.cpp:
83296         (WebCore::ContextMenuItem::action):
83297         (WebCore::ContextMenuItem::title):
83298         * platform/qt/CursorQt.cpp:
83299         (WebCore::westPanningCursor):
83300         (WebCore::notAllowedCursor):
83301         * platform/qt/DragDataQt.cpp:
83302         (WebCore::DragData::containsFiles):
83303         (WebCore::DragData::asFilenames):
83304         (WebCore::DragData::asPlainText):
83305         (WebCore::DragData::asFragment):
83306         * platform/qt/DragImageQt.cpp:
83307         (WebCore::createDragImageIconForCachedImage):
83308         * platform/qt/FileSystemQt.cpp:
83309         (WebCore::getFileSize):
83310         (WebCore::unloadModule):
83311         * platform/qt/Localizations.cpp:
83312         (WebCore::contextMenuItemTagShowSpellingPanel):
83313         * platform/qt/MIMETypeRegistryQt.cpp:
83314         (WebCore::):
83315         * platform/qt/PasteboardQt.cpp:
83316         (WebCore::Pasteboard::Pasteboard):
83317         (WebCore::Pasteboard::writeSelection):
83318         (WebCore::Pasteboard::plainText):
83319         * platform/qt/PlatformKeyboardEventQt.cpp:
83320         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
83321         * platform/qt/PlatformMouseEventQt.cpp:
83322         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
83323         * platform/qt/PopupMenuQt.cpp:
83324         (WebCore::PopupMenu::populate):
83325         * platform/qt/RenderThemeQt.cpp:
83326         (WebCore::RenderThemeQt::fallbackStyle):
83327         (WebCore::inflateButtonRect):
83328         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
83329         (WebCore::RenderThemeQt::paintButton):
83330         (WebCore::RenderThemeQt::paintMenuList):
83331         (WebCore::RenderThemeQt::applyTheme):
83332         (WebCore::WorldMatrixTransformer::WorldMatrixTransformer):
83333         (WebCore::RenderThemeQt::paintMediaBackground):
83334         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
83335         * platform/qt/RenderThemeQt.h:
83336         * platform/qt/ScreenQt.cpp:
83337         (WebCore::screenRect):
83338         (WebCore::usableScreenRect):
83339         * platform/qt/ScrollbarQt.cpp:
83340         (WebCore::Scrollbar::contextMenu):
83341         * platform/qt/ScrollbarThemeQt.cpp:
83342         (WebCore::scPart):
83343         (WebCore::scrollbarPart):
83344         * platform/qt/ScrollbarThemeQt.h:
83345         * platform/qt/SharedBufferQt.cpp:
83346         (WebCore::SharedBuffer::createWithContentsOfFile):
83347         * platform/qt/TemporaryLinkStubs.cpp:
83348         (PluginDatabase::defaultPluginDirectories):
83349         (PluginDatabase::getPluginPathsInDirectories):
83350         (PluginDatabase::isPreferredPluginDirectory):
83351         (WebCore::getSupportedKeySizes):
83352         (WebCore::signedPublicKeyAndChallengeString):
83353         (WebCore::userIdleTime):
83354         (WebCore::prefetchDNS):
83355         * platform/text/qt/StringQt.cpp:
83356         (WebCore::String::String):
83357         * platform/text/qt/TextBoundaries.cpp:
83358         * platform/text/qt/TextBreakIteratorQt.cpp:
83359         (WebCore::TextBreakIterator::following):
83360         (WebCore::TextBreakIterator::preceding):
83361         (WebCore::WordBreakIteratorQt::first):
83362         (WebCore::WordBreakIteratorQt::next):
83363         (WebCore::WordBreakIteratorQt::previous):
83364         (WebCore::CharBreakIteratorQt::first):
83365         (WebCore::CharBreakIteratorQt::next):
83366         (WebCore::CharBreakIteratorQt::previous):
83367         (WebCore::characterBreakIterator):
83368         * plugins/qt/PluginPackageQt.cpp:
83369         (WebCore::PluginPackage::fetchInfo):
83370         * plugins/qt/PluginViewQt.cpp:
83371         (WebCore::PluginView::userAgentStatic):
83372         (WebCore::PluginView::handlePostReadFile):
83373         (WebCore::PluginView::init):
83374
83375 2009-07-21  Maxime Simon  <simon.maxime@gmail.com>
83376
83377         Reviewed by David Levin.
83378
83379         Added a first bunch of Haiku-specific files for WebCore.
83380         https://bugs.webkit.org/show_bug.cgi?id=26988
83381
83382         * platform/haiku/ClipboardHaiku.cpp: Added.
83383         (WebCore::ClipboardHaiku::ClipboardHaiku):
83384         (WebCore::ClipboardHaiku::clearData):
83385         (WebCore::ClipboardHaiku::clearAllData):
83386         (WebCore::ClipboardHaiku::getData):
83387         (WebCore::ClipboardHaiku::setData):
83388         (WebCore::ClipboardHaiku::types):
83389         (WebCore::ClipboardHaiku::files):
83390         (WebCore::ClipboardHaiku::dragLocation):
83391         (WebCore::ClipboardHaiku::dragImage):
83392         (WebCore::ClipboardHaiku::setDragImage):
83393         (WebCore::ClipboardHaiku::dragImageElement):
83394         (WebCore::ClipboardHaiku::setDragImageElement):
83395         (WebCore::ClipboardHaiku::createDragImage):
83396         (WebCore::ClipboardHaiku::declareAndWriteDragImage):
83397         (WebCore::ClipboardHaiku::writeURL):
83398         (WebCore::ClipboardHaiku::writeRange):
83399         (WebCore::ClipboardHaiku::hasData):
83400         * platform/haiku/ClipboardHaiku.h: Added.
83401         (WebCore::ClipboardHaiku::create):
83402         (WebCore::ClipboardHaiku::~ClipboardHaiku):
83403         * platform/haiku/CookieJarHaiku.cpp: Added.
83404         (WebCore::setCookies):
83405         (WebCore::cookies):
83406         (WebCore::cookiesEnabled):
83407         * platform/haiku/CursorHaiku.cpp: Added.
83408         (WebCore::Cursor::Cursor):
83409         (WebCore::Cursor::~Cursor):
83410         (WebCore::Cursor::operator=):
83411         (WebCore::pointerCursor):
83412         (WebCore::moveCursor):
83413         (WebCore::crossCursor):
83414         (WebCore::handCursor):
83415         (WebCore::iBeamCursor):
83416         (WebCore::waitCursor):
83417         (WebCore::helpCursor):
83418         (WebCore::eastResizeCursor):
83419         (WebCore::northResizeCursor):
83420         (WebCore::northEastResizeCursor):
83421         (WebCore::northWestResizeCursor):
83422         (WebCore::southResizeCursor):
83423         (WebCore::southEastResizeCursor):
83424         (WebCore::southWestResizeCursor):
83425         (WebCore::westResizeCursor):
83426         (WebCore::northSouthResizeCursor):
83427         (WebCore::eastWestResizeCursor):
83428         (WebCore::northEastSouthWestResizeCursor):
83429         (WebCore::northWestSouthEastResizeCursor):
83430         (WebCore::columnResizeCursor):
83431         (WebCore::rowResizeCursor):
83432         (WebCore::verticalTextCursor):
83433         (WebCore::cellCursor):
83434         (WebCore::contextMenuCursor):
83435         (WebCore::noDropCursor):
83436         (WebCore::copyCursor):
83437         (WebCore::progressCursor):
83438         (WebCore::aliasCursor):
83439         (WebCore::noneCursor):
83440         (WebCore::notAllowedCursor):
83441         (WebCore::zoomInCursor):
83442         (WebCore::zoomOutCursor):
83443         (WebCore::grabCursor):
83444         (WebCore::grabbingCursor):
83445
83446 2009-07-21  Albert Astals Cid <aacid@kde.org>
83447
83448         Reviewed by Tor Arne Vestbø.
83449
83450         Change #error line not to have a ' (single quote)
83451
83452         * DerivedSources.cpp:
83453
83454 2009-07-21  Roland Steiner  <rolandsteiner@google.com>
83455
83456         Reviewed by David Levin.
83457
83458         Add ENABLE_RUBY to list of build options
83459         https://bugs.webkit.org/show_bug.cgi?id=27324
83460
83461         Added flag ENABLE_RUBY:
83462
83463         * Configurations/FeatureDefines.xcconfig:
83464         * DerivedSources.make:
83465         * GNUmakefile.am:
83466         * WebCore.pro:
83467         * WebCore.vcproj/WebCoreCommon.vsprops:
83468         * WebCore.vcproj/build-generated-files.sh:
83469
83470 2009-07-21  James Hawkins  <jhawkins@google.com>
83471
83472         Reviewed by Eric Seidel.
83473
83474         https://bugs.webkit.org/show_bug.cgi?id=27467
83475         Return an empty path in PlatformContextSkia::currentPathInLocalCoordinates
83476         if matrix.invert() fails.  This prevents the use of an uninitialized
83477         value in inverseMatrix.
83478
83479         No new tests added.  Run
83480         LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
83481         under valgrind and notice there are no errors.
83482
83483         * platform/graphics/skia/PlatformContextSkia.cpp:
83484         (PlatformContextSkia::currentPathInLocalCoordinates):
83485
83486 2009-07-21  Stephen White  <senorblanco@chromium.org>
83487
83488         Reviewed by Eric Seidel.
83489
83490         https://bugs.webkit.org/show_bug.cgi?id=27388
83491
83492         Fix dotted and dashed borders on Chromium/skia.  This follows
83493         the logic in the Cg path, so results are much closer to Safari now 
83494         (some tests won't be exactly the same due to font layout differences).
83495
83496         * platform/graphics/skia/GraphicsContextSkia.cpp:
83497         (WebCore::GraphicsContext::drawLine):
83498         * platform/graphics/skia/PlatformContextSkia.cpp:
83499         (PlatformContextSkia::setupPaintForStroking):
83500
83501 2009-07-20  Oliver Hunt  <oliver@apple.com>
83502
83503         Reviewed by Gavin Barraclough.
83504
83505         Make it harder to misuse try* allocation routines
83506         https://bugs.webkit.org/show_bug.cgi?id=27469
83507
83508         Add forwarding header for PossiblyNull type, and add missing null check
83509         to ImageBuffer creation.
83510
83511         * ForwardingHeaders/wtf/PossiblyNull.h: Added.
83512         * platform/graphics/cg/ImageBufferCG.cpp:
83513         (WebCore::ImageBuffer::ImageBuffer):
83514
83515 2009-07-20  Adam Langley  <agl@google.com>
83516
83517         Reviewed by Eric Seidel.
83518
83519         Guard access to installedMediaEngines()[0].
83520
83521         https://bugs.webkit.org/show_bug.cgi?id=27479
83522         http://code.google.com/p/chromium/issues/detail?id=16541
83523
83524         Else where in the file, installedMediaEngines is always checked for
83525         being empty because access. This patch adds a case which missed that
83526         check.
83527
83528         This triggered a crash in Chromium:
83529             http://www.yakeze.com/chat/example-chromium-crash/
83530
83531         * platform/graphics/MediaPlayer.cpp:
83532         (WebCore::MediaPlayer::load):
83533
83534 2009-07-20  Adam Langley  <agl@google.com>
83535
83536         Reviewed by Eric Seidel.
83537
83538         Allow search entries to render with a CSS border if the RenderTheme
83539         doesn't paint them.
83540
83541         https://bugs.webkit.org/show_bug.cgi?id=27466
83542         http://code.google.com/p/chromium/issues/detail?id=16958
83543
83544         <input type="search"> is very much like a text entry except that,
83545         currently, if the RenderTheme doesn't deal with it, nothing is
83546         rendered. With this patch, the default CSS border is rendered if the
83547         RenderTheme requests it.
83548
83549         This will affect many layout tests, but only for Chromium Linux and
83550         those results are not currently in the WebKit tree.
83551
83552         * rendering/RenderTheme.cpp:
83553         (WebCore::RenderTheme::paintBorderOnly):
83554
83555 2009-07-17  Anton Muhin  <antonm@chromium.org>
83556
83557         Reviewed by Adam Barth.
83558
83559         Switch to faster methods to access internal fields.
83560         https://bugs.webkit.org/show_bug.cgi?id=27372
83561
83562         Minor refactoring.
83563
83564         * bindings/scripts/CodeGeneratorV8.pm:
83565         * bindings/v8/V8DOMWrapper.cpp:
83566         (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
83567         (WebCore::V8DOMWrapper::setDOMWrapper):
83568         * bindings/v8/V8DOMWrapper.h:
83569         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
83570         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
83571         (WebCore::V8DOMWrapper::convertToNativeObject):
83572         (WebCore::V8DOMWrapper::convertToNativeEvent):
83573         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
83574         (WebCore::CALLBACK_FUNC_DECL):
83575         * bindings/v8/custom/V8ClipboardCustom.cpp:
83576         (WebCore::CALLBACK_FUNC_DECL):
83577         * bindings/v8/custom/V8DocumentCustom.cpp:
83578         (WebCore::CALLBACK_FUNC_DECL):
83579         * bindings/v8/custom/V8ElementCustom.cpp:
83580         (WebCore::CALLBACK_FUNC_DECL):
83581         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
83582         (WebCore::CALLBACK_FUNC_DECL):
83583         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
83584         (WebCore::CALLBACK_FUNC_DECL):
83585         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
83586         (WebCore::removeElement):
83587         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
83588         (WebCore::CALLBACK_FUNC_DECL):
83589         * bindings/v8/custom/V8NodeCustom.cpp:
83590         (WebCore::CALLBACK_FUNC_DECL):
83591         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
83592         (WebCore::CALLBACK_FUNC_DECL):
83593
83594 2009-07-20  Adam Langley  <agl@google.com>
83595
83596         Reviewed by Eric Seidel.
83597
83598         Chromium Linux: cache Harfbuzz faces.
83599
83600         https://bugs.webkit.org/show_bug.cgi?id=27473
83601
83602         Previously, we recreated the Harfbuzz face for each script-run. With
83603         this patch, we keep the Harfbuzz face in the FontPlatformData (created
83604         as needed) and so they will persist for the duration of the
83605         FontPlatformData.
83606
83607         Shouldn't affect any layout tests. Results in a significant win on the
83608         intl2 page cycler time.
83609
83610         * platform/graphics/chromium/FontLinux.cpp:
83611         (WebCore::TextRunWalker::~TextRunWalker):
83612         (WebCore::TextRunWalker::setupFontForScriptRun):
83613         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
83614         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::~RefCountedHarfbuzzFace):
83615         (WebCore::FontPlatformData::FontPlatformData):
83616         (WebCore::FontPlatformData::harfbuzzFace):
83617         * platform/graphics/chromium/FontPlatformDataLinux.h:
83618         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::create):
83619         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::face):
83620         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::RefCountedHarfbuzzFace):
83621         * platform/graphics/chromium/HarfbuzzSkia.h: Added.
83622
83623 2009-07-20  Ryosuke Niwa  <rniwa@webkit.org>
83624
83625         Reviewed by Simon Fraser.
83626
83627         REGRESSION (r46142): Need to remove showTreeThisForThis
83628         https://bugs.webkit.org/show_bug.cgi?id=27475
83629
83630         Removes showTreeThisForThis
83631
83632         * editing/IndentOutdentCommand.cpp:
83633         (WebCore::IndentOutdentCommand::appendParagraphIntoNode):
83634
83635 2009-07-19  Ryosuke Niwa  <rniwa@webkit.org>
83636
83637         Reviewed by Eric Seidel.
83638
83639         Refactoring of indentRegion to fix bugs 26816 and 25317
83640         https://bugs.webkit.org/show_bug.cgi?id=26816
83641         https://bugs.webkit.org/show_bug.cgi?id=25317
83642         https://bugs.webkit.org/show_bug.cgi?id=23995 (partially)
83643
83644         This patch implements appendParagraphIntoNode, a simpler specialized version of moveParagraph
83645         and replaces all calls inside indentRegion. The following is the new behavior of indentRegion.
83646
83647         1. We try to indent as many wrapping nodes as possible.
83648            e.g. when indenting "hello" in <div>hello</div>, we try to indent div as well.
83649         2. We do not delete any wrapping elements
83650            With moveParagraph, we used to remove all wrapping nodes, and replaced with a blockquote.
83651            This was causing https://bugs.webkit.org/show_bug.cgi?id=23995 for indentation.
83652            With appendParagraphIntoNode, we can preserve all wrapping nodes.
83653         3. We only split the tree until the closest block node instead of until the root editable node.
83654            This behavioral change fixes the bug 25317.
83655         4. When multiple paragraphs are indented, we indent the highest common ancestor within the selection.
83656            e.g. when a list is a child node of a div, and the entire div is intended,
83657                 we enclose the div by a single blockquote.
83658
83659         Note that new behavior is more consistent with that of Internet Explorer and Firefox.
83660         To demonstrate this, the following tests are added.
83661
83662         Tests: editing/execCommand/indent-div-inside-list.html
83663                editing/execCommand/indent-nested-blockquotes.html
83664                editing/execCommand/indent-nested-div.html
83665                editing/execCommand/indent-second-paragraph-in-blockquote.html
83666
83667         * editing/IndentOutdentCommand.cpp: prepareBlockquoteLevelForInsertion is removed
83668         (WebCore::IndentOutdentCommand::tryIndentingAsListItem): uses appendParagraphIntoNode now
83669         (WebCore::IndentOutdentCommand::indentIntoBlockquote): uses appendParagraphIntoNode now
83670         (WebCore::IndentOutdentCommand::appendParagraphIntoNode): removes a paragraph and appends it to a new node
83671         (WebCore::IndentOutdentCommand::removeUnnecessaryLineBreakAt): removes a break element at the specified position
83672         (WebCore::IndentOutdentCommand::indentRegion): exhibits the described behavior
83673         * editing/IndentOutdentCommand.h: updated prototype
83674
83675 2009-07-20  Dan Bernstein  <mitz@apple.com>
83676
83677         Try to fix release builds after r46136
83678
83679         * dom/Element.cpp:
83680
83681 2009-07-17  Pierre d'Herbemont  <pdherbemont@apple.com>
83682
83683         Reviewed by Eric Seidel.
83684
83685         Media Controls: We are specifying the text height, where it is unneeded and the slider is 2px off.
83686         https://bugs.webkit.org/show_bug.cgi?id=27380
83687
83688         Adjust the margin of the slider and remove useless height specification to fix alignement of the media controls.
83689
83690         * css/mediaControlsQT.css:
83691
83692 2009-07-20  Peter Kasting  <pkasting@google.com>
83693
83694         Reviewed by Mark Rowe.
83695
83696         https://bugs.webkit.org/show_bug.cgi?id=27468
83697         Back out r46060, which caused problems for some Apple developers.
83698
83699         * WebCore.vcproj/QTMovieWin.vcproj:
83700         * WebCore.vcproj/WebCoreCommon.vsprops:
83701         * WebCore.vcproj/WebCoreGenerated.vcproj:
83702
83703 2009-07-20  Dan Bernstein  <mitz@apple.com>
83704
83705         Reviewed by Anders Carlsson.
83706
83707         When loading a custom view into a frame, the old document is still
83708         around
83709         <rdar://problem/5145841>
83710
83711         Safari fires onload before PDF is loaded into the browser
83712         <rdar://problem/6618869>
83713
83714         Test: fast/loader/non-html-load-event.html
83715
83716         * GNUmakefile.am: Added PlaceholderDocument.{cpp,h}
83717         * WebCore.gypi: Ditto.
83718         * WebCore.pro: Ditto.
83719         * WebCore.vcproj/WebCore.vcproj: Ditto.
83720         * WebCore.xcodeproj/project.pbxproj: Ditto.
83721         * WebCoreSources.bkl: Ditto.
83722         * dom/Document.h:
83723         (WebCore::Document::setStyleSelector): Added this protected accessor for
83724             PlaceholderDocument to use.
83725         * dom/Element.cpp:
83726         (WebCore::Element::clientWidth): Check whether the document has a
83727             renderer.
83728         (WebCore::Element::clientHeight): Ditto.
83729         * loader/FrameLoader.cpp:
83730         (WebCore::FrameLoader::begin): Create a PlaceholderDocument for frames
83731             that do not use an HTML view. Do not nullify the content size in
83732             that case.
83733         (WebCore::FrameLoader::transitionToCommitted): For frames that do not
83734             use an HTML view, call receivedFirstData(), which sets up the
83735             frame with a new PlaceHolderDocument.
83736         * loader/PlaceholderDocument.cpp: Added.
83737         (WebCore::PlaceholderDocument::attach): Sets up the style selector but
83738             does not create a RenderView.
83739         * loader/PlaceholderDocument.h: Added.
83740         (WebCore::PlaceholderDocument::create):
83741         (WebCore::PlaceholderDocument::PlaceholderDocument):
83742
83743 2009-07-20  Chris Marrin  <cmarrin@apple.com>
83744
83745         Reviewed by Simon Fraser.
83746
83747         Handle opacity and opacity animations on transform layers in Leopard
83748         https://bugs.webkit.org/show_bug.cgi?id=27398
83749
83750         This makes two changes, and only for Leopard. 
83751
83752         First, whenever opacity is changed on a layer I propagate the 
83753         change into the content layer and all the children if the layer 
83754         on which opacity is set is a transform layer (preserve3D is true). 
83755         The opacity set is the accumulated opacity from this layer
83756         and all its direct ancestor transform layers. Second, I turn off all 
83757         hardware opacity animation.
83758
83759         * platform/graphics/GraphicsLayer.cpp:
83760         (WebCore::GraphicsLayer::accumulatedOpacity):
83761         (WebCore::GraphicsLayer::distributeOpacity):
83762         * platform/graphics/GraphicsLayer.h:
83763         (WebCore::GraphicsLayer::setOpacityInternal):
83764         * platform/graphics/mac/GraphicsLayerCA.h:
83765         * platform/graphics/mac/GraphicsLayerCA.mm:
83766         (WebCore::GraphicsLayerCA::setPreserves3D):
83767         (WebCore::GraphicsLayerCA::setOpacity):
83768         (WebCore::GraphicsLayerCA::animateFloat):
83769         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
83770         (WebCore::GraphicsLayerCA::setOpacityInternal):
83771         (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
83772
83773 2009-07-20  Yong Li  <yong.li@torchmobile.com>
83774
83775         Reviewed by Adam Roben.
83776
83777         https://bugs.webkit.org/show_bug.cgi?id=27349
83778         Add GraphicsContext implementation for the WinCE port.
83779
83780         Written by Yong Li <yong.li@torchmobile.com>, George Staikos <george.staikos@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
83781         with trivial style fixes by Adam Treat <adam.treat@torchmobile.com>
83782
83783         * platform/graphics/wince/GraphicsContextWince.cpp: Added.
83784
83785 2009-07-20  Dumitru Daniliuc  <dumi@chromium.org>
83786
83787         Reviewed by Dimitri Glazkov.
83788
83789         Adding the Win SQLite VFS implementation for Chromium, and stubs
83790         for the Mac and Linux VFSs.
83791
83792         https://bugs.webkit.org/show_bug.cgi?id=26940
83793
83794         * WebCore.gypi:
83795         * platform/chromium/ChromiumBridge.h:
83796         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
83797         * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Added.
83798         * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Added.
83799         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
83800
83801 2009-07-20  Xan Lopez  <xlopez@igalia.com>
83802
83803         Reviewed by Gustavo Noronha.
83804
83805         https://bugs.webkit.org/show_bug.cgi?id=27097
83806         [Gtk] Segfault when examining an object of ROLE_TABLE via at-spi
83807
83808         Check that an object is a RenderObject before trying to access its
83809         renderer and related node.
83810
83811         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
83812         (webkit_accessible_get_role):
83813
83814 2009-07-20  Balazs Kelemen  <kelemen.balazs.3@stud.u-szeged.hu>
83815
83816         Reviewed by Simon Hausmann.
83817
83818         [Qt] font cache reworking
83819         https://bugs.webkit.org/show_bug.cgi?id=27265
83820
83821         Reimplemented Qt's FontCache in a way that follows the shared one.
83822         Now we can release its elements when those became inactive.
83823         FontFallbackList had been changed to be able to hold WebCore fonts in its list and to be able to release a FontData what is in the cache.
83824
83825         No change in behavior, so no tests.
83826
83827         * platform/graphics/qt/FontCacheQt.cpp:
83828         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
83829         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
83830         (WebCore::FontPlatformDataCacheKey::): Key type for the cache of FontPlatformData objects.
83831         It can be constructed from a FontPlatformData or from a FontDescription. The keys have to be consistent
83832         with FontPlatformData::FontPlatformData(const FontDescription&) - if we create the same
83833         FontPlatformData from two FontDescription then we have to create the same key from them, and vica versa.
83834         (WebCore::FontPlatformDataCacheKey::operator==):
83835         (WebCore::FontPlatformDataCacheKey::hash):
83836         (WebCore::FontPlatformDataCacheKey::computeHash):
83837         (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
83838         (WebCore::FontPlatformDataCacheKeyHash::hash):
83839         (WebCore::FontPlatformDataCacheKeyHash::equal):
83840         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
83841         (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
83842         (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
83843         (WebCore::FontCache::getCachedFontPlatformData): Get a FontDescription and returns a FontPlatformData.
83844         (WebCore::FontCache::getCachedFontData): Get a FontPlatformData and returns a SimpleFontData.
83845         (WebCore::FontCache::releaseFontData): Get a SimpleFontData and releases it from the cache. Also releases the appropriate FontPlatformData.
83846         (WebCore::FontCache::purgeInactiveFontData): Frees inactive elements.
83847         (WebCore::FontCache::invalidate): Frees all inactive elements (call purgeInactiveFontData with default argument)
83848         * platform/graphics/qt/FontFallbackListQt.cpp:
83849         (WebCore::FontFallbackList::releaseFontData):
83850         (WebCore::FontFallbackList::fontDataAt):
83851         * platform/graphics/qt/FontPlatformData.h:
83852         (WebCore::FontPlatformData::family): Getter. It is needed for FontPlatformDataCacheKey.
83853         (WebCore::FontPlatformData::bold): Ditto.
83854         (WebCore::FontPlatformData::italic): Ditto.
83855         (WebCore::FontPlatformData::smallCaps): Ditto.
83856         (WebCore::FontPlatformData::pixelSize): Ditto.
83857         * platform/graphics/qt/FontPlatformDataQt.cpp:
83858         (WebCore::FontPlatformData::FontPlatformData): Set m_bold.
83859
83860 2009-07-20  Xan Lopez  <xlopez@igalia.com>
83861
83862         Reviewed by Holger Freyther.
83863
83864         https://bugs.webkit.org/show_bug.cgi?id=26716
83865         [Gtk] Each XMLHttpRequest leaks memory.
83866
83867         Free the SoupURI we create to check the URI. Fix suggested by John
83868         Kjellberg.
83869
83870         * platform/network/soup/ResourceHandleSoup.cpp:
83871         (WebCore::):
83872
83873 2009-07-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
83874
83875         Reviewed by Holger Freyther.
83876
83877         [Qt] On Symbian link against system sqlite3
83878         https://bugs.webkit.org/show_bug.cgi?id=27368
83879
83880         Add an option to force linking against system sqlite3
83881         by adding system-sqlite to the CONFIG variable.
83882
83883         The Symbian specific part of this patch is contributed by 
83884         Norbert Leser.
83885
83886         * WebCore.pro:
83887
83888 2009-07-20  Xan Lopez  <xlopez@igalia.com>
83889
83890         Reviewed by Gustavo Noronha.
83891
83892         Change the glib version check to check for the first unstable
83893         release with g_mapped_file_unref. Otherwise this would be useless
83894         until 2.22 is released, a few months from now.
83895
83896         * platform/network/soup/ResourceHandleSoup.cpp:
83897         (WebCore::ResourceHandle::startHttp):
83898
83899 2009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
83900
83901         Reviewed by and done with Tor Arne Vestbø.
83902
83903         Fix fast/css/pseudo-required-optional-*.html in the Qt build
83904         after r46062.
83905
83906         These tests triggered a bug in RenderThemeQt where we did not fall back
83907         to the unstyled painting of text areas and input fields when they have
83908         a styled background.
83909
83910         Our re-implementation of isControlStyled incorrectly only checked the
83911         border for determining whether to style or not. The base-implementation
83912         performs the same check, but also includes the background. Removing
83913         our implementation fixes the appearance.
83914
83915         * platform/qt/RenderThemeQt.cpp: Removed isControlStyled reimplementation.
83916         * platform/qt/RenderThemeQt.h: Ditto.
83917
83918 2009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
83919
83920         Rubber-stamped by Tor Arne Vestbø.
83921
83922         Add missing (sorted) header files to the HEADERS variable in the qmake
83923         .pro file for improved completion in IDEs.
83924
83925         * WebCore.pro:
83926
83927 2009-07-19  Adam Barth  <abarth@webkit.org>
83928
83929         Reviewed by David Levin.
83930
83931         [V8] Factor V8ConsoleMessage out of V8Proxy
83932         https://bugs.webkit.org/show_bug.cgi?id=27421
83933
83934         No behavior change.
83935
83936         * WebCore.gypi:
83937         * bindings/v8/V8ConsoleMessage.cpp: Added.
83938         (WebCore::V8ConsoleMessage::V8ConsoleMessage):
83939         (WebCore::V8ConsoleMessage::dispatchNow):
83940         (WebCore::V8ConsoleMessage::dispatchLater):
83941         (WebCore::V8ConsoleMessage::processDelayed):
83942         (WebCore::V8ConsoleMessage::handler):
83943         * bindings/v8/V8ConsoleMessage.h: Added.
83944         (WebCore::V8ConsoleMessage::Scope::Scope):
83945         (WebCore::V8ConsoleMessage::Scope::~Scope):
83946         * bindings/v8/V8Proxy.cpp:
83947         (WebCore::logInfo):
83948         (WebCore::reportUnsafeAccessTo):
83949         (WebCore::V8Proxy::runScript):
83950         (WebCore::V8Proxy::callFunction):
83951         (WebCore::V8Proxy::newInstance):
83952         (WebCore::V8Proxy::initContextIfNeeded):
83953         (WebCore::V8Proxy::processConsoleMessages):
83954
83955 2009-07-19  Rob Buis  <rwlbuis@gmail.com>
83956
83957         Reviewed by Adam Barth.
83958
83959         Remove unused member variable.
83960
83961         * svg/SVGPolyElement.h:
83962
83963 2009-07-19  Eric Carlson  <eric.carlson@apple.com>
83964
83965         Reviewed by Dan Bernstein.
83966
83967         HTMLAudioElement: constructor should set "autobuffer" attribute
83968         https://bugs.webkit.org/show_bug.cgi?id=27422
83969
83970         Test: media/audio-constructor-autobuffer.html
83971
83972         * bindings/js/JSAudioConstructor.cpp:
83973         (WebCore::constructAudio):
83974             Set 'autobuffer' attribute.
83975
83976 2009-07-19  Thierry Bastian <thierry.bastian@nokia.com>
83977
83978         Reviewed by Simon Hausmann.
83979
83980         Fix the Qt build with mingw.
83981
83982         * WebCore.pro: Don't use MSVC commandline options to disable warnings
83983         with mingw.
83984
83985 2009-07-19  Adam Barth  <abarth@webkit.org>
83986
83987         Reviewed by David Levin.
83988
83989         [V8] Phase 2: Remove event listener methods from V8Proxy
83990         https://bugs.webkit.org/show_bug.cgi?id=27415
83991
83992         No behavior change.
83993
83994         * bindings/v8/V8ObjectEventListener.cpp:
83995         (WebCore::weakObjectEventListenerCallback):
83996         (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
83997         * bindings/v8/V8Proxy.cpp:
83998         (WebCore::V8Proxy::disconnectEventListeners):
83999         * bindings/v8/V8Proxy.h:
84000         (WebCore::V8Proxy::eventListeners):
84001         (WebCore::V8Proxy::objectListeners):
84002         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
84003         (WebCore::getEventListener):
84004         * bindings/v8/custom/V8CustomEventListener.cpp:
84005         (WebCore::V8EventListener::~V8EventListener):
84006         * bindings/v8/custom/V8DOMWindowCustom.cpp:
84007         (WebCore::CALLBACK_FUNC_DECL):
84008         (WebCore::ACCESSOR_SETTER):
84009         * bindings/v8/custom/V8ElementCustom.cpp:
84010         (WebCore::ACCESSOR_SETTER):
84011         * bindings/v8/custom/V8MessagePortCustom.cpp:
84012         (WebCore::ACCESSOR_SETTER):
84013         (WebCore::CALLBACK_FUNC_DECL):
84014         * bindings/v8/custom/V8NodeCustom.cpp:
84015         (WebCore::CALLBACK_FUNC_DECL):
84016         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
84017         (WebCore::CALLBACK_FUNC_DECL):
84018         * bindings/v8/custom/V8WorkerCustom.cpp:
84019         (WebCore::getEventListener):
84020         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
84021         (WebCore::getEventListener):
84022         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
84023         (WebCore::ACCESSOR_SETTER):
84024         (WebCore::CALLBACK_FUNC_DECL):
84025
84026 2009-07-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
84027
84028         Reviewed by Gustavo Noronha.
84029
84030         [Gtk] soup/ResourceHandleSoup.cpp:533: error: 'g_mapped_file_free' was not declared in this scope
84031         https://bugs.webkit.org/show_bug.cgi?id=27230
84032
84033         Use g_mapped_file_unref for GLIB version 2.22 onwards.
84034
84035         * platform/network/soup/ResourceHandleSoup.cpp:
84036         (WebCore::ResourceHandle::startHttp):
84037
84038 2009-07-18  Dan Bernstein  <mitz@apple.com>
84039
84040         Reviewed by Anders Carlsson.
84041
84042         Add spread radius support to -webkit-box-shadow
84043         https://bugs.webkit.org/show_bug.cgi?id=27417
84044         rdar://problem/7072267
84045
84046         Test: fast/box-shadow/spread.html
84047
84048         * css/CSSComputedStyleDeclaration.cpp:
84049         (WebCore::valueForShadow): Added a property ID parameter and used it to
84050             include the spread length for box-shadow but not for text-shadow.
84051         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
84052             Pass the property ID to valueForShadow().
84053
84054         * css/CSSParser.cpp:
84055         (WebCore::ShadowParseContext::ShadowParseContext): Added property,
84056             spread, and allowSpread members. Added a property ID parameter to
84057             the constructor. Initialize the property and allowSpread members.
84058         (WebCore::ShadowParseContext::allowLength): Added allowSpread.
84059         (WebCore::ShadowParseContext::commitValue): Pass the spread value to
84060             the ShadowValue constructor. Reset allowSpread.
84061         (WebCore::ShadowParseContext::commitLength): Allow spread after blur
84062             for the box-shadow property.
84063         (WebCore::ShadowParseContext::commitColor): Reset allowSpread.
84064         (WebCore::CSSParser::parseShadow): Pass the property ID to
84065             ShadowParseContext().
84066
84067         * css/CSSStyleSelector.cpp:
84068         (WebCore::CSSStyleSelector::applyProperty): Get the spread value from
84069             the shadow value and pass it to the ShadowData constructor.
84070
84071         * css/ShadowValue.cpp:
84072         (WebCore::ShadowValue::ShadowValue): Added spread.
84073         (WebCore::ShadowValue::cssText): Added spread.
84074
84075         * css/ShadowValue.h:
84076         (WebCore::ShadowValue::create): Added spread.
84077
84078         * page/animation/AnimationBase.cpp:
84079         (WebCore::blendFunc): Blend the spread value.
84080         (WebCore::PropertyWrapperShadow::blend): Added 0 spread to the default
84081             shadow.
84082
84083         * rendering/InlineFlowBox.cpp:
84084         (WebCore::InlineFlowBox::placeBoxesHorizontally): Account for spread in
84085             the visual overflow calculations.
84086         (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
84087         (WebCore::InlineFlowBox::paint): Ditto.
84088
84089         * rendering/RenderBlock.cpp:
84090         (WebCore::RenderBlock::overflowHeight): Ditto.
84091         (WebCore::RenderBlock::overflowWidth): Ditto.
84092         (WebCore::RenderBlock::overflowLeft): Ditto.
84093         (WebCore::RenderBlock::overflowTop): Ditto.
84094         (WebCore::RenderBlock::overflowRect): Ditto.
84095         (WebCore::RenderBlock::layoutBlock): Ditto.
84096
84097         * rendering/RenderBoxModelObject.cpp:
84098         (WebCore::RenderBoxModelObject::paintBoxShadow): Inflate the shadow-
84099             casting rect by the shadow spread value. Adjust border radii if
84100             necessary.
84101
84102         * rendering/RenderFlexibleBox.cpp:
84103         (WebCore::RenderFlexibleBox::layoutBlock): Account for spread in the
84104             visual overflow calculations.
84105         * rendering/RenderLayer.cpp:
84106         (WebCore::RenderLayer::calculateRects): Ditto.
84107
84108         * rendering/RenderObject.cpp:
84109         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Account for spread.
84110         (WebCore::RenderObject::adjustRectForOutlineAndShadow): Ditto.
84111
84112         * rendering/RenderReplaced.cpp:
84113         (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
84114
84115         * rendering/style/RenderStyle.cpp:
84116         (WebCore::RenderStyle::setTextShadow): Assert that text shadows do not
84117             have spread.
84118
84119         * rendering/style/ShadowData.cpp:
84120         (WebCore::ShadowData::ShadowData): Added spread.
84121         (WebCore::ShadowData::operator==): Compare spread.
84122         * rendering/style/ShadowData.h:
84123         (WebCore::ShadowData::ShadowData): Added spread.
84124
84125 2009-07-18  Adam Barth  <abarth@webkit.org>
84126
84127         Reviewed by Jan Alonzo.
84128
84129         Minor FrameLoader.cpp cleanup
84130         https://bugs.webkit.org/show_bug.cgi?id=27406
84131
84132         No behavior change.
84133
84134         * loader/FrameLoader.cpp:
84135         (WebCore::FrameLoader::executeIfJavaScriptURL):
84136
84137 2009-07-18  Adam Barth  <abarth@webkit.org>
84138
84139         Reviewed by Darin Fisher.
84140
84141         [V8] Move event listener methods from V8Proxy to V8EventListenerList
84142         https://bugs.webkit.org/show_bug.cgi?id=27408
84143
84144         Move some event listener code out of V8Proxy and into the event
84145         listener list.
84146
84147         I'd like to remove these methods from V8Proxy entirely and just expose
84148         getters for the lists themselves, but I'll do that in a follow up
84149         patch.
84150
84151         * bindings/v8/V8EventListenerList.cpp:
84152         (WebCore::V8EventListenerList::findWrapper):
84153         * bindings/v8/V8EventListenerList.h:
84154         (WebCore::V8EventListenerList::findOrCreateWrapper):
84155         * bindings/v8/V8ObjectEventListener.cpp:
84156         * bindings/v8/V8Proxy.cpp:
84157         (WebCore::V8Proxy::findV8EventListener):
84158         (WebCore::V8Proxy::findOrCreateV8EventListener):
84159         (WebCore::V8Proxy::removeV8EventListener):
84160         (WebCore::V8Proxy::findObjectEventListener):
84161         (WebCore::V8Proxy::findOrCreateObjectEventListener):
84162         (WebCore::V8Proxy::removeObjectEventListener):
84163         * bindings/v8/V8Proxy.h:
84164
84165 2009-07-18  Jeremy Orlow  <jorlow@chromium.org>
84166
84167         Rubber stamped by Adam Barth.
84168
84169         Revert https://bugs.webkit.org/show_bug.cgi?id=27383
84170         https://bugs.webkit.org/show_bug.cgi?id=27407
84171
84172         Revert Jens' patch.  I believe he forgot to include a file.
84173
84174         * WebCore.gypi:
84175         * bindings/scripts/CodeGeneratorV8.pm:
84176         * bindings/v8/DOMObjectsInclude.h:
84177         * bindings/v8/V8DOMWrapper.cpp:
84178         (WebCore::V8DOMWrapper::getTemplate):
84179         * bindings/v8/V8DataGridDataSource.cpp: Removed.
84180         * bindings/v8/V8DataGridDataSource.h: Removed.
84181         * bindings/v8/V8GCController.h:
84182         * bindings/v8/V8Index.h:
84183         * bindings/v8/custom/V8CustomBinding.h:
84184         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
84185         (WebCore::ACCESSOR_GETTER):
84186         (WebCore::ACCESSOR_SETTER):
84187
84188 2009-07-17  Daniel Bates  <dbates@intudata.com>
84189
84190         Reviewed by Adam Barth.
84191         
84192         https://bugs.webkit.org/show_bug.cgi?id=27405
84193
84194         Fixes an issue when decoding HTML entities with an unknown named entity that 
84195         caused null-characters to be inserted into the decoded result.
84196
84197         Test: http/tests/security/xssAuditor/link-onclick-ampersand.html
84198               http/tests/security/xssAuditor/javascript-link-ampersand.html
84199
84200         * page/XSSAuditor.cpp:
84201         (WebCore::XSSAuditor::decodeHTMLEntities): Added check to conditional so that
84202         non-zero entity values are not inserted during decoding process.
84203
84204 2009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>
84205
84206         <http://webkit.org/b/18363> [GTK] Combo boxes cannot be opened pressing space
84207
84208         Reviewed by Holger Freyther.
84209
84210         Add Gtk to platforms that want to open the menulist using the
84211         spacebar.
84212
84213         * dom/SelectElement.cpp:
84214         (WebCore::SelectElement::menuListDefaultEventHandler):
84215
84216 2009-07-17  Mario Sanchez Prada  <msanchez@igalia.com>
84217
84218         Reviewed by Jan Alonzo.
84219
84220         https://bugs.webkit.org/show_bug.cgi?id=25523
84221         [GTK] The text displayed by push buttons is not exposed to assistive technologies
84222
84223         Add new public method text() to RenderButton and use it from
84224         AccessibilityRenderObject::stringValue().
84225
84226         * accessibility/AccessibilityRenderObject.cpp:
84227         (WebCore::AccessibilityRenderObject::stringValue):
84228         * rendering/RenderButton.cpp:
84229         (WebCore::RenderButton::text):
84230         * rendering/RenderButton.h:
84231
84232 2009-07-17  Anton Muhin  <antonm@chromium.org>
84233
84234         Reviewed by Dimitri Glazkov.
84235
84236         Restore proxy retrieval
84237         https://bugs.webkit.org/show_bug.cgi?id=27369
84238
84239         No new tests are needed.
84240
84241         * bindings/v8/V8DOMWrapper.cpp:
84242         (WebCore::V8DOMWrapper::instantiateV8Object):
84243
84244 2009-07-17  Yael Aharon  <yael.aharon@nokia.com>
84245
84246         Reviewed by George Staikos.
84247
84248         https://bugs.webkit.org/show_bug.cgi?id=27351
84249         Added platform "Symbian" to WEBCORE_NAVIGATOR_PLATFORM
84250         Use uname to find the correct platform for Linux.
84251
84252         * page/NavigatorBase.cpp:
84253         (WebCore::NavigatorBase::platform):
84254
84255 2009-07-17  Jens Alfke  <snej@chromium.org>
84256
84257         Reviewed by Dimitri Glazkov.
84258
84259         Hook up V8 bindings for DataGrid elements.
84260         https://bugs.webkit.org/show_bug.cgi?id=27383
84261         http://code.google.com/p/chromium/issues/detail?id=16730
84262
84263         Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
84264         to handle exceptions, check appropriate JS prototypes, and
84265         test column-list's item() method as well as array-indexing.
84266
84267         * WebCore.gypi: Added new source files.
84268         * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
84269         * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
84270         * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
84271         (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
84272         * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
84273         (WebCore::V8DataGridDataSource::V8DataGridDataSource):
84274         (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
84275         * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
84276         (WebCore::V8DataGridDataSource::create):
84277         (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
84278         (WebCore::V8DataGridDataSource::jsDataSource):
84279         (WebCore::asV8DataGridDataSource):
84280         * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
84281         * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
84282         * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
84283         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
84284         (WebCore::ACCESSOR_GETTER):
84285         (WebCore::ACCESSOR_SETTER):
84286
84287 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
84288
84289         Reviewed by Darin Fisher.
84290
84291         StorageArea should only contain methods we intend to proxy.
84292         https://bugs.webkit.org/show_bug.cgi?id=27181
84293
84294         Right now, StorageAreaSync takes in a StorageArea* and calls methods
84295         like importItem.  Really, StorageAreaSync should be operating directly
84296         on StorageAreaImpl* and those methods should be removed from StorageArea
84297         since StorageAreaSync should never be attached to anything other than a
84298         StorageAreaImpl.
84299
84300         This was pointed out in the review for
84301         https://bugs.webkit.org/show_bug.cgi?id=27072
84302
84303         Also clean up StorageNamespaceImpl to operate directly on
84304         StorageAreaImpl.  Also, get rid of the factory for StorageArea
84305         since nothing should ever create a StorageArea directly.
84306
84307         * GNUmakefile.am:
84308         * WebCore.vcproj/WebCore.vcproj:
84309         * WebCore.xcodeproj/project.pbxproj:
84310         * WebCoreSources.bkl:
84311         * storage/StorageArea.cpp: Removed.
84312         * storage/StorageArea.h:
84313         (WebCore::StorageArea::~StorageArea):
84314         * storage/StorageAreaImpl.cpp:
84315         (WebCore::StorageAreaImpl::copy):
84316         * storage/StorageAreaImpl.h:
84317         * storage/StorageAreaSync.cpp:
84318         (WebCore::StorageAreaSync::create):
84319         (WebCore::StorageAreaSync::StorageAreaSync):
84320         * storage/StorageAreaSync.h:
84321         * storage/StorageNamespaceImpl.cpp:
84322         (WebCore::StorageNamespaceImpl::copy):
84323         (WebCore::StorageNamespaceImpl::storageArea):
84324         * storage/StorageNamespaceImpl.h:
84325
84326 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
84327
84328         Reviewed by Dimitri Glazkov.
84329
84330         Add v8 implementation for DOM Storage ScriptObjectQuarantine.
84331         https://bugs.webkit.org/show_bug.cgi?id=27327
84332
84333         Wrap the storage object with a generic object as is done elsewhere in
84334         the file (but continue to hit a NOTIMPLEMENTED if DOM_STORAGE is not
84335         enabled.
84336
84337         * bindings/v8/ScriptObjectQuarantine.cpp:
84338         (WebCore::getQuarantinedScriptObject):
84339
84340 2009-07-17  Mads Ager  <ager@chromium.org>
84341
84342         Reviewed by Dimitri Glazkov.
84343
84344         https://bugs.webkit.org/show_bug.cgi?id=27394
84345         Fix access to global object wrappers after navigation of their
84346         frame in the V8 bindings.  This fixes selenium test failures.
84347
84348         * bindings/v8/V8Proxy.cpp:
84349         (WebCore::V8Proxy::updateDocument):
84350
84351 2009-07-17  Mark Rowe  <mrowe@apple.com>
84352
84353         Fix the 32-bit build by removing implicit float <-> double conversions.
84354
84355         * inspector/InspectorController.cpp:
84356         (WebCore::constrainedAttachedWindowHeight):
84357
84358 2009-07-17  Brian Weinstein  <bweinstein@apple.com>
84359
84360         Reviewed by Adam Roben.
84361
84362         Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
84363         https://bugs.webkit.org/show_bug.cgi?id=14272
84364         
84365         Moved preference setting for attached inspector height and inspector height calculation from
84366         WebInspectorClient.mm into InspectorController.cpp, to make this code cross-platform and enable
84367         Windows resizing of attached inspector.
84368
84369         * inspector/InspectorController.cpp:
84370         * inspector/InspectorController.h:
84371
84372 2009-07-17  Dan Bernstein  <mitz@apple.com>
84373
84374         Another attempt at fixing the build after r46063
84375
84376         * WebCore.xcodeproj/project.pbxproj: Made ExceptionCode.h a private
84377             header, because it is now included from htmlediting.h, which is
84378             a private header.
84379
84380 2009-07-17  Alexey Proskuryakov  <ap@webkit.org>
84381
84382         Reviewed by Dan Bernstein.
84383
84384         https://bugs.webkit.org/show_bug.cgi?id=27396
84385         Moving cursor in Thai text sometimes jumps over two characters
84386
84387         Test: editing/text-iterator/thai-cursor-movement.html
84388
84389         * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added a special
84390         case for five Thai characters, matching ICU/CLDR changes.
84391
84392 2009-07-14  Eric Seidel  <eric@webkit.org>
84393
84394         Reviewed by Adam Barth.
84395
84396         Some constructor objects exposed on Window have the wrong prototype chain
84397         https://bugs.webkit.org/show_bug.cgi?id=27276
84398
84399         Several Constructor classes were already being passed a global object
84400         during construction, but they were ignoring it for prototype lookup.
84401         I've fixed those to use the passed global object instead.
84402
84403         Most of these Constructor classes should just be auto-generated, but I
84404         refrained from changing them over to auto-gen in this patch.
84405
84406         Fixed CodeGeneratorJS to pass a global object to getDOMConstructor when
84407         available, otherwise default to deprecatedGlobalObjectForPrototype(exec)
84408         to match existing behavior.
84409
84410         Test: fast/dom/prototype-inheritance.html
84411
84412         * bindings/js/JSAudioConstructor.cpp:
84413         (WebCore::JSAudioConstructor::JSAudioConstructor): use the existing globalObject pointer for prototype lookup
84414         * bindings/js/JSDOMBinding.h:
84415         (WebCore::deprecatedGlobalObjectForPrototype): Make it easy to detect where the wrong global object is being used.
84416         (WebCore::deprecatedGetDOMStructure):
84417         * bindings/js/JSDOMGlobalObject.h: remove error-prone getDOMConstructor, require passing JSDOMGlobalObject*
84418         * bindings/js/JSDOMWindowCustom.cpp:
84419         (WebCore::JSDOMWindow::webKitPoint): pass "this" for the global object.
84420         (WebCore::JSDOMWindow::webKitCSSMatrix): pass "this" for the global object.
84421         (WebCore::JSDOMWindow::xsltProcessor): pass "this" for the global object.
84422         (WebCore::JSDOMWindow::worker): pass "this" for the global object.
84423         * bindings/js/JSImageConstructor.cpp:
84424         (WebCore::JSImageConstructor::JSImageConstructor): use the existing globalObject pointer for prototype lookup
84425         * bindings/js/JSMessageChannelConstructor.cpp:
84426         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): use the existing globalObject pointer for prototype lookup
84427         * bindings/js/JSOptionConstructor.cpp:
84428         (WebCore::JSOptionConstructor::JSOptionConstructor): use the existing globalObject pointer for prototype lookup
84429         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
84430         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): add new globalObject parameter and use it
84431         * bindings/js/JSWebKitCSSMatrixConstructor.h:
84432         * bindings/js/JSWebKitPointConstructor.cpp:
84433         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): add new globalObject parameter and use it
84434         * bindings/js/JSWebKitPointConstructor.h:
84435         * bindings/js/JSWorkerConstructor.cpp:
84436         (WebCore::JSWorkerConstructor::JSWorkerConstructor): add new globalObject parameter and use it
84437         * bindings/js/JSWorkerConstructor.h:
84438         * bindings/js/JSXMLHttpRequestConstructor.cpp:
84439         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): use the existing globalObject pointer for prototype lookup
84440          -- XMLHttpRequest constructor was also missing a length.  Added one.
84441         * bindings/js/JSXSLTProcessorConstructor.cpp:
84442         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
84443         * bindings/js/JSXSLTProcessorConstructor.h:
84444         * bindings/scripts/CodeGeneratorJS.pm:
84445
84446 2009-07-17  Dan Bernstein  <mitz@apple.com>
84447
84448         Build fix
84449
84450         * editing/htmlediting.cpp:
84451         (WebCore::visiblePositionBeforeNode):
84452         (WebCore::visiblePositionAfterNode):
84453
84454 2009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>
84455
84456         Gtk build fix for symbol lookup error.
84457
84458         Move AbstractWorker from SHARED_WORKERS to WORKERS as Worker derives from it now
84459         Changed in http://trac.webkit.org/changeset/46048
84460
84461         * GNUmakefile.am:
84462
84463 2009-07-17  Ryosuke Niwa  <ryosuke.niwa@gmail.com>
84464
84465         Reviewed by Eric Seidel.
84466
84467         htmlediting.cpp needs more utility functions to fix the bug 26816
84468         https://bugs.webkit.org/show_bug.cgi?id=27038
84469
84470         In order to fix the bug 26816, we need several utility functions be added to htmlediting.cpp
84471
84472         No tests because functions haven't been used anywhere yet.
84473
84474         * dom/Range.cpp:
84475         (WebCore::Range::create):
84476         (WebCore::Range::comparePoint): added const qualifier
84477         (WebCore::Range::compareNode): added const qualifier
84478         * dom/Range.h:
84479         * editing/htmlediting.cpp:
84480         (WebCore::unsplittableElementForPosition): find the enclosing unsplittable element (editing root & table cell)
84481         (WebCore::positionBeforeNode): added ASSERT(node)
84482         (WebCore::positionAfterNode): added ASSERT(node)
84483         (WebCore::visiblePositionBeforeNode):
84484         (WebCore::visiblePositionAfterNode):
84485         (WebCore::createRange): create a range object from two visible positions
84486         (WebCore::extendRangeToWrappingNodes): extend range to include nodes that starts and ends at the boundaries
84487         (WebCore::canMergeLists): typo
84488         (WebCore::indexForVisiblePosition): added const qualifier
84489         (WebCore::isVisiblyAdjacent): typo
84490         (WebCore::isNodeVisiblyContainedWithin): determine if a node is inside a range or within the visible boundaries of the range
84491         * editing/htmlediting.h:
84492
84493 2009-07-17  Michelangelo De Simone  <micdesim@gmail.com>
84494
84495         Reviewed by Darin Adler.
84496
84497         https://bugs.webkit.org/show_bug.cgi?id=25551
84498         Added support for the "required" attribute, the valueMissing flag
84499         to the ValidityState object and :required/:optional CSS pseudoclasses.
84500         Part of HTML5 sec. Forms specs.
84501         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-required
84502
84503         Tests: fast/css/pseudo-required-optional-001.html
84504                fast/css/pseudo-required-optional-002.html
84505                fast/css/pseudo-required-optional-003.html
84506                fast/css/pseudo-required-optional-004.html
84507                fast/css/pseudo-required-optional-005.html
84508                fast/css/pseudo-required-optional-006.html
84509                fast/forms/ValidityState-valueMissing-001.html
84510                fast/forms/ValidityState-valueMissing-002.html
84511                fast/forms/ValidityState-valueMissing-003.html
84512                fast/forms/ValidityState-valueMissing-004.html
84513                fast/forms/ValidityState-valueMissing-005.html
84514                fast/forms/ValidityState-valueMissing-006.html
84515                fast/forms/ValidityState-valueMissing-007.html
84516                fast/forms/ValidityState-valueMissing-008.html
84517                fast/forms/ValidityState-valueMissing-009.html
84518                fast/forms/required-attribute-001.html
84519                fast/forms/required-attribute-002.html
84520
84521         * css/CSSSelector.cpp:
84522         (WebCore::CSSSelector::extractPseudoType): pseudoRequired/pseudoOptional
84523         * css/CSSSelector.h:
84524         (WebCore::CSSSelector::): ditto
84525         * css/CSSStyleSelector.cpp:
84526         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto
84527         * dom/Element.h:
84528         (WebCore::Element::isOptionalFormControl): check for optional controls
84529         (WebCore::Element::isRequiredFormControl): check for required controls
84530         * html/HTMLAttributeNames.in: required attribute
84531         * html/HTMLButtonElement.h:
84532         (WebCore::HTMLButtonElement::isOptionalFormControl): ditto
84533         * html/HTMLFormControlElement.cpp:
84534         (WebCore::HTMLFormControlElement::required): requiredAttr getter
84535         (WebCore::HTMLFormControlElement::setRequired): requiredAttr setter
84536         * html/HTMLFormControlElement.h:
84537         (WebCore::HTMLFormControlElement::valueMissing): method definition
84538         * html/HTMLInputElement.cpp:
84539         (WebCore::HTMLInputElement::valueMissing): validation code
84540         (WebCore::HTMLInputElement::isRequiredFormControl): ditto
84541         * html/HTMLInputElement.h:
84542         (WebCore::HTMLInputElement::isOptionalFormControl): ditto
84543         * html/HTMLInputElement.idl: required DOM attribute
84544         * html/HTMLSelectElement.h:
84545         (WebCore::HTMLSelectElement::isOptionalFormControl): ditto
84546         * html/HTMLTextAreaElement.h:
84547         (WebCore::HTMLTextAreaElement::valueMissing): validation code
84548         (WebCore::HTMLTextAreaElement::isOptionalFormControl): ditto
84549         (WebCore::HTMLTextAreaElement::isRequiredFormControl): ditto
84550         * html/HTMLTextAreaElement.idl: required DOM attribute
84551         * html/ValidityState.cpp:
84552         * html/ValidityState.h:
84553         (WebCore::ValidityState::valueMissing): validation flag
84554
84555 2009-07-17  Beth Dakin  <bdakin@apple.com>
84556
84557         Reviewed by Darin Adler.
84558
84559         Fix for https://bugs.webkit.org/show_bug.cgi?id=27390 CSS custom 
84560         cursor hotspots should work in quirks mode
84561         - and corresponding <rdar://problem/6554340>
84562
84563         Enable hotspots in quirks mode.
84564         * css/CSSParser.cpp:
84565         (WebCore::CSSParser::parseValue):
84566
84567         Update this manual test to reflect the fact that hotspots are now 
84568         expected to work in quirks mode.
84569         * manual-tests/css3-cursor-fallback-quirks.html:
84570
84571 2009-07-17  Peter Kasting  <pkasting@google.com>
84572
84573         Reviewed by Steve Falkenburg.
84574
84575         https://bugs.webkit.org/show_bug.cgi?id=27323
84576         Only add Cygwin to the path when it isn't already there.  This avoids
84577         causing problems for people who purposefully have non-Cygwin versions of
84578         executables like svn in front of the Cygwin ones in their paths.
84579
84580         * WebCore.vcproj/QTMovieWin.vcproj:
84581         * WebCore.vcproj/WebCoreCommon.vsprops:
84582         * WebCore.vcproj/WebCoreGenerated.vcproj:
84583
84584 2009-07-17  Alexey Proskuryakov  <ap@webkit.org>
84585
84586         Reviewed by David Levin.
84587
84588         https://bugs.webkit.org/show_bug.cgi?id=27384
84589         Random crashes in appcache/update-cache.html test
84590
84591         * loader/appcache/ApplicationCacheGroup.cpp:
84592         (WebCore::ApplicationCacheGroup::didReceiveResponse): Reorder code to avoid using a handle
84593         after canceling it.
84594
84595 2009-07-17  Drew Wilson  <atwilson@google.com>
84596
84597         Reviewed by David Levin.
84598
84599         Need to refactor Worker to derive from AbstractWorker
84600         https://bugs.webkit.org/show_bug.cgi?id=26948
84601
84602         Changed Worker to derive from AbstractWorker, which involved moving
84603         AbstractWorker files from being wrapped by ENABLE_SHARED_WORKERS to
84604         ENABLE_WORKERS.
84605
84606         Removed obsolete functionality from the JS/V8 bindings that is now
84607         inherited from AbstractWorker.
84608
84609         * WebCore.pro:
84610         Moved AbstractWorker files out of SHARED_WORKERS section and into WORKERS.
84611         * bindings/js/JSAbstractWorkerCustom.cpp:
84612         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
84613         * bindings/js/JSWorkerCustom.cpp:
84614         Removed obsolete event listener code (now in base class)
84615         (WebCore::JSWorker::mark):
84616         No longer need to explicitly mark event listeners (handled by base class).
84617         * bindings/v8/V8Index.h:
84618         Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
84619         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
84620         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
84621         * bindings/v8/custom/V8CustomBinding.h:
84622         Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
84623         * bindings/v8/custom/V8WorkerCustom.cpp:
84624         Removed obsolete event listener code that now lives in the base class.
84625         (WebCore::V8WorkerConstructor): Cleaned up legacy style nits.
84626         * workers/AbstractWorker.cpp:
84627         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
84628         * workers/AbstractWorker.h:
84629         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
84630         * workers/Worker.cpp:
84631         Removed event listener code (now in base class).
84632         (WebCore::Worker::Worker): Now derives from AbstractWorker.
84633         (WebCore::Worker::notifyFinished): Calls dispatchLoadErrorEvent on base class.
84634         * workers/Worker.h:
84635         Removed APIs that now live in the base class.
84636         * workers/Worker.idl:
84637         Now derives from AbstractWorker.
84638         Removed APIs that live in the base class, and added a GenerateToJS flag.
84639
84640 2009-07-17  David Hyatt  <hyatt@apple.com>
84641
84642         Reviewed by Dan Bernstein.
84643
84644         https://bugs.webkit.org/show_bug.cgi?id=27379
84645         Absolutely-positioned elements with a scrollbar wrap prematurely.  Make sure to include
84646         the vertical scrollbar width for overflow:scroll elements.
84647
84648         Added fast/css/positioned-overflow-scroll.html
84649
84650         * rendering/RenderBlock.cpp:
84651         (WebCore::RenderBlock::calcPrefWidths):
84652         * rendering/RenderFlexibleBox.cpp:
84653         (WebCore::RenderFlexibleBox::calcPrefWidths):
84654
84655 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
84656
84657         Reviewed by Dimitri Glazkov.
84658
84659         Need a DOM_STORAGE guard in DerivedSroucesAllInOne.cpp
84660         https://bugs.webkit.org/show_bug.cgi?id=27375
84661
84662         In https://bugs.webkit.org/show_bug.cgi?id=27360 I added Storage.cpp
84663         and StorageEvent.cpp.  Unfortunately, until later this afternoon,
84664         DOM_STORAGE is not turned on by default in Chromium, and so these two
84665         files are never generated.  This breaks the compile.
84666
84667         There are no other instances of guards in the file, which puzzles me...
84668         but I think adding guards is the right way to go about this.
84669
84670         * bindings/v8/DerivedSourcesAllInOne.cpp:  Added the guard.
84671
84672 2009-07-17  Brady Eidson  <beidson@apple.com>
84673
84674         Reviewed by Darin Adler.
84675
84676         https://bugs.webkit.org/show_bug.cgi?id=26496
84677
84678         Let WebCore always enforce the connection-per-host limit itself.
84679
84680         * loader/loader.cpp:
84681         (WebCore::Loader::Host::servePendingRequests):
84682
84683 2009-07-17  Chris Marrin  <cmarrin@apple.com>
84684
84685         Reviewed by David Hyatt.
84686
84687         Some transitions don't work correctly on Leopard
84688         https://bugs.webkit.org/show_bug.cgi?id=27356
84689
84690         We only have code to do component animation using valueFunction.
84691         So on Leopard we always need to do matrix animation in hardware.
84692         This fix ensures that. 
84693
84694         This is currently not testable because it appears only in the
84695         hardware animation and we can't yet do pixel tests while 
84696         hardware animating.
84697
84698         * platform/graphics/mac/GraphicsLayerCA.mm:
84699         (WebCore::GraphicsLayerCA::animateTransform):
84700
84701 2009-07-17  Holger Hans Peter Freyther  <zecke@selfish.org>
84702
84703         Reviewed by Gustavo Noronha.
84704
84705         [GTK+] Crash in screenAvailable due a null Widget*
84706
84707         JSDOMWindow::open called screenAvailableRect(0). The other
84708         Screen methods can be called with a null widget as well, fix the
84709         crashing test by checking for null.
84710
84711         In screenRect and screenAvailableRect it is not tried to use
84712         a default screen as the existing implementation didn't try either
84713         in case of not having a toplevel widget.
84714
84715         LayoutTests/fast/frames/crash-removed-iframe.html caused a crash.
84716
84717         * platform/gtk/PlatformScreenGtk.cpp:
84718         (WebCore::getVisual): New method to get a visual or return zero.
84719         (WebCore::screenDepth): Use getVisual.
84720         (WebCore::screenDepthPerComponent): Use getVisual.
84721         (WebCore::screenIsMonochrome): Use screenDepth which will do the null checking
84722         (WebCore::screenRect): Check for !widget.
84723         (WebCore::screenAvailableRect): Check for !widget.
84724
84725 2009-07-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
84726
84727         Reviewed by Simon Hausmann.
84728
84729         [Qt] Fix the include path for the Symbian port
84730         https://bugs.webkit.org/show_bug.cgi?id=27358
84731
84732         * WebCore.pro:
84733
84734 2009-07-17  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
84735
84736         Reviewed by Simon Hausmann.
84737
84738         Make it possible to set the plugin directories from the DRT.
84739         Part of https://bugs.webkit.org/show_bug.cgi?id=27215
84740
84741         * plugins/PluginDatabase.cpp:
84742         (WebCore::PluginDatabase::installedPlugins): Now optionally takes
84743         a populate argument, so we can avoid loading system plugins from the
84744         DRT and thus avoid their strerr errors that can make tests fail.
84745         (WebCore::PluginDatabase::clear): Make it possible to clear the
84746         database. Called from setPluginDirectories.
84747         * plugins/PluginDatabase.h:
84748         (WebCore::PluginDatabase::setPluginDirectories): Make public
84749
84750 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
84751
84752         Reviewed by Simon Hausmann.
84753
84754         PluginViewMac: Stop the plugin when loading fails
84755
84756         Also, prevent event propagation when in the stopped state
84757
84758         * plugins/mac/PluginViewMac.cpp:
84759
84760 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
84761
84762         Reviewed by Simon Hausmann.
84763
84764         PluginViewMac: Allow query and set of drawing and event models
84765
84766         We now support querying and setting of the drawing and event model,
84767         but we still only support the CoreGraphics drawing model, and the
84768         Carbon event model.
84769
84770         If unsupported drawing or event models are detected we show the
84771         missing-plugin icon.
84772
84773         * plugins/PluginView.cpp:
84774         * plugins/PluginView.h:
84775         * plugins/mac/PluginViewMac.cpp:
84776
84777 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
84778
84779         Reviewed by Simon Hausmann.
84780
84781         Initialize two PluginView members using memset
84782
84783         m_npWindow is used on all platforms, not just for XP_UNIX,
84784         so always initialize it. m_npCgContext on the other hand
84785         is only used for XP_MACOSX.
84786
84787         * plugins/PluginView.cpp:
84788
84789 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
84790
84791         Reviewed by Simon Hausmann.
84792
84793         Add more debug logging in PluginView
84794
84795         * plugins/PluginView.cpp: Add debug for setValue
84796         * plugins/gtk/PluginViewGtk.cpp: Add debug for getValue
84797         * plugins/mac/PluginViewMac.cpp: Add debug for getValue and more
84798         * plugins/qt/PluginViewQt.cpp: Add debug for getValue
84799         * plugins/win/PluginViewWin.cpp: Add debug for getValue
84800
84801 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
84802
84803         Reviewed by Holger Freyther.
84804
84805         Use same license in PluginDebug.cpp as in the original PluginDebug.h
84806
84807         * plugins/PluginDebug.cpp: Use license from PluginDebug.h
84808
84809 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
84810
84811         Reviewed by Simon Hausmann.
84812
84813         Add more debugging functionality for the WebCore NPAPI layer
84814
84815         * GNUmakefile.am: Add PluginDebug.cpp
84816         * WebCore.gypi: Add PluginDebug.cpp
84817         * WebCore.pro: Add PluginDebug.cpp
84818         * WebCore.vcproj/WebCore.vcproj: Add PluginDebug.cpp
84819         * WebCoreSources.bkl: Add PluginDebug.cpp
84820         * plugins/PluginDebug.h: Move errorStrings to PluginDebug.cpp
84821         * plugins/PluginDebug.cpp: New file
84822
84823 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
84824
84825         Reviewed by David Levin.
84826
84827         Fix Chromium build with DOM_STORAGE enabled.
84828         https://bugs.webkit.org/show_bug.cgi?id=27360
84829
84830         2 minor changes as noted below:
84831
84832         * bindings/v8/DerivedSourcesAllInOne.cpp: Add the generated .cpp files.
84833         * storage/StorageAreaImpl.cpp:  #include "DOMWindow.h"
84834
84835 2009-07-16  Fumitoshi Ukai  <ukai@chromium.org>
84836
84837         Reviewed by David Levin.
84838
84839         Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
84840         https://bugs.webkit.org/show_bug.cgi?id=27206
84841         
84842         Add ENABLE_WEB_SOCKETS
84843
84844         * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
84845         * GNUmakefile.am: add ENABLE_WEB_SOCKETS
84846         * WebCore.vcproj/WebCoreCommon.vsprops: add ENABLE_WEB_SOCKETS
84847         * WebCore.vcproj/build-generated-files.sh: add ENABLE_WEB_SOCKETS
84848
84849 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
84850
84851         Reviewed by Oliver Hunt.
84852
84853         Added a third bunch of Haiku-specific files for WebCore.
84854         https://bugs.webkit.org/show_bug.cgi?id=26952
84855
84856         Adding five files, EventLoopHaiku.cpp, FileChooserHaiku.cpp,
84857         FileSystemHaiku.cpp, KeyboardCodes.h and MIMETypeRegistryHaiku.cpp
84858
84859         * platform/haiku/EventLoopHaiku.cpp: Added.
84860         (WebCore::EventLoop::cycle):
84861         * platform/haiku/FileChooserHaiku.cpp: Added.
84862         (WebCore::FileChooser::FileChooser):
84863         (WebCore::FileChooser::basenameForWidth):
84864         * platform/haiku/FileSystemHaiku.cpp: Added.
84865         (WebCore::fileSystemRepresentation):
84866         (WebCore::homeDirectoryPath):
84867         (WebCore::openTemporaryFile):
84868         (WebCore::closeFile):
84869         (WebCore::writeToFile):
84870         (WebCore::unloadModule):
84871         (WebCore::listDirectory):
84872         * platform/haiku/KeyboardCodes.h: Added.
84873         * platform/haiku/MIMETypeRegistryHaiku.cpp: Added.
84874         (WebCore::):
84875         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
84876
84877 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
84878
84879         Reviewed by Oliver Hunt.
84880
84881         Added a second bunch of Haiku-specific files for WebCore.
84882         https://bugs.webkit.org/show_bug.cgi?id=26952
84883
84884         Adding four files, ContextMenuHaiku.cpp, ContextMenuItemHaiku.cpp,
84885         DragDataHaiku.cpp and DragImageHaiku.cpp
84886
84887         * platform/haiku/ContextMenuHaiku.cpp: Added.
84888         (WebCore::ContextMenuReceiver::ContextMenuReceiver):
84889         (WebCore::ContextMenuReceiver::HandleMessage):
84890         (WebCore::ContextMenuReceiver::Result):
84891         (WebCore::ContextMenu::ContextMenu):
84892         (WebCore::ContextMenu::~ContextMenu):
84893         (WebCore::ContextMenu::appendItem):
84894         (WebCore::ContextMenu::itemCount):
84895         (WebCore::ContextMenu::insertItem):
84896         (WebCore::ContextMenu::platformDescription):
84897         (WebCore::ContextMenu::setPlatformDescription):
84898         * platform/haiku/ContextMenuItemHaiku.cpp: Added.
84899         (ContextMenuItem::ContextMenuItem):
84900         (ContextMenuItem::~ContextMenuItem):
84901         (ContextMenuItem::releasePlatformDescription):
84902         (ContextMenuItem::type):
84903         (ContextMenuItem::setType):
84904         (ContextMenuItem::action):
84905         (ContextMenuItem::setAction):
84906         (ContextMenuItem::title):
84907         (ContextMenuItem::setTitle):
84908         (ContextMenuItem::platformSubMenu):
84909         (ContextMenuItem::setSubMenu):
84910         (ContextMenuItem::setChecked):
84911         (ContextMenuItem::setEnabled):
84912         (ContextMenuItem::enabled):
84913         * platform/haiku/DragDataHaiku.cpp: Added.
84914         (WebCore::DragData::canSmartReplace):
84915         (WebCore::DragData::containsColor):
84916         (WebCore::DragData::containsFiles):
84917         (WebCore::DragData::asFilenames):
84918         (WebCore::DragData::containsPlainText):
84919         (WebCore::DragData::asPlainText):
84920         (WebCore::DragData::asColor):
84921         (WebCore::DragData::createClipboard):
84922         (WebCore::DragData::containsCompatibleContent):
84923         (WebCore::DragData::containsURL):
84924         (WebCore::DragData::asURL):
84925         (WebCore::DragData::asFragment):
84926         * platform/haiku/DragImageHaiku.cpp: Added.
84927         (WebCore::dragImageSize):
84928         (WebCore::deleteDragImage):
84929         (WebCore::scaleDragImage):
84930         (WebCore::dissolveDragImageToFraction):
84931         (WebCore::createDragImageFromImage):
84932         (WebCore::createDragImageIconForCachedImage):
84933
84934 2009-07-16  Stephen White  <senorblanco@chromium.org>
84935
84936         Reviewed by Darin Fisher and Brett Wilson.
84937
84938         Refactor Skia implementation of gradients and patterns.
84939
84940         http://bugs.webkit.org/show_bug.cgi?id=26618
84941
84942         The following layout tests were breaking on Chromium/Linux:
84943
84944         LayoutTests/svg/custom/js-late-gradient-creation.svg (bad baseline PNG)
84945         LayoutTests/svg/custom/js-late-gradient-and-object.creation.svg
84946         LayoutTests/svg/custom/js-late-pattern-creation.svg (bad baseline PNG)
84947         LayoutTests/svg/custom/js-late-pattern-and-object-creation.svg
84948
84949         I could've fixed these the easy way, by copying the same 5
84950         lines of code we use everywhere we need patterns or gradients, but
84951         I decided to fix it the hard way:  by refactoring the code so that
84952         PlatformContextSkia::setupPaintForFilling() and
84953         PlatformContextSkia::setupPaintForStroking() do the right thing,
84954         and also handle gradients and patterns.
84955         
84956         This required pushing the gradients and patterns set in 
84957         (generic) GraphicsContext::setFillPattern() and friends down into
84958         PlatformContextSkia.  For this, I followed the setPlatformXXX()
84959         pattern used elsewhere in GraphicsContext, and stubbed them out on
84960         the other platforms with #if !PLATFORM(SKIA).  This also required
84961         pushing changes to the gradientSpaceTransform from the Gradient into 
84962         GradientSkia.
84963
84964         Since it's a Skia context, I decided to cache the values as
84965         SkShaders.  There were existing m_pattern and m_gradient SkShaders,
84966         but they were unused, and whose use was ambiguous, so I
84967         replaced them with one SkShader each for filling and stroking.
84968
84969         * platform/graphics/Gradient.cpp:
84970         (WebCore::Gradient::setGradientSpaceTransform):
84971         (WebCore::Gradient::setPlatformGradientSpaceTransform):
84972         * platform/graphics/Gradient.h:
84973         * platform/graphics/GraphicsContext.cpp:
84974         (WebCore::GraphicsContext::setStrokePattern):
84975         (WebCore::GraphicsContext::setFillPattern):
84976         (WebCore::GraphicsContext::setStrokeGradient):
84977         (WebCore::GraphicsContext::setFillGradient):
84978         (WebCore::GraphicsContext::setPlatformFillGradient):
84979         (WebCore::GraphicsContext::setPlatformFillPattern):
84980         (WebCore::GraphicsContext::setPlatformStrokeGradient):
84981         (WebCore::GraphicsContext::setPlatformStrokePattern):
84982         * platform/graphics/GraphicsContext.h:
84983         * platform/graphics/skia/GradientSkia.cpp:
84984         (WebCore::Gradient::setPlatformGradientSpaceTransform):
84985         * platform/graphics/skia/GraphicsContextSkia.cpp:
84986         (WebCore::GraphicsContext::fillPath):
84987         (WebCore::GraphicsContext::fillRect):
84988         (WebCore::GraphicsContext::setPlatformFillGradient):
84989         (WebCore::GraphicsContext::setPlatformFillPattern):
84990         (WebCore::GraphicsContext::setPlatformStrokeGradient):
84991         (WebCore::GraphicsContext::setPlatformStrokePattern):
84992         (WebCore::GraphicsContext::strokePath):
84993         (WebCore::GraphicsContext::strokeRect):
84994         * platform/graphics/skia/PlatformContextSkia.cpp:
84995         (PlatformContextSkia::State::State):
84996         (PlatformContextSkia::State::~State):
84997         (PlatformContextSkia::drawRect):
84998         (PlatformContextSkia::setupPaintCommon):
84999         (PlatformContextSkia::setupPaintForFilling):
85000         (PlatformContextSkia::setupPaintForStroking):
85001         (PlatformContextSkia::setFillColor):
85002         (PlatformContextSkia::setStrokeColor):
85003         (PlatformContextSkia::setStrokeShader):
85004         (PlatformContextSkia::setFillShader):
85005         * platform/graphics/skia/PlatformContextSkia.h:
85006         * platform/graphics/skia/SkiaFontWin.cpp:
85007         (WebCore::skiaDrawText):
85008         (WebCore::paintSkiaText):
85009         * svg/graphics/SVGPaintServer.cpp:
85010         (WebCore::SVGPaintServer::teardown):
85011
85012 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
85013
85014         Reviewed by Oliver Hunt.
85015
85016         Added Haiku-specific files for WebCore/platform/image-decoders/.
85017         https://bugs.webkit.org/show_bug.cgi?id=26949
85018
85019         Adding a new file, ImageDecoderHaiku.cpp.
85020
85021         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Added.
85022         (WebCore::RGBA32Buffer::RGBA32Buffer):
85023         (WebCore::RGBA32Buffer::clear):
85024         (WebCore::RGBA32Buffer::zeroFill):
85025         (WebCore::RGBA32Buffer::copyBitmapData):
85026         (WebCore::RGBA32Buffer::setSize):
85027         (WebCore::RGBA32Buffer::asNewNativeImage):
85028         (WebCore::RGBA32Buffer::hasAlpha):
85029         (WebCore::RGBA32Buffer::setHasAlpha):
85030         (WebCore::RGBA32Buffer::setStatus):
85031         (WebCore::RGBA32Buffer::operator=):
85032         (WebCore::RGBA32Buffer::width):
85033         (WebCore::RGBA32Buffer::height):
85034
85035 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
85036
85037         Reviewed by Eric Seidel.
85038
85039         Added Haiku-specific files for WebCore/page/.
85040         https://bugs.webkit.org/show_bug.cgi?id=26949
85041
85042         Adding three new files, DragControllerHaiku.cpp, EventHandlerHaiku.cpp
85043         and FrameHaiku.cpp
85044
85045         * page/haiku/DragControllerHaiku.cpp: Added.
85046         (WebCore::DragController::isCopyKeyDown):
85047         (WebCore::DragController::dragOperation):
85048         (WebCore::DragController::maxDragImageSize):
85049         (WebCore::DragController::cleanupAfterSystemDrag):
85050         * page/haiku/EventHandlerHaiku.cpp: Added.
85051         (WebCore::isKeyboardOptionTab):
85052         (WebCore::EventHandler::invertSenseOfTabsToLinks):
85053         (WebCore::EventHandler::tabsToAllControls):
85054         (WebCore::EventHandler::focusDocumentView):
85055         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
85056         (WebCore::EventHandler::passMouseDownEventToWidget):
85057         (WebCore::EventHandler::eventActivatedView):
85058         (WebCore::EventHandler::passSubframeEventToSubframe):
85059         (WebCore::EventHandler::passWheelEventToWidget):
85060         (WebCore::EventHandler::createDraggingClipboard):
85061         (WebCore::EventHandler::passMousePressEventToSubframe):
85062         (WebCore::EventHandler::passMouseMoveEventToSubframe):
85063         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
85064         (WebCore::EventHandler::accessKeyModifiers):
85065         * page/haiku/FrameHaiku.cpp: Added.
85066         (WebCore::Frame::dragImageForSelection):
85067
85068 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
85069
85070         Reviewed by Eric Seidel.
85071
85072         Added Haiku-specific files for WebCore/editing/.
85073         https://bugs.webkit.org/show_bug.cgi?id=26949
85074
85075         Adding one new file, EditorHaiku.cpp
85076
85077         * editing/haiku/EditorHaiku.cpp: Added.
85078         (WebCore::Editor::newGeneralClipboard):
85079
85080 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
85081
85082         Reviewed by Eric Seidel.
85083
85084         Added Haiku-specific files for WebCore/bindings/js/.
85085         https://bugs.webkit.org/show_bug.cgi?id=26949
85086
85087         Adding a new file, ScriptControllerHaiku.cpp
85088
85089         * bindings/js/ScriptControllerHaiku.cpp: Added.
85090         (WebCore::ScriptController::createScriptInstanceForWidget):
85091
85092 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
85093
85094         Reviewed by Eric Seidel.
85095
85096         Added Haiku-specific files for WebCore/platform/text/.
85097         https://bugs.webkit.org/show_bug.cgi?id=26949
85098
85099         Adding two new files, StringHaiku.cpp
85100         and TextBreakIteratorInternalICUHaiku.cpp
85101
85102         * platform/text/haiku/StringHaiku.cpp: Added.
85103         (WebCore::String::String):
85104         (WebCore::String::operator BString):
85105         * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Added.
85106         (WebCore::currentTextBreakLocaleID):
85107
85108 2009-07-16  Kent Tamura  <tkent@chromium.org>
85109
85110         Reviewed by Eric Seidel.
85111
85112         Sends the basename of a selected file for non-multipart form submission.
85113         <https://bugs.webkit.org/show_bug.cgi?id=26505>
85114
85115         Test: fast/forms/get-file-upload.html
85116
85117         * html/HTMLInputElement.cpp:
85118         (WebCore::HTMLInputElement::appendFormData):
85119
85120 2009-07-16  Adam Barth  <abarth@webkit.org>
85121
85122         Reviewed by David Levin.
85123
85124         [V8] Centralize hidden property names
85125         https://bugs.webkit.org/show_bug.cgi?id=27359
85126
85127         No behavior change.  Just moving these names to a central location.
85128         I'll move the rest of our hidden property names as I sweep though the
85129         bindings.
85130
85131         * WebCore.gypi:
85132         * bindings/v8/V8HiddenPropertyName.cpp: Added.
85133         (WebCore::V8HiddenPropertyName::objectPrototype):
85134         (WebCore::V8HiddenPropertyName::isolatedWorld):
85135         * bindings/v8/V8HiddenPropertyName.h: Added.
85136         * bindings/v8/V8IsolatedWorld.cpp:
85137         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
85138         (WebCore::V8IsolatedWorld::getEntered):
85139         * bindings/v8/V8Proxy.cpp:
85140         (WebCore::V8Proxy::getHiddenObjectPrototype):
85141         (WebCore::V8Proxy::installHiddenObjectPrototype):
85142
85143 2009-07-16  Dan Bernstein  <mitz@apple.com>
85144
85145         Reviewed by Simon Fraser.
85146
85147         REGRESSION (r41238) Repainted portion of a scaled image does not line up with full image
85148         https://bugs.webkit.org/show_bug.cgi?id=26747
85149         rdar://problem/7009243
85150
85151         Test: fast/repaint/background-misaligned.html
85152
85153         * platform/graphics/Image.cpp:
85154         (WebCore::Image::drawTiled): Moved a variable definition closer to where
85155         it is used.
85156         * platform/graphics/cg/ImageCG.cpp:
85157         (WebCore::BitmapImage::draw): In the subimage code path, compute a
85158         pixel-aligned source rect, because the subiamge is always pixel-aligned
85159         in source space, and adjust the destination rect to preserve the
85160         source -> destination mapping. Clip to the (original) destination rect
85161         to prevent bleeding out.
85162
85163 2009-07-16  Jeremy Orlow  <jorlow@chromium.org>
85164
85165         Reviewed by Adam Barth.
85166
85167         Add a sessionStorageEnabled setting to the settings class.
85168         https://bugs.webkit.org/show_bug.cgi?id=27318
85169
85170         Allow LocalStorage to be enabled without enabling SessionStorage at
85171         runtime.  There is a settings class setting for localStorage, but not
85172         for sessionStorage.  We want to be able to test one of these features
85173         without necessarily enabling the other.
85174
85175         SessionStorage defaults to true so as to not change behavior and
85176         because there really aren't any security concerns around SessionStorage
85177         (unlike LocalsStorage).  The flag is needed in Chromium only because
85178         we want to enable the compile time flag in the default build, but don't
85179         want it on by default until it's been thoroughly tested.
85180
85181         * page/DOMWindow.cpp:
85182         (WebCore::DOMWindow::sessionStorage):  Check the new flag
85183         (WebCore::DOMWindow::localStorage):  A bit of cleanup
85184         * page/Settings.cpp:
85185         (WebCore::Settings::Settings):  Default the flag to true
85186         (WebCore::Settings::setSessionStorageEnabled):  Add the new flag
85187         * page/Settings.h:
85188         (WebCore::Settings::sessionStorageEnabled):  Get the new flag
85189
85190 2009-07-16  Adam Barth  <abarth@webkit.org>
85191
85192         Unreviewed.
85193
85194         Revert 45987.  Tests did not pass on Windows.
85195
85196         * html/HTMLInputElement.cpp:
85197         (WebCore::HTMLInputElement::appendFormData):
85198
85199 2009-07-16  Drew Wilson  <atwilson@google.com>
85200
85201         Reviewed by David Levin.
85202
85203         Added SHARED_WORKER flag to Windows build files, as well as associated .ccp/.h files.
85204         Added missing V8 bindings to the AllInOne file
85205
85206         https://bugs.webkit.org/show_bug.cgi?id=27321
85207
85208         * WebCore.vcproj/WebCore.vcproj:
85209         Added missing files to build.
85210         * bindings/v8/DerivedSourcesAllInOne.cpp:
85211         Added missing V8 bindings (V8AbstractWorker.cpp and V8SharedWorker.cpp)
85212         * DerivedSources.cpp
85213         Added missing JS bindings (JSAbstractWorker.cpp and JSSharedWorker.cpp)
85214
85215 2009-07-16  John Abd-El-Malek  <jam@chromium.org>
85216
85217         Reviewed by David Levin.
85218
85219         Add a getter in MessagePortChannel for the PlatformMessagePortChannel.
85220
85221         https://bugs.webkit.org/show_bug.cgi?id=27337
85222
85223         * dom/MessagePortChannel.h:
85224         (WebCore::MessagePortChannel::channel):
85225
85226 2009-07-16  Xiaomei Ji  <xji@chromium.org>
85227
85228         Reviewed by Darin Adler.
85229
85230         Fix tooltip does not get its directionality from its element's directionality.
85231         https://bugs.webkit.org/show_bug.cgi?id=24187
85232
85233         Per mitz's suggestion in comment #6, while getting the plain-text 
85234         title, we also get the directionality of the title. How to handle 
85235         the directionality is up to clients. Clients could ignore it, 
85236         or use attribute or unicode control characters to display the title
85237         as what they want.
85238
85239         WARNING: NO TEST CASES ADDED OR CHANGED
85240
85241         * WebCore.base.exp: Replace 2 names due to signature change.
85242         * loader/EmptyClients.h: 
85243         (WebCore::EmptyChromeClient::setToolTip): Add direction as 2nd parameter.
85244         * page/Chrome.cpp:
85245         (WebCore::Chrome::setToolTip): Calculate tooltip direction as well and pass it to client to take care when display tooltip.
85246         * page/ChromeClient.h: Add direction as 2nd parameter to pure virtual function setToolTip().
85247         * page/chromium/ChromeClientChromium.h:
85248         (WebCore::ChromeClientChromium::setToolTip): Add setToolTip() 
85249         temprarily to make chromium compile after pick up this webkit patch.
85250         * rendering/HitTestResult.cpp:
85251         (WebCore::HitTestResult::spellingToolTip): Besides getting the 
85252         spelling tooltip, get its directionality as well.
85253         (WebCore::HitTestResult::title): Besides getting the title, 
85254         get its directionality as well.
85255         * rendering/HitTestResult.h: Add 2 more methods.
85256
85257 2009-07-16  Shinichiro Hamaji  <hamaji@chromium.org>
85258
85259         Reviewed by Oliver Hunt.
85260
85261         [CAIRO] pattern of a canvas-element changes after modifications on canvas-element
85262         https://bugs.webkit.org/show_bug.cgi?id=20578
85263
85264         Copy pixel image in ImageBuffer::image() just like CG and Skia glue.
85265
85266         Test: fast/canvas/canvas-pattern-modify.html
85267
85268         * platform/graphics/cairo/ImageBufferCairo.cpp:
85269         (copySurface):
85270         (WebCore::ImageBuffer::image):
85271
85272 2009-07-16  David Hyatt  <hyatt@apple.com>
85273
85274         Reviewed by Beth Dakin.
85275
85276         https://bugs.webkit.org/show_bug.cgi?id=27353
85277         Images mispositioned because of bug in percentage-based relative positioning.
85278
85279         Added fast/css/nested-floating-relative-position-percentages.html
85280
85281         * rendering/RenderBoxModelObject.cpp:
85282         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
85283
85284 2009-07-16  Kent Tamura  <tkent@chromium.org>
85285
85286         Reviewed by Eric Seidel.
85287
85288         Sends the basename of a selected file for non-multipart form submission.
85289         <https://bugs.webkit.org/show_bug.cgi?id=26505>
85290
85291         Test: fast/forms/get-file-upload.html
85292
85293         * html/HTMLInputElement.cpp:
85294         (WebCore::HTMLInputElement::appendFormData):
85295
85296 2009-07-16  Simon Fraser  <simon.fraser@apple.com>
85297
85298         Reviewed by Darin Adler.
85299
85300         Video size sometimes jumps just after the video starts loading
85301         https://bugs.webkit.org/show_bug.cgi?id=27352
85302
85303         Ensure that the media player is at or after the 'HaveMetadata' state so that
85304         the instrinsic size is known before we create the layer for video. This avoids
85305         a flash caused by computing the video rect using the default intrinsic size, and then
85306         re-computing it when that size changes.
85307         
85308         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
85309         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
85310         (WebCore::MediaPlayerPrivate::isReadyForRendering):
85311         (WebCore::MediaPlayerPrivate::updateStates):
85312         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
85313
85314 2009-07-16  Brady Eidson  <beidson@apple.com>
85315
85316         Reviewed by Antti Koivisto.
85317         Patch by Brady Eidson and Alexey Proskuryakov.
85318
85319         https://bugs.webkit.org/show_bug.cgi?id=26496
85320         <rdar://problem/7065391> Microsoft Outlook Web Access fails because XHR stream connection blocks script loading/revalidation
85321
85322         After refreshing a page and when all CachedResources on that page are in validation mode, they got an exemption
85323         from the connection-per-host limit.  Removing that exemption makes the test case load smoothly after reloads.
85324
85325         * loader/loader.cpp:
85326         (WebCore::Loader::Host::servePendingRequests): Remove the resourceIsCacheValidator exemption to the connection-per-host limit.
85327
85328 2009-07-16  Adam Barth  <abarth@webkit.org>
85329
85330         Reviewed by Dimitri Glazkov.
85331
85332         [V8] V8IsolatedWorld::evaluate needs to call didCreateIsolatedScriptContext
85333         https://bugs.webkit.org/show_bug.cgi?id=27335
85334
85335         evaluateInNewContext makes this delegate call.  evaluateInNewWorld
85336         needs to make the same call.  This does not appear to be testable with
85337         our current technology.
85338
85339         * bindings/v8/V8IsolatedWorld.cpp:
85340         (WebCore::V8IsolatedWorld::evaluate):
85341
85342 2009-07-15  Jakub Wieczorek  <faw217@gmail.com>
85343
85344         Reviewed by Simon Hausmann.
85345
85346         Fix a typo: application/atom=xml -> application/atom+xml.
85347
85348         * dom/ProcessingInstruction.cpp:
85349         (WebCore::ProcessingInstruction::checkStyleSheet):
85350
85351 2009-07-16  Dean McNamee  <deanm@chromium.org>
85352
85353         Reviewed by Oliver Hunt.
85354
85355         https://bugs.webkit.org/show_bug.cgi?id=27292
85356         Improve handling of <canvas> path operations on an empty path.
85357         Implement Skia's Path::hasCurrentPoint().
85358
85359         * html/CanvasRenderingContext2D.cpp:
85360         (WebCore::CanvasRenderingContext2D::lineTo):
85361         (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
85362         (WebCore::CanvasRenderingContext2D::bezierCurveTo):
85363         * platform/graphics/skia/PathSkia.cpp:
85364         (WebCore::Path::hasCurrentPoint):
85365
85366 2009-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
85367
85368         Reviewed by Eric Seidel.
85369
85370         Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
85371         https://bugs.webkit.org/show_bug.cgi?id=26254
85372
85373         Make it so that setting white-space and word-wrap via CSS
85374         overrides the wrap attribute.
85375
85376         This involves having the shadow div in the textarea inherit
85377         the CSS from its parent instead of hard-coding it in
85378         RenderTextControlMultiline.
85379         
85380         Committer note: Earlier I reverted this change because I did it incorrectly
85381         by leaving out css/html.css. In the patch, the filename was the old name
85382         css/html4.css and that led to my error.
85383
85384         * css/html.css:
85385         * html/HTMLTextAreaElement.cpp:
85386         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
85387         * rendering/RenderTextControlMultiLine.cpp:
85388         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
85389
85390 2009-07-15  James Hawkins  <jhawkins@google.com>
85391
85392         Reviewed by Adam Barth.
85393
85394         [V8] Remove a local variable that is shadowing a function parameter.
85395         https://bugs.webkit.org/show_bug.cgi?id=27309
85396
85397         No test required as this modification does not change the current behavior.
85398
85399         * bindings/v8/V8DOMWrapper.cpp:
85400         (WebCore::V8DOMWrapper::instantiateV8Object):
85401
85402 2009-07-15  Adam Langley  <agl@google.com>
85403
85404         No review: reverting previous change.
85405
85406         Revert r45959:
85407
85408         2009-07-15  Dumitru Daniliuc  <dumi@chromium.org>
85409         Reviewed by Dimitri Glazkov.
85410
85411         Adding the Win SQLite VFS implementation for Chromium.
85412
85413         https://bugs.webkit.org/show_bug.cgi?id=26940
85414
85415
85416         The Chromium side of this patch was landed in 20839, but broke the build. It
85417         was reverted in r20840. Thus, I'm reverting this side of the patch too.
85418
85419         * WebCore.gypi:
85420         * platform/chromium/ChromiumBridge.h:
85421         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Removed.
85422         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Removed.
85423
85424 2009-07-15  David Levin  <levin@chromium.org>
85425
85426         Layout test fix, reverting previous change.
85427
85428         Reverting r45962 as it caused several layout test failures.
85429
85430         * html/HTMLTextAreaElement.cpp:
85431         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
85432         * rendering/RenderTextControlMultiLine.cpp:
85433         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
85434
85435 2009-06-08  Shinichiro Hamaji  <hamaji@chromium.org>
85436
85437         Reviewed by Eric Seidel.
85438
85439         Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
85440         https://bugs.webkit.org/show_bug.cgi?id=26254
85441
85442         Make it so that setting white-space and word-wrap via CSS
85443         overrides the wrap attribute.
85444
85445         This involves having the shadow div in the textarea inherit
85446         the CSS from its parent instead of hard-coding it in
85447         RenderTextControlMultiline.
85448
85449         * css/html4.css:
85450         * html/HTMLTextAreaElement.cpp:
85451         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
85452         * rendering/RenderTextControlMultiLine.cpp:
85453         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
85454
85455 2009-07-15  Dumitru Daniliuc  <dumi@chromium.org>
85456
85457         Reviewed by Dimitri Glazkov.
85458
85459         Adding the Win SQLite VFS implementation for Chromium.
85460
85461         https://bugs.webkit.org/show_bug.cgi?id=26940
85462
85463         * platform/chromium/ChromiumBridge.h:
85464         * platform/sql/chromium: Added.
85465         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
85466         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
85467
85468 2009-07-15  Jian Li  <jianli@chromium.org>
85469
85470         Reviewed by David Levin.
85471
85472         Bug 25151 - workers that fail to load scripts not firing error event.
85473         https://bugs.webkit.org/show_bug.cgi?id=25151
85474
85475         This fixes the problem that an error event is not fired when the worker
85476         script fails to load. Some reasons this may occur are an invalid URL for
85477         the worker script or a cross-origin redirect.
85478
85479         We also moves the code to complete the URL and check its origin from
85480         Worker constructor to WorkerScriptLoader loading functions in order to
85481         move the exception throwing logic out of the scope of Worker constructor.
85482         Due to this change, we also remove the output ExceptionCode parameter
85483         in the worker constructor. Corresponding JS/V8 binding codes have been
85484         updated to reflect this change.
85485
85486         * bindings/js/JSWorkerConstructor.cpp:
85487         (WebCore::constructWorker):
85488         * bindings/v8/custom/V8WorkerCustom.cpp:
85489         (WebCore::CALLBACK_FUNC_DECL):
85490         * workers/Worker.cpp:
85491         (WebCore::Worker::Worker):
85492         (WebCore::Worker::notifyFinished):
85493         * workers/Worker.h:
85494         (WebCore::Worker::create):
85495         * workers/WorkerContext.cpp:
85496         (WebCore::WorkerContext::importScripts):
85497         * workers/WorkerScriptLoader.cpp:
85498         (WebCore::toCrossOriginRedirectPolicy):
85499         (WebCore::WorkerScriptLoader::loadSynchronously):
85500         (WebCore::WorkerScriptLoader::loadAsynchronously):
85501         (WebCore::notifyLoadErrorTask):
85502         (WebCore::WorkerScriptLoader::createResourceRequest):
85503         (WebCore::WorkerScriptLoader::didFail):
85504         (WebCore::WorkerScriptLoader::didFailRedirectCheck):
85505         (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
85506         (WebCore::WorkerScriptLoader::notifyError):
85507         * workers/WorkerScriptLoader.h:
85508         (WebCore::):
85509         (WebCore::WorkerScriptLoader::url):
85510
85511 2009-07-15  Dan Bernstein  <mitz@apple.com>
85512
85513         Reviewed by Dave Hyatt.
85514
85515         text-shadow is not drawn for text with transparent colour
85516         https://bugs.webkit.org/show_bug.cgi?id=21374
85517
85518         Test: fast/text/shadow-translucent-fill.html
85519
85520         * rendering/InlineTextBox.cpp:
85521         (WebCore::paintTextWithShadows): If the text fill color is not opaque,
85522         paint all shadows separately from the text, by casting them from
85523         clipped-out opaque text.
85524
85525 2009-07-15  Adam Treat  <adam.treat@torchmobile.com>
85526
85527         Fix the Qt build.
85528
85529         * html/HTMLAreaElement.cpp:
85530
85531 2009-07-15  Jeremy Orlow  <jorlow@chromium.org>
85532
85533         Reviewed by Darin Fisher.
85534
85535         Cleanup DOM Storage dependencies.
85536         https://bugs.webkit.org/show_bug.cgi?id=27180
85537
85538         DOM Storage had several unnecessary (and probably unintended)
85539         dependencies.  This patch replaces many includes of header files with
85540         forward declaration of classes, making some destructors explicit, and
85541         taking some factories out of the header files.
85542
85543         This will allow things like StorageAreaSync to take a StorageAreaImpl*
85544         (as it should) rather than a StorageArea* which previously weren't
85545         possible because the dependencies were such a tangled mess.
85546
85547         * storage/LocalStorageTask.cpp:
85548         (WebCore::LocalStorageTask::~LocalStorageTask):
85549         * storage/LocalStorageTask.h:
85550         * storage/Storage.cpp:
85551         (WebCore::Storage::~Storage):
85552         * storage/Storage.h:
85553         * storage/StorageArea.cpp:
85554         * storage/StorageArea.h:
85555         * storage/StorageAreaImpl.cpp:
85556         * storage/StorageAreaImpl.h:
85557         * storage/StorageAreaSync.cpp:
85558         (WebCore::StorageAreaSync::~StorageAreaSync):
85559         * storage/StorageAreaSync.h:
85560         * storage/StorageEvent.cpp:
85561         (WebCore::StorageEvent::create):
85562         (WebCore::StorageEvent::StorageEvent):
85563         * storage/StorageEvent.h:
85564         * storage/StorageNamespace.h:
85565         * storage/StorageNamespaceImpl.cpp:
85566         * storage/StorageNamespaceImpl.h:
85567         * storage/StorageSyncManager.cpp:
85568         (WebCore::StorageSyncManager::~StorageSyncManager):
85569         * storage/StorageSyncManager.h:
85570
85571 2009-07-15  Chris Marrin  <cmarrin@apple.com>
85572
85573         Reviewed by Simon Fraser.
85574
85575         Incorrect animation when trying to duplicate effect of transform-origin
85576         https://bugs.webkit.org/show_bug.cgi?id=27310
85577
85578         The bug is that matrix animation is being used when animating
85579         a list of transform functions that match in the from and to states.
85580         This sometimes works. But because of the way CA does matrix animation
85581         function lists like the one shown in the testcase animate incorrectly.
85582
85583         This fixes the bug by always doing component animation
85584         as long as the function lists match. This allows CA
85585         to animate the components and then recompose the result
85586         into the correct matrix.
85587
85588         Test: animations/transform-origin-vs-functions.html
85589
85590         * platform/graphics/mac/GraphicsLayerCA.mm:
85591         (WebCore::GraphicsLayerCA::animateTransform):
85592
85593 2009-07-15  Albert J. Wong  <ajwong@chromium.org>
85594
85595         Reviewed by David Levin.
85596
85597         Upstream the V8NPObject and NPV8Object build changes for WebCore.gypi.
85598
85599         Add upstreamed V8 bindings files into WebCore.gypi so they can be seen
85600         downstream
85601         https://bugs.webkit.org/show_bug.cgi?id=27274
85602
85603         Changes the build file for chromium.  Test built the chromium tree
85604         to verify.
85605
85606         * WebCore.gypi:
85607
85608 2009-07-15  Mark Rowe  <mrowe@apple.com>
85609
85610         I like it when the code compiles.
85611
85612         * WebCore.base.exp:
85613
85614 2009-07-15  Darin Adler  <darin@apple.com>
85615
85616         Reviewed by Sam Weinig.
85617
85618         Renamed parseURL to deprecatedParseURL.
85619
85620         * bindings/js/JSAttrCustom.cpp:
85621         (WebCore::JSAttr::setValue): Renamed.
85622         * bindings/js/JSElementCustom.cpp:
85623         (WebCore::allowSettingSrcToJavascriptURL): Renamed.
85624         * bindings/js/JSHTMLFrameElementCustom.cpp:
85625         (WebCore::allowSettingJavascriptURL): Renamed.
85626         * bindings/js/JSHTMLIFrameElementCustom.cpp:
85627         (WebCore::JSHTMLIFrameElement::setSrc): Renamed.
85628         * bindings/objc/DOM.mm:
85629         (-[DOMElement _getURLAttribute:]): Renamed.
85630         * bindings/objc/DOMHTML.mm:
85631         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed.
85632         * bindings/v8/custom/V8CustomBinding.cpp:
85633         (WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed.
85634         * css/CSSHelper.cpp:
85635         (WebCore::deprecatedParseURL): Renamed.
85636         * css/CSSHelper.h: Renamed and updated comment.
85637         * html/HTMLAnchorElement.cpp:
85638         (WebCore::HTMLAnchorElement::defaultEventHandler): Renamed.
85639         (WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed.
85640         * html/HTMLBaseElement.cpp:
85641         (WebCore::HTMLBaseElement::parseMappedAttribute): Renamed.
85642         * html/HTMLBodyElement.cpp:
85643         (WebCore::HTMLBodyElement::parseMappedAttribute): Renamed.
85644         * html/HTMLEmbedElement.cpp:
85645         (WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed.
85646         * html/HTMLFormElement.cpp:
85647         (WebCore::HTMLFormElement::parseMappedAttribute): Renamed.
85648         * html/HTMLFrameElementBase.cpp:
85649         (WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed.
85650         * html/HTMLImageElement.cpp:
85651         (WebCore::HTMLImageElement::parseMappedAttribute): Renamed.
85652         * html/HTMLImageLoader.cpp:
85653         (WebCore::HTMLImageLoader::sourceURI): Renamed.
85654         * html/HTMLLinkElement.cpp:
85655         (WebCore::HTMLLinkElement::parseMappedAttribute): Renamed.
85656         * html/HTMLObjectElement.cpp:
85657         (WebCore::HTMLObjectElement::parseMappedAttribute): Renamed.
85658         * html/HTMLTableElement.cpp:
85659         (WebCore::HTMLTableElement::parseMappedAttribute): Renamed.
85660         * html/HTMLTablePartElement.cpp:
85661         (WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed.
85662         * html/HTMLTokenizer.cpp:
85663         (WebCore::HTMLTokenizer::parseTag): Renamed.
85664         * html/PreloadScanner.cpp:
85665         (WebCore::PreloadScanner::processAttribute): Renamed.
85666         (WebCore::PreloadScanner::emitCSSRule): Renamed.
85667         * platform/chromium/ClipboardChromium.cpp:
85668         (WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed.
85669         * platform/chromium/PasteboardChromium.cpp:
85670         (WebCore::Pasteboard::writeImage): Renamed.
85671         * platform/qt/ClipboardQt.cpp:
85672         (WebCore::ClipboardQt::declareAndWriteDragImage): Renamed.
85673         * platform/win/ClipboardWin.cpp:
85674         (WebCore::ClipboardWin::declareAndWriteDragImage): Renamed.
85675         * rendering/HitTestResult.cpp:
85676         (WebCore::HitTestResult::absoluteImageURL): Renamed.
85677         (WebCore::HitTestResult::absoluteMediaURL): Renamed.
85678         (WebCore::HitTestResult::absoluteLinkURL): Renamed.
85679         * svg/SVGAElement.cpp:
85680         (WebCore::SVGAElement::defaultEventHandler): Renamed.
85681         * svg/SVGImageLoader.cpp:
85682         (WebCore::SVGImageLoader::sourceURI): Renamed.
85683         * wml/WMLAElement.cpp:
85684         (WebCore::WMLAElement::defaultEventHandler): Renamed.
85685         * wml/WMLImageLoader.cpp:
85686         (WebCore::WMLImageLoader::sourceURI): Renamed.
85687
85688 2009-07-15  Darin Adler  <darin@apple.com>
85689
85690         Reviewed by Dan Bernstein.
85691
85692         CSSHelper.h's parseURL is a function that no one should ever call
85693         Part 1: Eliminate callers in the CSS parser.
85694         https://bugs.webkit.org/show_bug.cgi?id=26599
85695
85696         Test: fast/css/uri-token-parsing.html
85697
85698         * css/CSSHelper.h: Added a comment explaining why nobody should ever call this
85699         function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL.
85700
85701         * css/CSSParser.cpp:
85702         (WebCore::CSSParser::parseValue): Removed unneeded call to parseURL;
85703         CSSParser::text already takes care of parsing the URI token syntax, and the
85704         parseURL function does no good.
85705         (WebCore::CSSParser::parseContent): Ditto.
85706         (WebCore::CSSParser::parseFillImage): Ditto.
85707         (WebCore::CSSParser::parseFontFaceSrc): Ditto.
85708         (WebCore::CSSParser::parseBorderImage): Ditto.
85709         (WebCore::isCSSWhitespace): Added. Helper function that makes the text function
85710         easier to read.
85711         (WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace
85712         are both trimmed before removing the quote marks. Changed to use the
85713         isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity.
85714
85715         * css/CSSParser.h: Removed stray "public:" in this header.
85716
85717         * platform/text/StringImpl.cpp:
85718         (WebCore::StringImpl::substring): Optimized the case where the substring covers
85719         the entire string, so we just share the StringImpl instead of making a new one.
85720         This case came up in earlier versions of the CSS parser changes above.
85721         (WebCore::StringImpl::substringCopy): Streamlined the logic here and made it
85722         not call substring any more. Before, this was relying on the substring function
85723         always making a copy of any non-empty substring.
85724
85725 2009-07-15  Darin Adler  <darin@apple.com>
85726
85727         Reviewed by John Sullivan.
85728
85729         After double-clicking a word, using Shift-arrow to select behaves unpredictably
85730         https://bugs.webkit.org/show_bug.cgi?id=27177
85731         rdar://problem/7034324
85732
85733         Test: editing/selection/extend-selection-after-double-click.html
85734
85735         The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not
85736         being cleared in many cases where it should have been.
85737
85738         * editing/SelectionController.cpp:
85739         (WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension
85740         to false. This catches all sorts of cases that don't flow through the modify function.
85741         Before, the flag would reflect the last call to the modify function, which was not
85742         necessarily the last selection change.
85743         (WebCore::SelectionController::willBeModified): Rearrange function for clarity.
85744         Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere. 
85745         (WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after
85746         setSelection when setting up a trial selection controller, since setSelection now
85747         clears that flag. Also changed both trial selection controller cases to set the flag,
85748         although it's not strictly necessary in both cases. Added code to set
85749         m_lastChangeWasHorizontalExtension when extending the selection, which used to be
85750         handled in willBeModified. Now we need to do it after the selection change.
85751
85752 2009-07-15  Jeremy Orlow  <jorlow@chromium.org>
85753
85754         Reviewed by Dimitri Glazkov.
85755
85756         Need to update DOM Storage files in GYPI file.
85757         https://bugs.webkit.org/show_bug.cgi?id=27317
85758
85759         Need to update DOM Storage files in the GYPI file.  They're pretty out
85760         of date and we're on the path towards enabling them for everyone!
85761
85762         * WebCore.gypi:
85763
85764 2009-07-15  Kwang Yul Seo  <skyul@company100.net>
85765
85766         Reviewed by Eric Seidel.
85767
85768         https://bugs.webkit.org/show_bug.cgi?id=26794
85769         Make Yacc-generated parsers to use fastMalloc/fastFree.
85770         
85771         Define YYMALLOC and YYFREE to fastMalloc and fastFree
85772         respectively.
85773
85774         * css/CSSGrammar.y:
85775         * xml/XPathGrammar.y:
85776
85777 2009-07-15  David Hyatt  <hyatt@apple.com>
85778
85779         Reviewed by Adam Roben.
85780
85781         https://bugs.webkit.org/show_bug.cgi?id=27193
85782         Don't run in to anonymous blocks.  No other browsers do this, and our implementation of run-in
85783         is effectively broken as a result.
85784
85785         No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior.
85786
85787         * rendering/RenderBlock.cpp:
85788         (WebCore::RenderBlock::handleRunInChild):
85789
85790 2009-07-15  Yuzo Fujishima  <yuzo@google.com>
85791
85792         Reviewed by Darin Adler.
85793
85794         Test: fast/js/instanceof-operator.html
85795
85796         Fix for: Bug 25205 -  XMLHttpRequest instance is not an instanceof XMLHttpRequest
85797         https://bugs.webkit.org/show_bug.cgi?id=25205
85798
85799         In addition to for XMLHttpRequest, this also fixes for:
85800         - Audio
85801         - Image
85802         - MessageChannel
85803         - Option
85804         - WebKitCSSMatrix
85805         - WebKitPoint
85806         - Worker
85807         - XSLTProcessor
85808
85809         * bindings/js/JSAudioConstructor.cpp:
85810         (WebCore::JSAudioConstructor::JSAudioConstructor):
85811         * bindings/js/JSAudioConstructor.h:
85812         * bindings/js/JSDOMBinding.h:
85813         (WebCore::DOMConstructorObject::createStructure):
85814         (WebCore::DOMConstructorObject::DOMConstructorObject):
85815         * bindings/js/JSImageConstructor.cpp:
85816         (WebCore::JSImageConstructor::JSImageConstructor):
85817         * bindings/js/JSImageConstructor.h:
85818         * bindings/js/JSMessageChannelConstructor.cpp:
85819         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
85820         * bindings/js/JSMessageChannelConstructor.h:
85821         * bindings/js/JSOptionConstructor.cpp:
85822         (WebCore::JSOptionConstructor::JSOptionConstructor):
85823         * bindings/js/JSOptionConstructor.h:
85824         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
85825         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
85826         * bindings/js/JSWebKitCSSMatrixConstructor.h:
85827         * bindings/js/JSWebKitPointConstructor.cpp:
85828         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
85829         * bindings/js/JSWebKitPointConstructor.h:
85830         * bindings/js/JSWorkerConstructor.cpp:
85831         (WebCore::JSWorkerConstructor::JSWorkerConstructor):
85832         * bindings/js/JSWorkerConstructor.h:
85833         * bindings/js/JSXMLHttpRequestConstructor.cpp:
85834         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
85835         * bindings/js/JSXMLHttpRequestConstructor.h:
85836         * bindings/js/JSXSLTProcessorConstructor.cpp:
85837         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
85838         * bindings/js/JSXSLTProcessorConstructor.h:
85839
85840 2009-07-15  Kai Br�ning  <kai@granus.net>
85841
85842         Reviewed by Dave Hyatt.
85843
85844         CSS21 attribute selectors not dynamic for xml.
85845         https://bugs.webkit.org/show_bug.cgi?id=25072
85846
85847         Moved the relevant test in StyledElement::attributeChanged()
85848         to a new function Element::recalcStyleIfNeededAfterAttributeChanged()
85849         so it can be called from both StyledElement::attributeChanged()
85850         and Element::attributeChanged().
85851         Refactored Element::attributeChanged() into
85852         Element::updateAfterAttributeChanged() and
85853         Element::recalcStyleIfNeededAfterAttributeChanged(), which are called
85854         separately from StyledElement::attributeChanged().
85855
85856         Test: fast/css/attribute-selector-dynamic.xml
85857
85858         * dom/Element.cpp:
85859         (WebCore::Element::attributeChanged):
85860         (WebCore::Element::updateAfterAttributeChanged):
85861         (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
85862         * dom/Element.h:
85863         * dom/StyledElement.cpp:
85864         (WebCore::StyledElement::attributeChanged):
85865
85866 2009-07-15  Alpha Lam  <hclam@chromium.org>
85867
85868         Reviewed by David Levin.
85869
85870         [V8] Layout test failures for drawImage in Canvas
85871         https://bugs.webkit.org/show_bug.cgi?id=27311
85872
85873         Fixing several canvas layout tests failures due to a
85874         missing return statement in CanvasRenderingContext2DDrawImage() which
85875         was accidentally removed in r45929.
85876
85877         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
85878
85879 2009-07-15  Robert Hogan  <robert@roberthogan.net>
85880
85881         Reviewed by Eric Seidel.
85882
85883         https://bugs.webkit.org/show_bug.cgi?id=26969
85884
85885         If the httpMethod() of the request passed to SubresourceLoader::create is not
85886         supported by the client we must expect to call didFail() while m_loader is still null.
85887
85888         * loader/DocumentThreadableLoader.cpp:
85889         (DocumentThreadableLoader::didFail):Changed.
85890
85891 2009-07-15  Mark Rowe  <mrowe@apple.com>
85892
85893         Fix the Mac build.
85894
85895         * WebCore.base.exp:
85896         * css/MediaQueryEvaluator.cpp:
85897         * rendering/SVGRenderTreeAsText.cpp:
85898         * rendering/style/SVGRenderStyle.cpp:
85899         * svg/graphics/SVGPaintServer.cpp:
85900
85901 2009-07-07  Alpha Lam  <hclam@chromium.org>
85902
85903         Reviewed by Dimitri Glazkov.
85904
85905         [V8] drawImage method of HTMLCanvasElement to accept HTMLVideoElement as argument
85906         https://bugs.webkit.org/show_bug.cgi?id=27170
85907
85908         Changed CanvasRenderingContext2DDrawImage() to accept HTMLVideoElement
85909         as a parameter of drawImage() for HTMLCanvasElement.
85910
85911         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
85912
85913 2009-07-15  Adam Barth  <abarth@webkit.org>
85914
85915         Reviewed by Dimitri Glazkov.
85916
85917         [V8] Fix isolated world constructors
85918         https://bugs.webkit.org/show_bug.cgi?id=27287
85919
85920         Don't enter V8Proxy::m_context before creating DOM constructors.
85921         Instead, use getWrapperContext to get the right context.
85922
85923         After this patch, all my tests pass.  I'll enable the feature
85924         downstream and land the tests.
85925
85926         * bindings/scripts/CodeGeneratorV8.pm:
85927         * bindings/v8/V8DOMWrapper.cpp:
85928         (WebCore::V8DOMWrapper::getConstructor):
85929         (WebCore::V8DOMWrapper::lookupDOMWrapper):
85930         * bindings/v8/V8DOMWrapper.h:
85931         * bindings/v8/V8IsolatedWorld.cpp:
85932         (WebCore::V8IsolatedWorld::evaluate):
85933         * bindings/v8/V8Proxy.cpp:
85934         (WebCore::V8Proxy::createWrapperFromCache):
85935         (WebCore::V8Proxy::isContextInitialized):
85936         (WebCore::V8Proxy::disposeContextHandles):
85937         (WebCore::V8Proxy::installDOMWindow):
85938         (WebCore::V8Proxy::initContextIfNeeded):
85939         (WebCore::V8Proxy::getHiddenObjectPrototype):
85940         (WebCore::V8Proxy::installHiddenObjectPrototype):
85941         * bindings/v8/V8Proxy.h:
85942
85943 2009-07-15  Antonio Gomes   <antonio.gomes@openbossa.org>
85944
85945         Reviewed by Darin Adler.
85946
85947         useless null-check statement in visible_units.cpp@logicalStartOfLine
85948         https://bugs.webkit.org/show_bug.cgi?id=27154
85949
85950         Simple fix.
85951
85952         * editing/visible_units.cpp:
85953         (WebCore::logicalStartOfLine): Doubled honorEditableBoundaryAtOrAfter() call removed.
85954
85955 2009-07-15  Brady Eidson  <beidson@apple.com>
85956
85957         Reviewed by Dan Bernstein.
85958
85959         https://bugs.webkit.org/show_bug.cgi?id=27304
85960         WebKit should provide usage and eligibility information about the page cache.
85961
85962         * WebCore.base.exp:
85963
85964         * history/CachedFrame.cpp:
85965         (WebCore::CachedFrame::childFrameCount):
85966         * history/CachedFrame.h:
85967
85968         * history/PageCache.cpp:
85969         (WebCore::PageCache::frameCount):
85970         (WebCore::PageCache::autoreleasedPageCount):
85971         * history/PageCache.h:
85972         (WebCore::PageCache::pageCount):
85973
85974 2009-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
85975
85976         Reviewed by David Levin.
85977
85978         Chromium's canvas forgets its context after fillText again
85979         https://bugs.webkit.org/show_bug.cgi?id=27293
85980
85981         No new tests because the test for this was already added in
85982         https://bugs.webkit.org/show_bug.cgi?id=26436
85983
85984         * platform/graphics/chromium/TransparencyWin.cpp:
85985         (WebCore::TransparencyWin::compositeTextComposite):
85986
85987 2009-07-14  David Hyatt  <hyatt@apple.com>
85988
85989         Reviewed by Simon Fraser.
85990
85991         https://bugs.webkit.org/show_bug.cgi?id=27283
85992
85993         Implement the new 'rem' unit from CSS3.
85994
85995         Added some rem-* tests in fast/css.
85996
85997         * css/CSSGrammar.y:
85998         * css/CSSParser.cpp:
85999         (WebCore::CSSParser::validUnit):
86000         (WebCore::unitFromString):
86001         (WebCore::CSSParser::parseValue):
86002         (WebCore::CSSParser::lex):
86003         * css/CSSParserValues.cpp:
86004         (WebCore::CSSParserValue::createCSSValue):
86005         * css/CSSPrimitiveValue.cpp:
86006         (WebCore::CSSPrimitiveValue::computeLengthInt):
86007         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
86008         (WebCore::CSSPrimitiveValue::computeLengthShort):
86009         (WebCore::CSSPrimitiveValue::computeLengthFloat):
86010         (WebCore::CSSPrimitiveValue::computeLengthDouble):
86011         (WebCore::CSSPrimitiveValue::cssText):
86012         (WebCore::CSSPrimitiveValue::parserValue):
86013         * css/CSSPrimitiveValue.h:
86014         (WebCore::CSSPrimitiveValue::):
86015         (WebCore::CSSPrimitiveValue::isUnitTypeLength):
86016         * css/CSSStyleSelector.cpp:
86017         (WebCore::CSSStyleSelector::initForStyleResolve):
86018         (WebCore::convertToLength):
86019         (WebCore::CSSStyleSelector::applyProperty):
86020         (WebCore::CSSStyleSelector::mapFillSize):
86021         (WebCore::CSSStyleSelector::mapFillXPosition):
86022         (WebCore::CSSStyleSelector::mapFillYPosition):
86023         (WebCore::CSSStyleSelector::createTransformOperations):
86024         * css/CSSStyleSelector.h:
86025         * css/MediaQueryEvaluator.cpp:
86026         (WebCore::device_heightMediaFeatureEval):
86027         (WebCore::device_widthMediaFeatureEval):
86028         (WebCore::heightMediaFeatureEval):
86029         (WebCore::widthMediaFeatureEval):
86030         * css/WebKitCSSMatrix.cpp:
86031         (WebCore::WebKitCSSMatrix::setMatrixValue):
86032         * css/tokenizer.flex:
86033         * dom/Document.cpp:
86034         (WebCore::Document::Document):
86035         * dom/Document.h:
86036         (WebCore::Document::usesRemUnits):
86037         (WebCore::Document::setUsesRemUnits):
86038         * dom/Element.cpp:
86039         (WebCore::Element::recalcStyle):
86040         * rendering/SVGRenderTreeAsText.cpp:
86041         (WebCore::writeStyle):
86042         * rendering/style/SVGRenderStyle.cpp:
86043         (WebCore::SVGRenderStyle::cssPrimitiveToLength):
86044         * svg/graphics/SVGPaintServer.cpp:
86045         (WebCore::applyStrokeStyleToContext):
86046         (WebCore::dashArrayFromRenderingStyle):
86047         * svg/graphics/SVGPaintServer.h:
86048
86049 2009-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
86050
86051         Unreviewed, build fix.
86052
86053         Remove extraneous qualifier, accidentally added in http://trac.webkit.org/changeset/45884.
86054
86055         * bindings/v8/V8DOMWrapper.h: Removed extraneous qualifier.
86056
86057 2009-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
86058
86059         Reviewed by Darin Fisher.
86060
86061         [V8] Update bindings for ValiditeState patch.
86062         https://bugs.webkit.org/show_bug.cgi?id=19562
86063
86064         * bindings/v8/DOMObjectsInclude.h:
86065         * bindings/v8/DerivedSourcesAllInOne.cpp:
86066         * bindings/v8/V8Index.cpp:
86067         * bindings/v8/V8Index.h:
86068
86069 2009-07-15  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
86070
86071         Reviewed by Simon Hausmann.
86072
86073         [Qt] Cleanup - Remove obsolete code from the make system
86074         https://bugs.webkit.org/show_bug.cgi?id=27299
86075
86076         * WebCore.pro:
86077
86078 2009-07-15  Simon Hausmann  <simon.hausmann@nokia.com>
86079
86080         Reviewed by Ariya Hidayat.
86081
86082         Fix the build without media elements.
86083
86084         * rendering/HitTestResult.cpp:
86085         (WebCore::HitTestResult::absoluteMediaURL): Add #if ENABLE(VIDEO)
86086         markers around the body of the method.
86087
86088 2009-07-14  Pavel Feldman  <pfeldman@chromium.org>
86089
86090         Reviewed by Timothy Hatcher.
86091
86092         WebInspector: Move storeLastActivePanel out of the
86093         ifdef ENABLE_JAVASCRIPT_DEBUGGER section in IDL;
86094         Add default panel for the first opening of the
86095         WebInspector.
86096
86097         https://bugs.webkit.org/show_bug.cgi?id=27263
86098
86099         * inspector/InspectorController.cpp:
86100         (InspectorController::setWindowVisible):
86101         * inspector/InspectorController.idl:
86102
86103 2009-07-14  Darin Adler  <darin@apple.com>
86104
86105         Try to fix Windows build.
86106
86107         * bindings/scripts/CodeGeneratorCOM.pm: Add Reflect and ReflectURL support.
86108
86109 2009-07-14  Pierre d'Herbemont  <pdherbemont@apple.com>
86110
86111         Reviewed by Oliver Hunt.
86112
86113         HTMLMediaElement::supportsFullscreen() should return false
86114         https://bugs.webkit.org/show_bug.cgi?id=27284
86115
86116         (Reverting a part of 45875)
86117
86118         HTMLVideoElement::supportsFullscreen() will properly do the
86119         job, and check if the backend supports fullscreen.
86120
86121         HTMLVideoElement is the only subclass to support fullscreen
86122         (conditionnaly). HTMLAudioElement fullscreen is not supported
86123         and is a different kind of fullscreen, if it comes to be wanted.
86124
86125         No test can be done currently given that none of the media
86126         backends support fullscreen.
86127
86128         * html/HTMLMediaElement.cpp:
86129         * html/HTMLMediaElement.h:
86130         (WebCore::HTMLMediaElement::supportsFullscreen):
86131
86132 2009-07-14  Darin Adler  <darin@apple.com>
86133
86134         Reviewed by Dimitri Glazkov.
86135
86136         Next step in making DOM attribute getter/setters consistently use AtomicString
86137         https://bugs.webkit.org/show_bug.cgi?id=25425
86138
86139         This covers eight DOM classes, and for each one of the classes:
86140
86141         - Changes the IDL to use the Reflect syntax for all simple cases.
86142         - Removes unused functions in the classes, mainly newly unused ones that were
86143           used for reflection before.
86144         - Removes unneeded explicitly defined destructors.
86145         - Explicitly declares destructors as virtual.
86146         - Removes unneeded includes.
86147         - Makes members protected or private rather than public where possible.
86148         - Renames "doc" to "document".
86149         - Tweaks formatting to match our latest style in a few places.
86150         - Improves some FIXME comments.
86151
86152         Over time we'll want to do this for all HTML DOM classes.
86153
86154         * html/HTMLAnchorElement.cpp:
86155         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
86156         * html/HTMLAnchorElement.h:
86157         (WebCore::HTMLAnchorElement::endTagRequirement):
86158         (WebCore::HTMLAnchorElement::tagPriority):
86159         * html/HTMLAnchorElement.idl:
86160         * html/HTMLAppletElement.cpp:
86161         * html/HTMLAppletElement.h:
86162         * html/HTMLAppletElement.idl:
86163         * html/HTMLAreaElement.cpp:
86164         (WebCore::HTMLAreaElement::parseMappedAttribute):
86165         * html/HTMLAreaElement.h:
86166         (WebCore::HTMLAreaElement::endTagRequirement):
86167         (WebCore::HTMLAreaElement::tagPriority):
86168         * html/HTMLAreaElement.idl:
86169         * html/HTMLBRElement.cpp:
86170         (WebCore::HTMLBRElement::parseMappedAttribute):
86171         * html/HTMLBRElement.h:
86172         * html/HTMLBRElement.idl:
86173         * html/HTMLBaseElement.cpp:
86174         (WebCore::HTMLBaseElement::HTMLBaseElement):
86175         (WebCore::HTMLBaseElement::removedFromDocument):
86176         (WebCore::HTMLBaseElement::process):
86177         * html/HTMLBaseElement.h:
86178         * html/HTMLBaseElement.idl:
86179         * html/HTMLBaseFontElement.cpp:
86180         (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
86181         * html/HTMLBaseFontElement.h:
86182         (WebCore::HTMLBaseFontElement::endTagRequirement):
86183         (WebCore::HTMLBaseFontElement::tagPriority):
86184         * html/HTMLBaseFontElement.idl:
86185         * html/HTMLBlockquoteElement.cpp:
86186         (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
86187         * html/HTMLBlockquoteElement.h:
86188         (WebCore::HTMLBlockquoteElement::tagPriority):
86189         * html/HTMLBlockquoteElement.idl:
86190         * html/HTMLBodyElement.cpp:
86191         (WebCore::HTMLBodyElement::HTMLBodyElement):
86192         (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
86193         * html/HTMLBodyElement.h:
86194         (WebCore::HTMLBodyElement::endTagRequirement):
86195         (WebCore::HTMLBodyElement::tagPriority):
86196         * html/HTMLBodyElement.idl:
86197         Made changes as described above.
86198
86199         * loader/FrameLoader.cpp: Removed unneeded include of HTMLAnchorElement.h.
86200
86201 2009-07-14  Steve Falkenburg  <sfalken@apple.com>
86202
86203         Reorganize JavaScriptCore headers into:
86204         API: include/JavaScriptCore/
86205         Private: include/private/JavaScriptCore/
86206
86207         Reviewed by Darin Adler.
86208
86209         * WebCore.vcproj/QTMovieWin.vcproj:
86210         * WebCore.vcproj/WebCoreCommon.vsprops:
86211         * WebCore.vcproj/build-generated-files.sh:
86212
86213 2009-07-14  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
86214
86215         Reviewed by Darin Adler.
86216
86217         Change all Noncopyable inheriting visibility to public.
86218         https://bugs.webkit.org/show_bug.cgi?id=27225
86219
86220         Change all Noncopyable inheriting visibility to public because
86221         it is needed to the custom allocation framework (bug #20422).
86222
86223         * bindings/js/GCController.h:
86224         * bindings/js/WorkerScriptController.h:
86225         * bindings/v8/V8DOMMap.cpp:
86226         (WebCore::):
86227         * bridge/runtime.h:
86228         * css/CSSSelector.h:
86229         * css/CSSSelectorList.h:
86230         * css/CSSStyleSelector.h:
86231         * dom/ClassNames.h:
86232         * dom/MessagePortChannel.h:
86233         * dom/XMLTokenizerLibxml2.cpp:
86234         * dom/XMLTokenizerScope.h:
86235         * editing/ReplaceSelectionCommand.cpp:
86236         * editing/SelectionController.h:
86237         * editing/TextIterator.cpp:
86238         * history/PageCache.h:
86239         * html/CanvasRenderingContext2D.h:
86240         * html/HTMLParser.h:
86241         * html/HTMLParserQuirks.h:
86242         * html/PreloadScanner.h:
86243         * loader/Cache.h:
86244         * loader/CrossOriginPreflightResultCache.h:
86245         * loader/FrameLoader.h:
86246         * loader/ProgressTracker.h:
86247         * loader/ThreadableLoader.h:
86248         * loader/appcache/ApplicationCacheGroup.h:
86249         * loader/archive/ArchiveResourceCollection.h:
86250         * loader/icon/IconDatabase.h:
86251         * loader/icon/IconLoader.h:
86252         * loader/icon/PageURLRecord.h:
86253         * loader/loader.h:
86254         * page/ContextMenuController.h:
86255         * page/EventHandler.h:
86256         * page/FrameTree.h:
86257         * page/Page.h:
86258         * page/PageGroup.h:
86259         * page/PageGroupLoadDeferrer.h:
86260         * page/mac/EventHandlerMac.mm:
86261         * platform/AutodrainedPool.h:
86262         * platform/ContextMenu.h:
86263         * platform/EventLoop.h:
86264         * platform/HostWindow.h:
86265         * platform/Pasteboard.h:
86266         * platform/PurgeableBuffer.h:
86267         * platform/RunLoopTimer.h:
86268         * platform/ThreadGlobalData.h:
86269         * platform/ThreadTimers.h:
86270         * platform/Timer.h:
86271         * platform/TreeShared.h:
86272         * platform/graphics/FontData.h:
86273         * platform/graphics/GlyphWidthMap.h:
86274         * platform/graphics/GraphicsContext.h:
86275         * platform/graphics/ImageBuffer.h:
86276         * platform/graphics/ImageSource.h:
86277         * platform/graphics/MediaPlayer.h:
86278         * platform/graphics/skia/GraphicsContextPlatformPrivate.h:
86279         * platform/graphics/skia/PlatformContextSkia.h:
86280         * platform/graphics/win/QTMovieWin.cpp:
86281         * platform/mac/LocalCurrentGraphicsContext.h:
86282         * platform/network/FormDataBuilder.h:
86283         * platform/network/ResourceHandleInternal.h:
86284         * platform/network/soup/ResourceHandleSoup.cpp:
86285         * platform/text/StringBuffer.h:
86286         * platform/text/TextCodec.h:
86287         * platform/win/WindowMessageBroadcaster.h:
86288         * rendering/CounterNode.h:
86289         * rendering/LayoutState.h:
86290         * rendering/RenderFrameSet.h:
86291         * rendering/RenderView.h:
86292         * rendering/TransformState.h:
86293         * svg/SVGAnimatedProperty.h:
86294         * svg/SynchronizableTypeWrapper.h:
86295         * workers/WorkerMessagingProxy.h:
86296         * workers/WorkerRunLoop.cpp:
86297         * xml/XPathExpressionNode.h:
86298         * xml/XPathParser.h:
86299         * xml/XPathPredicate.h:
86300         * xml/XPathStep.h:
86301
86302 2009-07-14  Darin Fisher  <darin@chromium.org>
86303
86304         Reviewed by Darin Adler.
86305
86306         Fails to save document state when navigating away from a page with a
86307         reference fragment.
86308         https://bugs.webkit.org/show_bug.cgi?id=27281
86309
86310         Test: fast/history/saves-state-after-fragment-nav.html
86311
86312         * history/HistoryItem.cpp:
86313         (WebCore::HistoryItem::isCurrentDocument): Use equalIgnoringRef
86314         to compare URLs.
86315
86316 2009-07-14  Joseph Pecoraro  <joepeck02@gmail.com>
86317
86318         Reviewed by Sam Weinig.
86319
86320         Inspector: Remove Unintended Global Variables
86321         https://bugs.webkit.org/show_bug.cgi?id=27203
86322
86323         * inspector/front-end/Console.js:
86324         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
86325         * inspector/front-end/DatabasesPanel.js:
86326         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
86327         * inspector/front-end/ObjectPropertiesSection.js:
86328         (WebInspector.ObjectPropertyTreeElement.prototype.update):
86329         * inspector/front-end/inspector.js:
86330         (WebInspector.animateStyle):
86331
86332 2009-07-14  Michelangelo De Simone  <micdesim@gmail.com>
86333
86334         Reviewed by Adele Peterson.
86335
86336         https://bugs.webkit.org/show_bug.cgi?id=19562
86337         Added build stuff and stub for the ValidityState class, part of HTML5
86338         section Forms:
86339         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
86340
86341         Test: fast/forms/ValidityState-001.html
86342
86343         * DerivedSources.cpp: Inclusion of ValidityState files
86344         * DerivedSources.make: ditto
86345         * GNUmakefile.am: ditto
86346         * WebCore.gypi: ditto
86347         * WebCore.pro: ditto
86348         * WebCore.vcproj/WebCore.vcproj: ditto
86349         * WebCore.xcodeproj/project.pbxproj: ditto
86350         * WebCoreSources.bkl: ditto
86351         * html/HTMLButtonElement.idl: validity attribute
86352         * html/HTMLFieldSetElement.idl: ditto
86353         * html/HTMLFormControlElement.cpp:
86354         (WebCore::HTMLFormControlElement::validity): ValidityState getter
86355         * html/HTMLFormControlElement.h: ditto
86356         * html/HTMLInputElement.idl: validity attribute
86357         * html/HTMLSelectElement.idl: ditto
86358         * html/HTMLTextAreaElement.idl: ditto
86359         * html/ValidityState.cpp: Added.
86360         (WebCore::ValidityState::ValidityState):
86361         (WebCore::ValidityState::valid): validation flag
86362         * html/ValidityState.h: Added.
86363         (WebCore::ValidityState::create): validation flag
86364         (WebCore::ValidityState::control): ditto
86365         (WebCore::ValidityState::valueMissing): ditto
86366         (WebCore::ValidityState::typeMismatch): ditto
86367         (WebCore::ValidityState::patternMismatch): ditto
86368         (WebCore::ValidityState::tooLong): ditto
86369         (WebCore::ValidityState::rangeUnderflow): ditto
86370         (WebCore::ValidityState::rangeOverflow): ditto
86371         (WebCore::ValidityState::stepMismatch): ditto
86372         (WebCore::ValidityState::customError): ditto
86373         * html/ValidityState.idl: Added.
86374
86375 2009-07-14  Ryosuke Niwa  <rniwa@google.com>
86376
86377         Reviewed by Eric Seidel.
86378
86379         Outdenting a line inside a blockquote tag does nothing
86380         https://bugs.webkit.org/show_bug.cgi?id=25316
86381
86382         The bug was caused by the code checking whether the blockquote is created by WebKit or not.
86383         We simply remove this code to be consistent with Firefox and Internet Explorer.
86384         Also, enclosingBlockFlow == enclosingNode in outdentParagraph isn't a sufficient condition to insert
86385         the placeholder before the enclosingNode because there could be contents before the current paragraph.
86386         Instead, we should split the enclosingNode (which is a blockquote) at the starting position of outdentation.
86387         It turned out that this solves the bug 25315 also: https://bugs.webkit.org/show_bug.cgi?id=25315
86388
86389         Test: editing/execCommand/outdent-regular-blockquote.html
86390
86391         * editing/IndentOutdentCommand.cpp:
86392         (WebCore::isIndentBlockquote): no longer checks whether a blockquote is created by WebKit or not.
86393         (WebCore::IndentOutdentCommand::outdentParagraph): takes care of the case enclosingBlockFlow == enclosingNode
86394
86395 2009-07-14  Adam Barth  <abarth@webkit.org>
86396
86397         Reviewed by Dimitri Glazkov.
86398
86399         [V8] Fix isolated world wrappers for Node prototypes
86400         https://bugs.webkit.org/show_bug.cgi?id=27277
86401
86402         This change does two things:
86403
86404         1) We bypass the wrapper cache in the isolated world.  This is because
86405            the wrapper template cache has prototypes that lead to the main
86406            world.  We can add a template cache for the isolated world if
86407            performance warrants.
86408
86409         2) We introduce a smarter way to grab the wrapper context for a frame
86410            that is aware that proxy <-> context do not stand in one-to-one
86411            correspondence.  This generalizes our solution for the node wrapper
86412            case to prototypes.
86413
86414         The net result is that Node wrappers get the right prototypes.  As
86415         before, tests to follow.
86416
86417         * bindings/v8/V8DOMWrapper.cpp:
86418         (WebCore::V8DOMWrapper::setHiddenWindowReference):
86419         (WebCore::V8DOMWrapper::instantiateV8Object):
86420         (WebCore::V8DOMWrapper::convertNodeToV8Object):
86421         (WebCore::V8DOMWrapper::convertWindowToV8Object):
86422         (WebCore::V8DOMWrapper::getWrapperContext):
86423         * bindings/v8/V8DOMWrapper.h:
86424
86425 2009-07-14  Adam Barth  <abarth@webkit.org>
86426
86427         Reviewed by Dimitri Glazkov.
86428
86429         [V8] Fix isolated world wrappers for Nodes
86430         https://bugs.webkit.org/show_bug.cgi?id=27271
86431
86432         Previously, we keepy a pointer to the DOMMap on V8Proxy, but this
86433         caused us to miss the branch in V8DOMMap.cpp for isolated worlds.
86434
86435         I have tests, but I can't land them until I get this feature under
86436         control.
86437
86438         * bindings/v8/V8DOMWrapper.cpp:
86439         (WebCore::V8DOMWrapper::convertNodeToV8Object):
86440         * bindings/v8/V8Proxy.h:
86441         (WebCore::V8Proxy::V8Proxy):
86442
86443 2009-07-14  Adam Barth  <abarth@webkit.org>
86444
86445         Reviewed by Dimitri Glazkov.
86446
86447         [V8] Fix isolated world crash on getting window.location
86448         https://bugs.webkit.org/show_bug.cgi?id=27268
86449
86450         I have a test for this locally, but it requires a compile-time hack to
86451         run.  Once I get the feature's stability under control, we can turn the
86452         feature on and add the tests.
86453
86454         * bindings/v8/V8DOMWrapper.cpp:
86455         (WebCore::V8DOMWrapper::setHiddenWindowReference):
86456         * bindings/v8/V8IsolatedWorld.h:
86457         (WebCore::V8IsolatedWorld::context):
86458
86459 2009-07-14  Brent Fulgham  <bfulgham@webkit.org>
86460
86461         Correct failing tests after r45875.  The original patch did not
86462         test the m_player member for null, causing crashes.  This will
86463         happen fairly frequently in real use.  Was this original patch
86464         ever tested?
86465         https://bugs.webkit.org/show_bug.cgi?id=27246
86466
86467         Test via existing media tests.
86468
86469         * html/HTMLMediaElement.cpp:
86470         (WebCore::HTMLMediaElement::supportsFullscreen): Check for null pointer.
86471         (WebCore::HTMLMediaElement::supportsSave): Check for null pointer.
86472
86473 2009-07-14  Avi Drissman  <avi@chromium.org>
86474
86475         Reviewed by Darin Fisher.
86476
86477         Explicitly mark the HTML generated for the Mac as being UTF-8 encoded.
86478         The Windows clipboard format is explicitly documented as being UTF-8,
86479         and all Linux apps assume UTF-8. On the Mac, though, unless otherwise
86480         indicated, Windows-1252 is assumed, which is wrong.
86481
86482         Bug: https://bugs.webkit.org/show_bug.cgi?id=27262
86483
86484         No new tests.
86485
86486         * platform/chromium/ClipboardChromium.cpp:
86487         (WebCore::ClipboardChromium::writeRange):
86488         * platform/chromium/PasteboardChromium.cpp:
86489         (WebCore::Pasteboard::writeSelection):
86490
86491 2009-07-14  Albert J. Wong  <ajwong@chromium.org>
86492
86493         Reviewed by Dimitri Glazkov.
86494
86495         Upstream V8NPObject.h and V8NPObject.cpp.
86496         https://bugs.webkit.org/show_bug.cgi?id=27103
86497
86498         This just upstreams the files from the chromium code base. Only
86499         minor changes to formatting and similar were done, so no testing
86500         is required because nothing really changed.  Code verified to compile.
86501
86502         * bindings/v8/ScriptController.cpp:
86503         (WebCore::ScriptController::bindToWindowObject):
86504         (WebCore::ScriptController::createScriptInstanceForWidget):
86505         * bindings/v8/V8NPObject.cpp: Added.
86506         (npObjectInvokeImpl):
86507         (npObjectMethodHandler):
86508         (npObjectInvokeDefaultHandler):
86509         (weakTemplateCallback):
86510         (npObjectGetProperty):
86511         (npObjectNamedPropertyGetter):
86512         (npObjectIndexedPropertyGetter):
86513         (npObjectGetNamedProperty):
86514         (npObjectGetIndexedProperty):
86515         (npObjectSetProperty):
86516         (npObjectNamedPropertySetter):
86517         (npObjectIndexedPropertySetter):
86518         (npObjectSetNamedProperty):
86519         (npObjectSetIndexedProperty):
86520         (weakNPObjectCallback):
86521         (createV8ObjectForNPObject):
86522         (forgetV8ObjectForNPObject):
86523         * bindings/v8/V8NPObject.h: Added.
86524         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
86525         (WebCore::NAMED_PROPERTY_GETTER):
86526         (WebCore::NAMED_PROPERTY_SETTER):
86527         (WebCore::CALLBACK_FUNC_DECL):
86528         (WebCore::INDEXED_PROPERTY_GETTER):
86529         (WebCore::INDEXED_PROPERTY_SETTER):
86530
86531
86532 2009-07-14  Albert J. Wong  <ajwong@chromium.org>
86533
86534         Reviewed by Darin Adler.
86535
86536         Add HTMLMediaElement::supportSave() and a
86537         HitTestResult::absoluteMediaURL() functions
86538         https://bugs.webkit.org/show_bug.cgi?id=27246
86539
86540         Added an implementation of supportsSave() into HTMLMediaElement
86541         that delegates to MediaPlayerPrivateImpl so that the media engine
86542         is able to signal whether or not a media source supports saving.
86543
86544         Also added a function to HitTestResult that allows for retrieval
86545         of the currentSrc associated with the "hit" media element. 
86546         
86547         These functions are just pipeing with no visible UI change so there
86548         are no related layout test changes.
86549
86550         * html/HTMLMediaElement.cpp:
86551         (WebCore::HTMLMediaElement::supportsFullscreen): 
86552         (WebCore::HTMLMediaElement::supportsSave):
86553         * html/HTMLMediaElement.h:
86554         * platform/graphics/MediaPlayer.cpp:
86555         (WebCore::MediaPlayer::supportsSave):
86556         * platform/graphics/MediaPlayer.h:
86557         * platform/graphics/MediaPlayerPrivate.h:
86558         (WebCore::MediaPlayerPrivateInterface::supportsFullscreen):
86559         (WebCore::MediaPlayerPrivateInterface::supportsSave):
86560         * rendering/HitTestResult.cpp:
86561         (WebCore::HitTestResult::altDisplayString):
86562         (WebCore::HitTestResult::absoluteMediaURL):
86563         * rendering/HitTestResult.h:
86564
86565 2009-07-14  Dimitri Glazkov  <dglazkov@chromium.org>
86566
86567         Reviewed by Adam Barth.
86568
86569         [V8] Implement Reflect and ReflectURL attribute support.
86570         https://bugs.webkit.org/show_bug.cgi?id=27273
86571
86572         * bindings/scripts/CodeGeneratorV8.pm: Added support for Reflect and ReflectURL attributes.
86573
86574 2009-07-14  Dmitry Titov  <dimich@chromium.org>
86575
86576         Reviewed by Darin Adler.
86577
86578         https://bugs.webkit.org/show_bug.cgi?id=27266
86579         Add hasCurrentPoint() to WebCore::Path.
86580         This fixes Skia-based Chromium regression caused by the fix for
86581         https://bugs.webkit.org/show_bug.cgi?id=27187.
86582         For Skia, the new method always returns 'true', pending actual implementation.
86583         This means Chromium still will differ from Gecko behavior, but at least its Canvas
86584         will not be completely broken.
86585
86586         Existing Canvas Layout Tests should pass in Chromium after this change.
86587
86588         * html/CanvasRenderingContext2D.cpp:
86589         (WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint().
86590         (WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto.
86591         (WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto.
86592
86593         * platform/graphics/Path.h:
86594         * platform/graphics/cairo/PathCairo.cpp:
86595         (WebCore::Path::hasCurrentPoint):
86596         * platform/graphics/cg/PathCG.cpp:
86597         (WebCore::Path::isEmpty):
86598         (WebCore::Path::hasCurrentPoint):
86599         * platform/graphics/qt/PathQt.cpp:
86600         (WebCore::Path::hasCurrentPoint):
86601         * platform/graphics/skia/PathSkia.cpp:
86602         (WebCore::Path::hasCurrentPoint):
86603         * platform/graphics/wx/PathWx.cpp:
86604         (WebCore::Path::hasCurrentPoint):
86605         All these files add a Path::hasCurrentPoint() for various platforms.
86606
86607 2009-07-14  Nate Chapin  <japhet@chromium.org>
86608
86609         Reviewed by Sam Weinig.
86610
86611         Upstream RGBColor from src.chromium.org.
86612
86613         https://bugs.webkit.org/show_bug.cgi?id=27133
86614
86615         * WebCore.gypi: Add RGBColor
86616         * css/RGBColor.cpp: Added.
86617         (WebCore::RGBColor::create):
86618         (WebCore::RGBColor::red):
86619         (WebCore::RGBColor::green):
86620         (WebCore::RGBColor::blue):
86621         * css/RGBColor.h: Added.
86622         (WebCore::RGBColor::RGBColor):
86623
86624 2009-07-10  Matt Perry  <mpcomplete@chromium.org>
86625
86626         Reviewed by Darin Fisher.
86627
86628         [V8] Rename the didCreate/DestroyScriptContext calls to make it
86629         clear that that those refer to the frame's contxt.  Add another
86630         similar call for when creating contexts via evaluateInNewContext.
86631         https://bugs.webkit.org/show_bug.cgi?id=27104
86632
86633         * bindings/v8/V8Proxy.cpp:
86634         (WebCore::V8Proxy::evaluateInNewContext):
86635         (WebCore::V8Proxy::disposeContextHandles):
86636         (WebCore::V8Proxy::initContextIfNeeded):
86637         * loader/EmptyClients.h:
86638         (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
86639         (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
86640         (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
86641         * loader/FrameLoaderClient.h:
86642
86643 2009-07-14  Brent Fulgham  <bfulgham@webkit.org>
86644
86645         Revert http://trac.webkit.org/changeset/45864 after
86646         breaking of Windows build.
86647
86648         * storage/LocalStorageTask.cpp:
86649         * storage/LocalStorageTask.h:
86650         * storage/Storage.cpp:
86651         * storage/Storage.h:
86652         * storage/StorageArea.cpp:
86653         * storage/StorageArea.h:
86654         * storage/StorageAreaImpl.cpp:
86655         * storage/StorageAreaImpl.h:
86656         * storage/StorageAreaSync.cpp:
86657         * storage/StorageAreaSync.h:
86658         * storage/StorageEvent.cpp:
86659         * storage/StorageEvent.h:
86660         (WebCore::StorageEvent::create):
86661         (WebCore::StorageEvent::StorageEvent):
86662         * storage/StorageNamespace.h:
86663         * storage/StorageNamespaceImpl.cpp:
86664         * storage/StorageNamespaceImpl.h:
86665         * storage/StorageSyncManager.cpp:
86666         * storage/StorageSyncManager.h:
86667
86668 2009-07-11  Jeremy Orlow  <jorlow@chromium.org>
86669
86670         Reviewed by Darin Adler.
86671
86672         Cleanup DOM Storage dependencies.
86673         https://bugs.webkit.org/show_bug.cgi?id=27180
86674
86675         DOM Storage had several unnecessary (and probably unintended)
86676         dependencies.  This patch replaces many includes of header files with
86677         forward declaration of classes, making some destructors explicit, and
86678         taking some factories out of the header files.
86679
86680         This will allow things like StorageAreaSync to take a StorageAreaImpl*
86681         (as it should) rather than a StorageArea* which previously weren't
86682         possible because the dependencies were such a tangled mess.
86683
86684         * storage/LocalStorageTask.cpp:
86685         (WebCore::LocalStorageTask::~LocalStorageTask):
86686         * storage/LocalStorageTask.h:
86687         * storage/Storage.cpp:
86688         (WebCore::Storage::~Storage):
86689         * storage/Storage.h:
86690         * storage/StorageArea.cpp:
86691         * storage/StorageArea.h:
86692         * storage/StorageAreaImpl.cpp:
86693         * storage/StorageAreaImpl.h:
86694         * storage/StorageAreaSync.cpp:
86695         (WebCore::StorageAreaSync::~StorageAreaSync):
86696         * storage/StorageAreaSync.h:
86697         * storage/StorageEvent.cpp:
86698         (WebCore::StorageEvent::create):
86699         (WebCore::StorageEvent::StorageEvent):
86700         * storage/StorageEvent.h:
86701         * storage/StorageNamespace.h:
86702         * storage/StorageNamespaceImpl.cpp:
86703         * storage/StorageNamespaceImpl.h:
86704         * storage/StorageSyncManager.cpp:
86705         (WebCore::StorageSyncManager::~StorageSyncManager):
86706         * storage/StorageSyncManager.h:
86707
86708
86709 2009-07-14  Adam Treat  <adam.treat@torchmobile.com>
86710
86711         Reviewed by David Hyatt.
86712
86713         https://bugs.webkit.org/show_bug.cgi?id=26983
86714
86715         Check to make sure the view is attached to a frame() in the visibleContentsResized()
86716         method as it can be triggered before the view is attached by Frame::createView(...)
86717         setting various values such as setScrollBarModes(...) for example.  An ASSERT is
86718         triggered when a view is layout before being attached to a frame().
86719
86720         * page/FrameView.cpp:
86721         (WebCore::FrameView::visibleContentsResized):
86722         * page/FrameView.h:
86723
86724 2009-07-14  Pavel Feldman  <pfeldman@chromium.org>
86725
86726         Reviewed by Timothy Hatcher.
86727
86728         WebInspector: show last opened panel when invoking inspector.
86729
86730         https://bugs.webkit.org/show_bug.cgi?id=27263
86731
86732         * inspector/InspectorController.cpp:
86733         (WebCore::InspectorController::InspectorController):
86734         (WebCore::InspectorController::setWindowVisible):
86735         (WebCore::InspectorController::storeLastActivePanel):
86736         (WebCore::InspectorController::specialPanelForJSName):
86737         * inspector/InspectorController.h:
86738         (WebCore::InspectorController::Setting::Setting):
86739         * inspector/InspectorController.idl:
86740         * inspector/front-end/inspector.js:
86741         (WebInspector.set currentPanel):
86742         (WebInspector.loaded):
86743
86744 2009-07-14  Anton Muhin  <antonm@chromium.org>
86745
86746         Reviewed by Dimitri Glazkov.
86747
86748         Speed up access to NodeList length.
86749         https://bugs.webkit.org/show_bug.cgi?id=27264
86750
86751         That's a minimal alternation of the code.
86752
86753         * bindings/v8/custom/V8NodeListCustom.cpp:
86754         (WebCore::NAMED_PROPERTY_GETTER): 1) use AtomicString for comparison, 2) use
86755         v8::Integer::New instead of v8::Number::New.
86756
86757 2009-07-14  Anton Muhin  <antonm@chromium.org>
86758
86759         Reviewed by Dimitri Glazkov.
86760
86761         Do not do unnecessary conversions from v8::Handle<v8::Value> to
86762         v8::Handle<v8::Object> and accompanying changes.
86763         https://bugs.webkit.org/show_bug.cgi?id=26953
86764
86765         Three things:
86766
86767         1) do not cast from v8::Value to v8::Object if unnecessary---casts are cheap,
86768         but are not free (they check for emptiness of handle);
86769         2) inline conversion from wrapper to node;
86770         3) simplify case to an ASSERT.
86771
86772         This is just a refactoring, so no new tests are needed.
86773
86774         * bindings/scripts/CodeGeneratorV8.pm:
86775         * bindings/v8/V8Proxy.cpp:
86776         (WebCore::V8Proxy::evaluateInNewContext):
86777         (WebCore::V8Proxy::convertToSVGPODTypeImpl):
86778         * bindings/v8/V8Proxy.h:
86779         (WebCore::V8Proxy::convertDOMWrapperToNative):
86780         (WebCore::V8Proxy::convertToNativeObject):
86781         (WebCore::V8Proxy::convertToNativeEvent):
86782         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
86783         (WebCore::toCanvasStyle):
86784         (WebCore::CALLBACK_FUNC_DECL):
86785         * bindings/v8/custom/V8CustomBinding.cpp:
86786         (WebCore::V8Custom::GetTargetFrame):
86787         * bindings/v8/custom/V8DOMWindowCustom.cpp:
86788         (WebCore::CALLBACK_FUNC_DECL):
86789         (WebCore::V8Custom::ClearTimeoutImpl):
86790         (WebCore::NAMED_ACCESS_CHECK):
86791         (WebCore::INDEXED_ACCESS_CHECK):
86792         * bindings/v8/custom/V8DocumentCustom.cpp:
86793         (WebCore::CALLBACK_FUNC_DECL):
86794         * bindings/v8/custom/V8LocationCustom.cpp:
86795         (WebCore::CALLBACK_FUNC_DECL):
86796
86797 2009-07-14  Darin Adler  <darin@apple.com>
86798
86799         Reviewed by Dan Bernstein.
86800
86801         Straight quotes should match fancy quotes in in-page search
86802         https://bugs.webkit.org/show_bug.cgi?id=27217
86803
86804         Tests: fast/text/find-quotes.html
86805
86806         * editing/TextIterator.cpp:
86807         (WebCore::foldQuoteMark): Added.
86808         (WebCore::foldQuoteMarks): Added.
86809         (WebCore::SearchBuffer::SearchBuffer): Call foldQuoteMarks on the target string.
86810         (WebCore::SearchBuffer::append): Call foldQuoteMarks on characters as they are
86811         added to the search buffer.
86812
86813         * platform/text/CharacterNames.h: Added more quotation mark character names.
86814         Sorted character names with the sort tool.
86815
86816 2009-07-13  Pavel Feldman  <pfeldman@chromium.org>
86817
86818         Reviewed by Timothy Hatcher.
86819
86820         WebInspector: handle debugger shortcuts while on source frame or on
86821         script file selector.
86822
86823         https://bugs.webkit.org/show_bug.cgi?id=27224
86824
86825         * inspector/front-end/ScriptsPanel.js:
86826         (WebInspector.ScriptsPanel):
86827         * inspector/front-end/SourceFrame.js:
86828         (WebInspector.SourceFrame.prototype._loaded):
86829
86830 2009-07-13  Sam Weinig  <sam@webkit.org>
86831
86832         Reviewed by Darin Adler.
86833
86834         Use standard HashCountedSet instead of a hand rolled one
86835         in HTMLDocument.
86836
86837         * html/HTMLDocument.cpp:
86838         (WebCore::addItemToMap):
86839         (WebCore::removeItemFromMap):
86840         * html/HTMLDocument.h:
86841
86842 2009-07-13  Erik Arvidsson  <arv@chromium.org>
86843
86844         Reviewed by Darin Adler and Maciej Stachowiak.
86845
86846         Implement HTML5 draggable
86847         https://bugs.webkit.org/show_bug.cgi?id=26262
86848
86849         This adds support for the HTML5 draggable attribute and its DOM binding. It maps the draggable property
86850         to the CSS properties -webkit-user-drag and -webkit-user-select respectively.
86851
86852         Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-draggable-attribute
86853
86854         Test: fast/html/draggable.html
86855
86856         * css/html.css:
86857         * html/HTMLAnchorElement.cpp:
86858         (WebCore::HTMLAnchorElement::draggable):
86859         * html/HTMLAnchorElement.h:
86860         * html/HTMLAttributeNames.in:
86861         * html/HTMLElement.cpp:
86862         (WebCore::HTMLElement::draggable):
86863         (WebCore::HTMLElement::setDraggable):
86864         * html/HTMLElement.h:
86865         * html/HTMLElement.idl:
86866         * html/HTMLImageElement.cpp:
86867         (WebCore::HTMLImageElement::draggable):
86868         * html/HTMLImageElement.h:
86869
86870 2009-07-13  Simon Fraser  <simon.fraser@apple.com>
86871
86872         Reviewed by Dan Bernstein.
86873
86874         Image rendered as layer contents looks different from image rendered via CG.
86875         <rdar://problem/7048830> 
86876         
86877         Fix a visible color profile difference between between images rendered via Core Graphics
86878         and those rendered via a compositing layer, by assigning the GenericRGB profile to
86879         untagged images (which come through as having the DeviceRGB profile) when they are set
86880         as layer contents.
86881
86882         Test: compositing/color-matching/image-color-matching.html
86883
86884         * platform/graphics/mac/GraphicsLayerCA.mm:
86885         (WebCore::GraphicsLayerCA::setContentsToImage):
86886
86887 2009-07-13  Darin Adler  <darin@apple.com>
86888
86889         Reviewed by Oliver Hunt.
86890
86891         https://bugs.webkit.org/show_bug.cgi?id=27220
86892         Assertion failure in createSearcher() (usearch_open() status is U_USING_DEFAULT_WARNING)
86893
86894         * editing/TextIterator.cpp:
86895         (WebCore::createSearcher): Add U_USING_DEFAULT_WARNING as a possible status code
86896         in the assertion. Affects only the assertion.
86897
86898 2009-07-13  Alexey Proskuryakov  <ap@webkit.org>
86899
86900         Reviewed by Darin Adler.
86901
86902         https://bugs.webkit.org/show_bug.cgi?id=26925
86903         <rdar://problem/7027850> URL Fragment Breaks Application Cache Loads
86904
86905         Test: http/tests/appcache/main-resource-hash.html
86906
86907         * loader/appcache/ApplicationCache.cpp:
86908         (WebCore::ApplicationCache::resourceForURL):
86909         (WebCore::ApplicationCache::resourceForRequest):
86910         * loader/appcache/ApplicationCacheGroup.cpp:
86911         (WebCore::ApplicationCacheGroup::cacheForMainRequest):
86912         (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
86913         (WebCore::ApplicationCacheGroup::selectCache):
86914         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
86915         (WebCore::ApplicationCacheGroup::didReceiveResponse):
86916         (WebCore::ApplicationCacheGroup::didFail):
86917         (WebCore::ApplicationCacheGroup::addEntry):
86918         Remove URL fragment at appcache code borders.
86919
86920         * loader/appcache/ApplicationCacheResource.h:
86921         (WebCore::ApplicationCacheResource::create):
86922         * loader/appcache/ApplicationCacheStorage.cpp:
86923         (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
86924         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
86925         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
86926         Assert that there is no URL fragment in URL at key points in appcache code.
86927
86928 2009-07-13  Darin Adler  <darin@apple.com>
86929
86930         Reviewed by Dan Bernstein.
86931
86932         https://bugs.webkit.org/show_bug.cgi?id=27166
86933         rdar://problem/7015857
86934         Find for strings composed entirely of spaces doesn't work
86935
86936         Test: fast/text/find-spaces.html
86937
86938         * editing/TextIterator.cpp:
86939         (WebCore::findPlainText): Removed unneeded special case.
86940         The empty string case already works correctly.
86941
86942 2009-07-13  Anders Carlsson  <andersca@apple.com>
86943
86944         Reviewed by Kevin Decker.
86945
86946         Remove NPPVpluginPrivateModeBool, it was removed from the spec.
86947         
86948         * bridge/npapi.h:
86949
86950 2009-07-13  Feng Qian  <feng@chromium.org>
86951
86952         Reviewed by Dimitri Glazkov.
86953
86954         Fix for https://bugs.webkit.org/show_bug.cgi?id=27237
86955
86956         Make V8DOMMap.h compiling with gcc option -Werror=non=virtual-dtor.  
86957
86958         * bindings/v8/V8DOMMap.h:
86959         (WebCore::WeakReferenceMap::WeakReferenceMap):
86960         (WebCore::WeakReferenceMap::~WeakReferenceMap):
86961
86962 2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
86963
86964         Reviewed by Darin Fisher.
86965
86966         Remove an accidental add of bidi.(cpp|h) to WebCore.gypi.
86967
86968         * WebCore.gypi: Removed bidi.cpp and bidi.h
86969
86970 2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
86971
86972         Reviewed by Darin Fisher.
86973
86974         Update WebCore.gyp in preparation to hooking it up.
86975
86976         * WebCore.gypi: Added files that were mid-stream while switching over.
86977
86978 2009-07-13  Dmitry Titov  <dimich@chromium.org>
86979
86980         Not reviewed, another small fix for Chromium build.
86981
86982         * bindings/v8/ScriptController.cpp:
86983         (WebCore::ScriptController::evaluate):
86984
86985 2009-07-13  Dmitry Titov  <dimich@chromium.org>
86986
86987         Not reviewed, fix Chromium build bustage.
86988
86989         * bindings/v8/ScriptController.cpp:
86990         (WebCore::ScriptController::evaluate):
86991         * bindings/v8/V8Proxy.cpp:
86992         (WebCore::JavaScriptConsoleMessage::addToPage):
86993         * bindings/v8/WorkerContextExecutionProxy.cpp:
86994         (WebCore::handleConsoleMessage):
86995
86996 2009-07-13  Sam Weinig  <sam@webkit.org>
86997
86998         Reviewed by Darin Adler.
86999
87000         Fix for https://bugs.webkit.org/show_bug.cgi?id=27234
87001         <rdar://problem/7054356>
87002
87003         Add null page check in HTMLDocument::hasFocus.
87004
87005         Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html
87006
87007         * html/HTMLDocument.cpp:
87008         (WebCore::HTMLDocument::hasFocus): Add page null check.
87009         (WebCore::HTMLDocument::createTokenizer): Cleanup page null check.
87010
87011 2009-07-13  Dan Bernstein  <mitz@apple.com>
87012
87013         Reviewed by Darin Adler.
87014
87015         Disable continuous spell checking in the inspector
87016         https://bugs.webkit.org/show_bug.cgi?id=27131
87017
87018         * inspector/front-end/inspector.html: Added spellcheck="false" to the
87019             main-panels and console-prompt containers.
87020
87021 2009-07-13  Adam Langley  <agl@google.com>
87022
87023         Reviewed by Eric Seidel.
87024
87025         Chromium Linux: fix assertion when rendering google.com.kh
87026
87027         https://bugs.webkit.org/show_bug.cgi?id=26924
87028
87029         Some shapers (i.e. Khmer) will produce cluster logs which report that
87030         /no/ code points contributed to certain glyphs. Because of this, we
87031         take any code point which contributed to the glyph in question, or any
87032         subsequent glyph.  If we run off the end, then we take the last code
87033         point.
87034
87035         Added LayoutTests/fast/text/international/khmar-selection.html
87036
87037         * platform/graphics/chromium/FontLinux.cpp:
87038         (WebCore::Font::offsetForPositionForComplexText):
87039
87040 2009-07-13  Dan Bernstein  <mitz@apple.com>
87041
87042         Reviewed by Darin Adler.
87043
87044         spellcheck="false" is ignored
87045         <rdar://problem/7054177>
87046
87047         * editing/Editor.cpp:
87048         (WebCore::markMisspellingsOrBadGrammar): Moved code to check the
87049             spellcheck attribute from here...
87050         (WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here.
87051         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out
87052             if spell chcking is disabled by the spellcheck attribute.
87053         * editing/Editor.h:
87054
87055 2009-07-13  Brent Fulgham  <bfulgham@webkit.org>
87056
87057         Reviewed by Adam Roben.
87058
87059         Add new configuration flag for redistributable Windows build.
87060         https://bugs.webkit.org/show_bug.cgi=27087
87061         
87062         * WebCore.vcproj/WebCore.vcproj: Add new WinCairo.vsprops to
87063           Debug_Cairo and Release_Cairo builds.
87064         * config.h: Check for presence of WIN_CAIRO and select appropriate
87065           configuration.  Defaults to standard Apple build.
87066
87067 2009-07-13  Peter Kasting  <pkasting@google.com>
87068
87069         https://bugs.webkit.org/show_bug.cgi?id=19562
87070         Back out previous patch for this bug (too many problems).
87071
87072         * DerivedSources.cpp:
87073         * DerivedSources.make:
87074         * GNUmakefile.am:
87075         * WebCore.gypi:
87076         * WebCore.pro:
87077         * WebCore.vcproj/WebCore.vcproj:
87078         * WebCore.xcodeproj/project.pbxproj:
87079         * WebCoreSources.bkl:
87080         * html/HTMLButtonElement.idl:
87081         * html/HTMLFieldSetElement.idl:
87082         * html/HTMLFormControlElement.cpp:
87083         * html/HTMLFormControlElement.h:
87084         (WebCore::HTMLFormControlElement::form):
87085         * html/HTMLInputElement.idl:
87086         * html/HTMLSelectElement.idl:
87087         * html/HTMLTextAreaElement.idl:
87088         * html/ValidityState.cpp: Removed.
87089         * html/ValidityState.h: Removed.
87090         * html/ValidityState.idl: Removed.
87091
87092 2009-07-13  Nate Chapin  <japhet@chromium.org>
87093
87094         Reviewed by Dimitri Glazkov.
87095
87096         Add HTMLAllCollection to WebCore.gypi.
87097
87098         https://bugs.webkit.org/show_bug.cgi?id=27223
87099
87100         * WebCore.gypi: Add HTMLAllCollection.
87101
87102 2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
87103
87104         Reviewed by Darin Fisher.
87105
87106         [V8] Add a missing check for constructor call in WebKitCSSMatrixConstructor.
87107         https://bugs.webkit.org/show_bug.cgi?id=27218
87108
87109         Test: fast/css/matrix-as-function-crash.html
87110
87111         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
87112         (WebCore::CALLBACK_FUNC_DECL): Added a check for constructor call.
87113
87114 2009-07-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
87115
87116         Unreviewed make dist build fix.
87117
87118         * GNUmakefile.am:
87119
87120 2009-07-13  Cédric Luthi  <cedric.luthi@gmail.com>
87121
87122         Reviewed by Tor Arne Vestbø.
87123
87124         Fix NPWindow clip rect in PluginViewMac
87125
87126         The rect should be in window-coordinates. This bug can be observed
87127         with Flash 10 here: http://www.permadi.com/tutorial/cursorTracker/
87128
87129         * plugins/mac/PluginViewMac.cpp:
87130
87131 2009-07-13  Simon Hausmann  <hausmann@webkit.org>
87132
87133         Reviewed by Ariya Hidayat.
87134
87135         Fix Qt implementation of WebCore::directoryName to return the absolute
87136         directory name instead of the base file name.
87137
87138         * platform/qt/FileSystemQt.cpp:
87139         (WebCore::directoryName):
87140
87141 2009-07-13  Simon Hausmann  <hausmann@webkit.org>
87142
87143         Reviewed by Ariya Hidayat.
87144
87145         Fix WebCore::Path::isEmpty() for the Qt port to return true
87146         if there is no element in the path.
87147
87148         QPainterPath::isEmpty() returns also true if there is one single
87149         MoveTo element inside, which makes sense but doesn't patch Webcore's
87150         is-empty definition.
87151
87152         * platform/graphics/qt/PathQt.cpp:
87153         (WebCore::Path::isEmpty): Use elementCount() == 0.
87154
87155 2009-07-13  Albert J. Wong  <ajwong@chromium.org>
87156
87157         Reviewed by Dimitri Glazkov.
87158
87159         Upstream fixes to NPV8Object.cpp that make ~30 layout tests pass.
87160         https://bugs.webkit.org/show_bug.cgi?id=27127
87161
87162         There were a number of bugs introduced during the last upstreaming
87163         effort that broke around 30 layout tests.  This fixes those bugs.
87164         It also has compile fixes to match the recent cutting apart of
87165         V8Proxy.
87166
87167         * bindings/v8/NPV8Object.cpp:
87168         (freeV8NPObject):
87169         (npCreateV8ScriptObject):
87170         (NPN_Invoke):
87171         (NPN_InvokeDefault):
87172         (NPN_EvaluateHelper):
87173         (NPN_SetException):
87174         (NPN_Construct):
87175
87176 2009-07-13  Mads Ager  <ager@chromium.org>
87177
87178         Reviewed by Adam Barth.
87179
87180         Fix memory leak in the V8 binding layer. 
87181         https://bugs.webkit.org/show_bug.cgi?id=27163
87182
87183         Reinitializing the context is not necessary when clearing the proxy for navigation
87184         and it will lead us to hold on to an empty context for each frame.
87185
87186         Test for empty context instead of empty global object handle when
87187         updating the document for a context.
87188
87189         * bindings/v8/V8Proxy.cpp:
87190         (WebCore::V8Proxy::clearForNavigation):
87191         (WebCore::V8Proxy::updateDocument):
87192
87193 2009-07-13  John Gregg  <johnnyg@google.com>
87194
87195         Reviewed by David Levin.
87196
87197         Correct the logic to determine if a V8 callback returns a value.
87198         https://bugs.webkit.org/show_bug.cgi?id=27155
87199
87200         * bindings/v8/custom/V8CustomVoidCallback.cpp:
87201         (WebCore::invokeCallback):
87202         - Don't crash if result.IsEmpty().
87203
87204 2009-07-13  Drew Wilson  <atwilson@google.com>
87205
87206         Reviewed by David Levin.
87207
87208         Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
87209         https://bugs.webkit.org/show_bug.cgi?id=26932
87210
87211         Initial IDL definition and bindings for SharedWorkers.
87212
87213         * Configurations/FeatureDefines.xcconfig:
87214         Added new files for SharedWorker support.
87215         * DerivedSources.make:
87216         Added new files for SharedWorker support.
87217         * GNUmakefile.am:
87218         Added new files for SharedWorker support.
87219         * WebCore.gypi:
87220         Added new files for SharedWorker support.
87221         * WebCore.pro:
87222         Added new files for SharedWorker support.
87223         * WebCore.xcodeproj/project.pbxproj:
87224         Added new files for SharedWorker support.
87225         * bindings/js/JSAbstractWorkerCustom.cpp: Added.
87226         (WebCore::JSAbstractWorker::mark):
87227         Custom mark handler that marks the event listeners.
87228         (WebCore::JSAbstractWorker::addEventListener):
87229         (WebCore::JSAbstractWorker::removeEventListener):
87230         (WebCore::JSAbstractWorker::toJS):
87231         Custom toJS handler which differentiates between various subclasses.
87232         * bindings/js/JSDOMWindowCustom.cpp:
87233         (WebCore::JSDOMWindow::sharedWorker):
87234         SharedWorker constructor (only enabled when SHARED_WORKERS is
87235         enabled).
87236         * bindings/js/JSEventTarget.cpp:
87237         (WebCore::toJS):
87238         (WebCore::toEventTarget):
87239         Added support for converting to/from SharedWorkers.
87240         * bindings/js/JSSharedWorkerConstructor.cpp: Added.
87241         (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
87242         (WebCore::constructSharedWorker):
87243         (WebCore::JSSharedWorkerConstructor::getConstructData):
87244         * bindings/js/JSSharedWorkerConstructor.h: Added.
87245         (WebCore::JSSharedWorkerConstructor::classInfo):
87246         * bindings/js/JSSharedWorkerCustom.cpp: Added.
87247         (WebCore::JSSharedWorker::mark):
87248         Custom mark function that marks the internal MessagePort.
87249         * bindings/v8/DOMObjectsInclude.h:
87250         Updated to include new header files.
87251         * bindings/v8/V8Index.cpp:
87252         * bindings/v8/V8Index.h:
87253         * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Added.
87254         (WebCore::getEventListener):
87255         (WebCore::ACCESSOR_GETTER):
87256         (WebCore::ACCESSOR_SETTER):
87257         (WebCore::CALLBACK_FUNC_DECL):
87258         V8 handlers for add/removeEventListener().
87259         * bindings/v8/custom/V8CustomBinding.h:
87260         * bindings/v8/custom/V8SharedWorkerCustom.cpp: Added.
87261         (WebCore::CALLBACK_FUNC_DECL):
87262         Custom constructor for SharedWorker.
87263         * dom/EventTarget.cpp:
87264         (WebCore::EventTarget::toSharedWorker):
87265         * dom/EventTarget.h:
87266         * page/DOMWindow.idl:
87267         * workers/AbstractWorker.cpp: Added.
87268         (WebCore::AbstractWorker::AbstractWorker):
87269         Common base class for SharedWorker and (soon) Worker. The functions below were copied from Worker.cpp.
87270         This is the first step in refactoring Worker to derive from AbstractWorker to enable code sharing.
87271         (WebCore::AbstractWorker::~AbstractWorker):
87272         (WebCore::AbstractWorker::addEventListener):
87273         (WebCore::AbstractWorker::removeEventListener):
87274         (WebCore::AbstractWorker::dispatchEvent):
87275         (WebCore::AbstractWorker::dispatchLoadErrorEvent):
87276         (WebCore::AbstractWorker::dispatchScriptErrorEvent):
87277         * workers/AbstractWorker.h: Added.
87278         Definitions of functionality shared by Worker.h and SharedWorker.h. In a future patch, Worker will derive from AbstractWorker.
87279         (WebCore::AbstractWorker::scriptExecutionContext):
87280         (WebCore::AbstractWorker::setOnerror):
87281         (WebCore::AbstractWorker::onerror):
87282         (WebCore::AbstractWorker::eventListeners):
87283         (WebCore::AbstractWorker::refEventTarget):
87284         (WebCore::AbstractWorker::derefEventTarget):
87285         * workers/AbstractWorker.idl: Added.
87286         * workers/SharedWorker.cpp: Added.
87287         (WebCore::SharedWorker::SharedWorker):
87288         (WebCore::SharedWorker::~SharedWorker):
87289         * workers/SharedWorker.h: Added.
87290         (WebCore::SharedWorker::create):
87291         (WebCore::SharedWorker::port):
87292         (WebCore::SharedWorker::toSharedWorker):
87293         * workers/SharedWorker.idl: Added.
87294
87295 2009-07-13  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
87296
87297         Reviewed by Simon Hausmann.
87298
87299         [Qt] Cleanup - Remove prf install target
87300         https://bugs.webkit.org/show_bug.cgi?id=27191
87301
87302         qtwebkit.prf has been removed; this cleans up the related
87303         install target as well.
87304
87305         * WebCore.pro: Remove prf install target
87306
87307 2009-07-12  Adam Barth  <abarth@webkit.org>
87308
87309         Reviewed by Oliver Hunt.
87310
87311         Facebook Chat is broken due to XSS auditor
87312         https://bugs.webkit.org/show_bug.cgi?id=27179
87313
87314         Instead of just using the script's URL as to detect an XSS attack, we
87315         now use a bit of context before the URL.  In particular, we use the
87316         bytes from the beginning of the attribute name to the end of the
87317         attribute value.  In virtually all injection attacks, the attacker
87318         would need to supply the attribute name as well as the attribute value.
87319         However, in the Facebook false positive, the attribute name is not
87320         present in the URL.
87321
87322         Tests: http/tests/security/xssAuditor/script-tag-src-redirect-safe.html
87323                http/tests/security/xssAuditor/script-tag-with-source-double-quote.html
87324                http/tests/security/xssAuditor/script-tag-with-source-no-quote.html
87325
87326         * html/HTMLTokenizer.cpp:
87327         (WebCore::HTMLTokenizer::parseTag):
87328         * html/HTMLTokenizer.h:
87329         * page/XSSAuditor.cpp:
87330         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
87331         * page/XSSAuditor.h:
87332
87333 2009-07-12  Keishi Hattori  <casey.hattori@gmail.com>
87334
87335         Reviewed by Timothy Hatcher.
87336
87337         Refactor ConsoleMessage to add MessageType attribute.
87338         https://bugs.webkit.org/show_bug.cgi?id=20625
87339
87340         * bindings/js/JSCustomXPathNSResolver.cpp:
87341         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
87342         * bindings/js/JSDOMWindowBase.cpp:
87343         (WebCore::JSDOMWindowBase::printErrorMessage):
87344         * dom/Document.cpp:
87345         (WebCore::Document::reportException):
87346         (WebCore::Document::addMessage):
87347         * dom/Document.h:
87348         * dom/ScriptExecutionContext.h:
87349         * html/HTMLParser.cpp:
87350         (WebCore::HTMLParser::reportErrorToConsole):
87351         * inspector/ConsoleMessage.cpp:
87352         (WebCore::ConsoleMessage::ConsoleMessage):
87353         (WebCore::ConsoleMessage::addToConsole):
87354         (WebCore::ConsoleMessage::isEqual):
87355         * inspector/ConsoleMessage.h:
87356         * inspector/InspectorController.cpp:
87357         (WebCore::InspectorController::addMessageToConsole):
87358         (WebCore::InspectorController::startGroup):
87359         (WebCore::InspectorController::endGroup):
87360         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
87361         (WebCore::InspectorController::addStartProfilingMessageToConsole):
87362         (WebCore::InspectorController::count):
87363         * inspector/InspectorController.h:
87364         * inspector/front-end/Console.js:
87365         (WebInspector.Console.prototype.addMessage):
87366         (WebInspector.ConsoleMessage): Added type property.
87367         (WebInspector.ConsoleMessage.prototype.toMessageElement):
87368         (WebInspector.ConsoleMessage.prototype.toString):
87369         (WebInspector.ConsoleMessage.prototype.isEqual):
87370         (WebInspector.ConsoleCommandResult):
87371         (WebInspector.ConsoleGroup.prototype.addMessage):
87372         (WebInspector.ConsoleGroup.prototype._titleClicked):
87373         * inspector/front-end/Resource.js:
87374         (WebInspector.Resource.prototype._addTip):
87375         (WebInspector.Resource.prototype._checkWarning):
87376         * inspector/front-end/inspector.css: Changed ".console-group-title-level" to ".console-group-title"
87377         * inspector/front-end/inspector.js:
87378         (WebInspector.addMessageToConsole):
87379         * loader/DocLoader.cpp:
87380         (WebCore::DocLoader::printAccessDeniedMessage):
87381         * loader/EmptyClients.h:
87382         (WebCore::EmptyChromeClient::addMessageToConsole):
87383         * loader/FrameLoader.cpp:
87384         (WebCore::FrameLoader::reportLocalLoadFailed):
87385         (WebCore::FrameLoader::shouldAllowNavigation):
87386         * page/ChromeClient.h:
87387         * page/Console.cpp:
87388         (WebCore::printMessageSourceAndLevelPrefix):
87389         (WebCore::Console::addMessage):
87390         (WebCore::Console::error):
87391         (WebCore::Console::log):
87392         (WebCore::Console::dir):
87393         (WebCore::Console::trace):
87394         (WebCore::Console::assertCondition):
87395         (WebCore::Console::timeEnd):
87396         (WebCore::Console::warn):
87397         * page/Console.h: Added MessageType enum.
87398         (WebCore::):
87399         * page/DOMWindow.cpp:
87400         (WebCore::DOMWindow::postMessageTimerFired):
87401         * page/XSSAuditor.cpp:
87402         (WebCore::XSSAuditor::canEvaluate):
87403         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
87404         (WebCore::XSSAuditor::canLoadObject):
87405         * svg/SVGDocumentExtensions.cpp:
87406         (WebCore::SVGDocumentExtensions::reportWarning):
87407         (WebCore::SVGDocumentExtensions::reportError):
87408         * wml/WMLErrorHandling.cpp:
87409         (WebCore::reportWMLError):
87410         * workers/GenericWorkerTask.h: Added GenericWorkerTask8 for the extra argument.
87411         (WebCore::GenericWorkerTask8::create):
87412         (WebCore::GenericWorkerTask8::GenericWorkerTask8):
87413         (WebCore::GenericWorkerTask8::performTask):
87414         (WebCore::createCallbackTask):
87415         * workers/WorkerContext.cpp:
87416         (WebCore::WorkerContext::addMessage):
87417         (WebCore::WorkerContext::importScripts):
87418         * workers/WorkerContext.h:
87419         * workers/WorkerMessagingProxy.cpp:
87420         (WebCore::postConsoleMessageTask):
87421         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
87422         * workers/WorkerMessagingProxy.h:
87423         * workers/WorkerObjectProxy.h:
87424         * xml/XMLHttpRequest.cpp:
87425         (WebCore::reportUnsafeUsage):
87426         (WebCore::XMLHttpRequest::didFinishLoading):
87427         * xml/XSLTProcessor.cpp:
87428         (WebCore::XSLTProcessor::parseErrorFunc):
87429
87430 2009-07-12  Nate Chapin  <japhet@chromium.org>
87431
87432         Reviewed by Dimitri Glazkov.
87433
87434         Upstream UndetectableHTMLCollection.idl as HTMLAllCollection.idl.
87435
87436         https://bugs.webkit.org/show_bug.cgi?id=27132
87437
87438         * bindings/scripts/CodeGeneratorV8.pm:
87439         * bindings/v8/DOMObjectsInclude.h:
87440         * bindings/v8/DerivedSourcesAllInOne.cpp:
87441         * bindings/v8/V8DOMWrapper.cpp:
87442         (WebCore::V8DOMWrapper::getTemplate):
87443         (WebCore::V8DOMWrapper::instantiateV8Object):
87444         * bindings/v8/V8Index.cpp:
87445         * bindings/v8/V8Index.h:
87446         * dom/HTMLAllCollection.idl: Added.
87447
87448 2009-07-12  Joseph Pecoraro  <joepeck02@gmail.com>
87449
87450         Reviewed by Maciej Stachowiak.
87451
87452         Inspector: Duplicate Computation in Autocompletion
87453         https://bugs.webkit.org/show_bug.cgi?id=26778
87454
87455         * inspector/front-end/TextPrompt.js:
87456         (WebInspector.TextPrompt.prototype._completionsReady):
87457
87458 2009-07-12  Dan Bernstein  <mitz@apple.com>
87459
87460         Reviewed by Maciej Stachowiak.
87461
87462         https://bugs.webkit.org/show_bug.cgi?id=27196
87463         Rename bidi.cpp to RenderBlockLineLayout.cpp and remove bidi.h
87464
87465         * GNUmakefile.am: Updated.
87466         * WebCore.gypi: Updated.
87467         * WebCore.pro: Updated.
87468         * WebCore.vcproj/WebCore.vcproj: Updated.
87469         * WebCore.xcodeproj/project.pbxproj: Updated.
87470         * WebCoreSources.bkl: Updated.
87471         * rendering/RenderBlock.h: Removed unnecessary forward declaration and
87472             updated comments.
87473         * rendering/RenderBlockLineLayout.cpp: Copied from WebCore/rendering/bidi.cpp.
87474             Removed unnecessary #include statements.
87475         (WebCore::BidiRun::BidiRun): Moved here from bidi.h.
87476         (WebCore::RenderBlock::layoutInlineChildren): Removed outdated comment.
87477         * rendering/bidi.cpp: Removed.
87478         * rendering/bidi.h: Removed.
87479
87480 2009-07-12  Dan Bernstein  <mitz@apple.com>
87481
87482         - Windows build fix
87483
87484         * platform/graphics/cg/PDFDocumentImage.cpp:
87485         (WebCore::PDFDocumentImage::dataChanged):
87486
87487 2009-07-12  Dan Bernstein  <mitz@apple.com>
87488
87489         Reviewed by Sam Weinig.
87490
87491         - Image cleanup
87492
87493         * platform/graphics/BitmapImage.cpp:
87494         (WebCore::BitmapImage::destroyDecodedData): Use the data() accessor
87495         instead of the m_data member.
87496         (WebCore::BitmapImage::dataChanged): Ditto.
87497         * platform/graphics/Image.h: Re-ordered #includes and class
87498         declarations. Removed the drawPatternCallback() declaration. Made member
87499         variables private.
87500         * platform/graphics/cg/ImageCG.cpp:
87501         (WebCore::drawPatternCallback): Changed this from a member function to a
87502         static function.
87503         * platform/graphics/cg/PDFDocumentImage.cpp:
87504         (WebCore::PDFDocumentImage::dataChanged): Use the data() accessor
87505         instead of the m_data member.
87506         * svg/graphics/SVGImage.cpp:
87507         (WebCore::SVGImage::dataChanged): Ditto.
87508
87509 2009-07-12  Daniel Bates  <dbates@intudata.com>
87510
87511         Reviewed by Darin Adler.
87512
87513         https://bugs.webkit.org/show_bug.cgi?id=27189
87514         
87515         Fixes insufficient check in XSSAuditor::canSetBaseElementURL that caused 
87516         XSSAuditor to incorrectly block HTML Base elements whose base path coincided 
87517         with the URL of the page.
87518
87519         Test: http/tests/security/xssAuditor/base-href-safe3.html
87520
87521         * page/XSSAuditor.cpp:
87522         (WebCore::XSSAuditor::canSetBaseElementURL): Changed conditional to only call 
87523         XSSAuditor::findInRequest() if the host in the page URL disagrees with the host 
87524         in the base element URL.
87525
87526 2009-07-12  Darin Adler  <darin@apple.com>
87527
87528         Reviewed by Dan Bernstein.
87529
87530         Text searching with ICU should take the user's default locale into account
87531         https://bugs.webkit.org/show_bug.cgi?id=27184
87532         rdar://problem/6812121
87533
87534         No simple way to test this since it's dependent on user locale.
87535         After this, the user's default locale is used only on Mac.
87536
87537         * editing/TextIterator.cpp:
87538         (WebCore::createSearcher): Pass result of the currentSearchLocaleID
87539         function as the locale.
87540
87541         * platform/text/TextBreakIteratorInternalICU.h: Added declaration of
87542         currentSearchLocaleID function.
87543
87544         * platform/text/android/TextBreakIteratorInternalICU.cpp:
87545         (WebCore::currentSearchLocaleID): Added. Returns the empty string.
87546         * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
87547         (WebCore::currentSearchLocaleID): Ditto.
87548         * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp:
87549         (WebCore::currentSearchLocaleID): Ditto.
87550
87551         * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
87552         (WebCore::textBreakLocalePreference): Added. Returns the value of
87553         the AppleTextBreakLocale preference.
87554         (WebCore::topLanguagePreference): Added. Returns the value of the
87555         first item in the AppleLanguages preference.
87556         (WebCore::canonicalLanguageIdentifier): Added. Cover for the
87557         CFLocaleCreateCanonicalLanguageIdentifierFromString function.
87558         (WebCore::getLocale): Added. Transfers the locale from a CFStringRef
87559         into a buffer.
87560         (WebCore::getSearchLocale): Added. Calls topLanguagePreference,
87561         canonicalLanguageIdentifier, and getLocale.
87562         (WebCore::currentSearchLocaleID): Added. Calls getSearchLocale once.
87563         (WebCore::getTextBreakLocale): Changed to call
87564         textBreakLocalePreference, topLanguagePreference,
87565         canonicalLanguageIdentifier, and getLocale.
87566
87567         * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
87568         (WebCore::currentSearchLocaleID): Added. Returns the empty string.
87569         * platform/wx/TemporaryLinkStubs.cpp:
87570         (WebCore::currentSearchLocaleID): Ditto.
87571
87572 2009-07-12  Xan Lopez  <xlopez@igalia.com>
87573
87574         Reviewed by Gustavo Noronha.
87575
87576         https://bugs.webkit.org/show_bug.cgi?id=25415
87577         [GTK][ATK] Please implement support for get_text_at_offset
87578
87579         Create a PangoLayout that properly represents the visual
87580         appearance of the text in the web page so that the line boundary
87581         modes of getText{At,Before,After}Offset work correctly.
87582
87583         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
87584         (UTF16ToUTF8):
87585         (g_substr):
87586         (convertUniCharToUTF8):
87587         (getPangoLayoutForAtk):
87588
87589 2009-07-11  Oliver Hunt  <oliver@apple.com>
87590
87591         Reviewed by Simon Fraser.
87592
87593         Bug 27187 - Match Gecko behaviour for canvas path mutation APIs on an empty path
87594         <https://bugs.webkit.org/show_bug.cgi?id=27187>
87595
87596         Simple API change, check for the empty path and add appropriate point if necessary.
87597
87598         Test: fast/canvas/canvas-modify-emptyPath.html
87599
87600         * Info.plist:
87601         * WebCore.xcodeproj/project.pbxproj:
87602         * html/CanvasRenderingContext2D.cpp:
87603         (WebCore::CanvasRenderingContext2D::lineTo):
87604         (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
87605         (WebCore::CanvasRenderingContext2D::bezierCurveTo):
87606
87607 2009-07-11  Eric Carlson  <eric.carlson@apple.com>
87608
87609         Reviewed by Antti Koivisto.
87610
87611         HTMLMediaElement.canPlayType "maybe" and "probably" reversed
87612         https://bugs.webkit.org/show_bug.cgi?id=27186
87613
87614         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
87615         (WebCore::MediaPlayerPrivate::supportsType):
87616             Return "probably" if type has codecs parameter.
87617
87618         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
87619         (WebCore::MediaPlayerPrivate::supportsType):
87620             Ditto.
87621
87622         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
87623         (WebCore::MediaPlayerPrivate::supportsType):
87624             Ditto.
87625
87626 2009-07-11  Brady Eidson  <beidson@apple.com>
87627
87628         Reviewed by Mark Rowe.
87629
87630         A worker-thread inspired follow-up for:
87631         https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
87632         REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
87633
87634         * xml/XMLHttpRequest.cpp:
87635         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Don't perform the XHR compensation when the XHR
87636           is running on a worker thread. Accessing the global Cache data structures from a non-main thread is
87637           not currently supported.
87638
87639 2009-07-11  Simon Fraser  <simon.fraser@apple.com>
87640
87641         Enable support for accelerated compositing and 3d transforms on Leopard.
87642         <https://bugs.webkit.org/show_bug.cgi?id=20166>
87643         <rdar://problem/6120614>
87644
87645         Reviewed by Oliver Hunt.
87646
87647         * Configurations/FeatureDefines.xcconfig:
87648
87649 2009-07-11  Simon Hausmann  <hausmann@webkit.org>
87650
87651         Fix the Qt build after r45724.
87652
87653         * bridge/qt/qt_instance.cpp:
87654         (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
87655         * bridge/qt/qt_runtime.cpp:
87656         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
87657
87658 2009-07-10  Daniel Bates  <dbates@intudata.com>
87659
87660         Reviewed by Adam Barth.
87661
87662         https://bugs.webkit.org/show_bug.cgi?id=26921
87663
87664         Implements support for HTML entities, so XSSAuditor can protect against attacks
87665         encoded with HTML entities.
87666
87667         Tests: http/tests/security/xssAuditor/inline-event-HTML-entities.html
87668                http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html
87669                http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html
87670                http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html
87671                http/tests/security/xssAuditor/javascript-link-HTML-entities.html
87672                http/tests/security/xssAuditor/link-onclick-entities.html
87673                http/tests/security/xssAuditor/script-tag-entities.html
87674                http/tests/security/xssAuditor/script-tag-with-source-entities.html
87675
87676         * page/XSSAuditor.cpp:
87677         (WebCore::XSSAuditor::canEvaluate):
87678         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
87679         (WebCore::XSSAuditor::decodeURL): Modified to call WebCore::XSSAuditor::decodeHTMLEntities
87680         to decode HTML entities.
87681         (WebCore::XSSAuditor::decodeHTMLEntities): Added method to decode HTML entities.
87682         (WebCore::XSSAuditor::findInRequest):
87683         * page/XSSAuditor.h:
87684
87685 2009-07-10  David Kilzer  <ddkilzer@apple.com>
87686
87687         Bug 27007: Build fixes when ICONDATABASE is disabled
87688
87689         <https://bugs.webkit.org/show_bug.cgi?id=27007>
87690
87691         Reviewed by Sam Weinig.
87692
87693         * WebCore.xcodeproj/project.pbxproj: Added IconDatabaseNone.cpp
87694         to the project.
87695         * loader/icon/IconDatabase.cpp: Added
87696         #if ENABLE(ICONDATABASE)/#endif macro guard.
87697         * loader/icon/IconDatabase.h: Removed three public methods from
87698         #if ENABLE(ICONDATABASE)/#endif macro so that they may be
87699         stubbed out in IconDatabaseNone.cpp.
87700         * loader/icon/IconDatabaseNone.cpp: Added
87701         #if !ENABLE(ICONDATABASE)/#endif macro guard.
87702         (WebCore::IconDatabase::importIconURLForPageURL): Added.
87703         (WebCore::IconDatabase::importIconDataForIconURL): Added.
87704         (WebCore::IconDatabase::shouldStopThreadActivity): Added.
87705
87706 2009-07-10  Daniel Bates  <dbates@intudata.com>
87707
87708         Reviewed by Adam Barth.
87709
87710         https://bugs.webkit.org/show_bug.cgi?id=27151
87711
87712         Fixes issue where JavaScript URLs that contain null- and non-null control characters can
87713         bypass XSSAuditor.
87714
87715         Tests: http/tests/security/xssAuditor/javascript-link-control-char.html
87716                http/tests/security/xssAuditor/javascript-link-null-char.html
87717                http/tests/security/xssAuditor/javascript-link.html
87718
87719         * bindings/js/ScriptController.cpp:
87720         (WebCore::ScriptController::evaluate): Separated out logic for JavaScript URLs from 
87721         inline scripts. For JavaScript URLs, calls XSSAuditor::canEvaluateJavaScriptURL.
87722         * bindings/v8/ScriptController.cpp:
87723         (WebCore::ScriptController::evaluate): Made similar changes to evaluate() as in
87724         bindings/js/ScriptController.cpp.
87725         * page/XSSAuditor.cpp:
87726         (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Separated out logic for JavaScript URLs
87727         into its own method.
87728         * page/XSSAuditor.h:
87729
87730 2009-07-10  Shinichiro Hamaji  <hamaji@chromium.org>
87731
87732         Reviewed by David Kilzer.
87733
87734         WebKit needs a style linting tool
87735         https://bugs.webkit.org/show_bug.cgi?id=25884
87736
87737         Fix bunch of style issues by autofix of cpplint.
87738         This patch is created to demonstrate the autofix of cpplint.py.
87739
87740         No new testcases because it's a style fix
87741
87742         * css/CSSParser.cpp:
87743         (WebCore::CSSParser::parseMediaQuery):
87744         (WebCore::CSSParser::validUnit):
87745         (WebCore::CSSParser::parseValue):
87746         (WebCore::skipCommaInDashboardRegion):
87747         (WebCore::CSSParser::parseDashboardRegions):
87748         (WebCore::ShadowParseContext::commitValue):
87749         (WebCore::ShadowParseContext::commitLength):
87750         (WebCore::ShadowParseContext::commitColor):
87751         (WebCore::BorderImageParseContext::commitNumber):
87752         (WebCore::BorderImageParseContext::commitWidth):
87753         (WebCore::BorderImageParseContext::commitRule):
87754         (WebCore::BorderImageParseContext::commitBorderImage):
87755         (WebCore::CSSParser::lex):
87756         (WebCore::CSSParser::text):
87757         * css/CSSStyleSelector.cpp:
87758         (WebCore::CSSStyleSelector::applyProperty):
87759         * css/MediaList.cpp:
87760         (WebCore::MediaList::deleteMedium):
87761         * css/MediaQuery.h:
87762         * css/MediaQueryEvaluator.cpp:
87763         (WebCore::parseAspectRatio):
87764         * css/MediaQueryEvaluator.h:
87765         * css/MediaQueryExp.h:
87766         (WebCore::MediaQueryExp::operator==):
87767         * css/WebKitCSSMatrix.h:
87768         * dom/Comment.h:
87769         * dom/Document.cpp:
87770         (WebCore::Document::setFocusedNode):
87771         * dom/Document.h:
87772         (WebCore::Document::setHasDashboardRegions):
87773         * dom/DocumentFragment.cpp:
87774         (WebCore::DocumentFragment::nodeName):
87775         * dom/DocumentFragment.h:
87776         * dom/DynamicNodeList.h:
87777         * dom/EditingText.h:
87778         * dom/Element.cpp:
87779         (WebCore::Element::dispatchAttrAdditionEvent):
87780         * dom/NamedAttrMap.cpp:
87781         (WebCore::NamedNodeMap::item):
87782         * dom/Node.cpp:
87783         (WebCore::Node::nodeValue):
87784         (WebCore::Node::nodeIndex):
87785         * dom/NodeRareData.h:
87786         (WebCore::NodeListsNodeData::create):
87787         * dom/Notation.h:
87788         * dom/ProcessingInstruction.h:
87789         * dom/Range.cpp:
87790         (WebCore::Range::processContents):
87791         * dom/StyledElement.cpp:
87792         (WebCore::toHex):
87793         * dom/XMLTokenizerLibxml2.cpp:
87794         (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
87795         (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
87796         (WebCore::PendingCallbacks::):
87797         (WebCore::OffsetBuffer::readOutBytes):
87798         (WebCore::handleElementNamespaces):
87799         (WebCore::handleElementAttributes):
87800         (WebCore::attributesStartElementNsHandler):
87801         * dom/XMLTokenizerQt.cpp:
87802         (WebCore::attributesStartElementNsHandler):
87803         (WebCore::XMLTokenizer::parseStartElement):
87804         * editing/ApplyStyleCommand.cpp:
87805         (WebCore::ApplyStyleCommand::applyInlineStyle):
87806         * editing/DeleteSelectionCommand.cpp:
87807         (WebCore::DeleteSelectionCommand::removeNode):
87808         * editing/Editor.cpp:
87809         (WebCore::Editor::pasteAsPlainText):
87810         * editing/SelectionController.cpp:
87811         (WebCore::SelectionController::directionOfEnclosingBlock):
87812         * editing/SmartReplaceICU.cpp:
87813         (WebCore::addAllCodePoints):
87814         * history/HistoryItem.cpp:
87815         (WebCore::HistoryItem::icon):
87816         (WebCore::HistoryItem::adoptVisitCounts):
87817         * html/CanvasStyle.cpp:
87818         (WebCore::CanvasStyle::applyFillColor):
87819         * html/HTMLAnchorElement.cpp:
87820         (WebCore::HTMLAnchorElement::setActive):
87821         (WebCore::HTMLAnchorElement::isLiveLink):
87822         * html/HTMLAppletElement.h:
87823         * html/HTMLAudioElement.h:
87824         * html/HTMLBRElement.h:
87825         * html/HTMLBaseElement.h:
87826         * html/HTMLBaseFontElement.h:
87827         * html/HTMLDListElement.h:
87828         * html/HTMLDirectoryElement.h:
87829         * html/HTMLFieldSetElement.cpp:
87830         (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
87831         * html/HTMLFormElement.cpp:
87832         (WebCore::HTMLFormElement::reset):
87833         * html/HTMLHRElement.cpp:
87834         (WebCore::HTMLHRElement::parseMappedAttribute):
87835         * html/HTMLHeadElement.h:
87836         * html/HTMLHtmlElement.h:
87837         * html/HTMLImageElement.h:
87838         (WebCore::HTMLImageElement::setLoadManually):
87839         * html/HTMLInputElement.cpp:
87840         (WebCore::HTMLInputElement::selection):
87841         * html/HTMLIsIndexElement.h:
87842         * html/HTMLMarqueeElement.cpp:
87843         * html/HTMLMediaElement.h:
87844         (WebCore::HTMLMediaElement::):
87845         * html/HTMLMenuElement.h:
87846         * html/HTMLMetaElement.h:
87847         * html/HTMLModElement.h:
87848         * html/HTMLOListElement.h:
87849         * html/HTMLOptionElement.cpp:
87850         (WebCore::HTMLOptionElement::childrenChanged):
87851         * html/HTMLParamElement.h:
87852         * html/HTMLQuoteElement.h:
87853         * html/HTMLStyleElement.h:
87854         * html/HTMLTableCaptionElement.h:
87855         * html/HTMLTableCellElement.h:
87856         * html/HTMLTableColElement.h:
87857         * html/HTMLTableSectionElement.cpp:
87858         (WebCore::HTMLTableSectionElement::deleteRow):
87859         * html/HTMLTitleElement.h:
87860         * html/HTMLTokenizer.cpp:
87861         (WebCore::HTMLTokenizer::parseNonHTMLText):
87862         (WebCore::HTMLTokenizer::parseEntity):
87863         (WebCore::HTMLTokenizer::parseTag):
87864         (WebCore::HTMLTokenizer::write):
87865         * html/HTMLUListElement.h:
87866         * html/HTMLVideoElement.h:
87867         * html/TimeRanges.h:
87868         (WebCore::TimeRanges::Range::Range):
87869         * inspector/InspectorController.cpp:
87870         (WebCore::InspectorController::enableResourceTracking):
87871         (WebCore::InspectorController::disableResourceTracking):
87872         * inspector/InspectorFrontend.cpp:
87873         (WebCore::InspectorFrontend::newInspectorJSONObject):
87874         * page/Console.cpp:
87875         (WebCore::Console::addMessage):
87876         * page/EventHandler.cpp:
87877         (WebCore::EventHandler::handleMousePressEvent):
87878         (WebCore::EventHandler::selectCursor):
87879         (WebCore::EventHandler::defaultKeyboardEventHandler):
87880         * page/Frame.cpp:
87881         (WebCore::Frame::jsDefaultStatusBarText):
87882         * page/android/DragControllerAndroid.cpp:
87883         (WebCore::DragController::dragOperation):
87884         * page/android/EventHandlerAndroid.cpp:
87885         (WebCore::EventHandler::tabsToAllControls):
87886         (WebCore::EventHandler::eventActivatedView):
87887         * page/animation/AnimationController.cpp:
87888         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
87889         * page/gtk/DragControllerGtk.cpp:
87890         (WebCore::DragController::dragOperation):
87891         * page/qt/DragControllerQt.cpp:
87892         * page/win/DragControllerWin.cpp:
87893         (WebCore::DragController::isCopyKeyDown):
87894         * page/win/FrameWin.h:
87895         * rendering/RenderSlider.cpp:
87896         (WebCore::RenderSlider::mouseEventOffsetToThumb):
87897         * rendering/style/RenderStyle.h:
87898         (WebCore::InheritedFlags::setVerticalAlignLength):
87899         (WebCore::InheritedFlags::setUnicodeBidi):
87900         (WebCore::InheritedFlags::setCursor):
87901         * rendering/style/RenderStyleConstants.h:
87902         (WebCore::):
87903         * rendering/style/SVGRenderStyleDefs.h:
87904         * rendering/style/StyleInheritedData.h:
87905         (WebCore::StyleInheritedData::operator!=):
87906         * storage/DatabaseTask.h:
87907         * svg/GradientAttributes.h:
87908         * svg/LinearGradientAttributes.h:
87909         * svg/PatternAttributes.h:
87910         * svg/RadialGradientAttributes.h:
87911         * svg/SVGAnimatedPathData.h:
87912         * svg/SVGAnimatedPoints.h:
87913         * svg/SVGAnimationElement.h:
87914         * svg/SVGClipPathElement.h:
87915         * svg/SVGElementInstance.h:
87916         * svg/SVGFEBlendElement.cpp:
87917         (WebCore::SVGFEBlendElement::build):
87918         * svg/SVGFEBlendElement.h:
87919         * svg/SVGFEColorMatrixElement.cpp:
87920         (WebCore::SVGFEColorMatrixElement::build):
87921         * svg/SVGFEComponentTransferElement.cpp:
87922         (WebCore::SVGFEComponentTransferElement::build):
87923         * svg/SVGFECompositeElement.cpp:
87924         (WebCore::SVGFECompositeElement::build):
87925         * svg/SVGFEDiffuseLightingElement.cpp:
87926         (WebCore::SVGFEDiffuseLightingElement::build):
87927         * svg/SVGFEDisplacementMapElement.cpp:
87928         (WebCore::SVGFEDisplacementMapElement::build):
87929         * svg/SVGFEDistantLightElement.h:
87930         * svg/SVGFEFloodElement.cpp:
87931         (WebCore::SVGFEFloodElement::build):
87932         * svg/SVGFEFloodElement.h:
87933         * svg/SVGFEFuncAElement.h:
87934         * svg/SVGFEFuncBElement.h:
87935         * svg/SVGFEFuncGElement.h:
87936         * svg/SVGFEFuncRElement.h:
87937         * svg/SVGFEGaussianBlurElement.cpp:
87938         (WebCore::SVGFEGaussianBlurElement::build):
87939         * svg/SVGFEImageElement.cpp:
87940         (WebCore::SVGFEImageElement::build):
87941         * svg/SVGFEMergeElement.cpp:
87942         (WebCore::SVGFEMergeElement::build):
87943         * svg/SVGFEOffsetElement.cpp:
87944         (WebCore::SVGFEOffsetElement::build):
87945         * svg/SVGFEPointLightElement.h:
87946         * svg/SVGFESpecularLightingElement.cpp:
87947         (WebCore::SVGFESpecularLightingElement::build):
87948         * svg/SVGFESpotLightElement.h:
87949         * svg/SVGFETileElement.cpp:
87950         (WebCore::SVGFETileElement::build):
87951         * svg/SVGLineElement.cpp:
87952         (WebCore::SVGLineElement::parseMappedAttribute):
87953         * svg/SVGList.h:
87954         * svg/SVGListTraits.h:
87955         (WebCore::):
87956         * svg/SVGMPathElement.h:
87957         * svg/SVGMetadataElement.h:
87958         * svg/SVGParserUtilities.cpp:
87959         (WebCore::SVGPathParser::parseSVG):
87960         (WebCore::SVGPathParser::calculateArc):
87961         * svg/SVGPathElement.h:
87962         * svg/SVGPathSegClosePath.h:
87963         * svg/SVGSVGElement.h:
87964         * svg/SVGSetElement.h:
87965         * svg/SVGSwitchElement.h:
87966         * svg/SVGTextPathElement.cpp:
87967         (WebCore::SVGTextPathElement::parseMappedAttribute):
87968         * svg/SVGTextPathElement.h:
87969         * svg/SVGTitleElement.h:
87970         * svg/SVGTransformable.cpp:
87971         (WebCore::):
87972         * svg/SVGViewSpec.cpp:
87973         (WebCore::):
87974         * svg/animation/SMILTime.cpp:
87975         (WebCore::operator+):
87976         (WebCore::operator-):
87977         (WebCore::operator*):
87978         * svg/animation/SVGSMILElement.h:
87979         * svg/graphics/SVGResource.cpp:
87980         (WebCore::clientMap):
87981         * wml/WMLPostfieldElement.cpp:
87982         (WebCore::WMLPostfieldElement::value):
87983         * wml/WMLSetvarElement.cpp:
87984         (WebCore::WMLSetvarElement::value):
87985         * workers/WorkerRunLoop.cpp:
87986         * xml/XMLHttpRequest.cpp:
87987         (WebCore::XMLHttpRequest::dropProtection):
87988         * xml/XPathPath.h:
87989
87990 2009-07-10  Eric Carlson  <eric.carlson@apple.com>
87991
87992         Reviewed by Simon Fraser.
87993
87994         <rdar://problem/7049066>.
87995         Update SnowLeopard media controller layout.
87996
87997         * css/mediaControlsQT.css:
87998             Update for new layout.
87999         * html/HTMLMediaElement.cpp:
88000         (WebCore::HTMLMediaElement::movieLoadType):
88001             Added to replace isStreaming.
88002         * html/HTMLMediaElement.h:
88003             Declare movieLoadType, remove isStreaming.
88004
88005         * rendering/MediaControlElements.cpp:
88006         (WebCore::MediaControlStatusDisplayElement::update):
88007             Use movieLoadType instead of isStreaming.
88008         (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
88009             MediaControlElement is the base class, not HTMLInputElement.
88010         (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
88011             Ditto.
88012         (WebCore::MediaControlRewindButtonElement::rendererIsNeeded):
88013             Don't display rewind button for live streams.
88014         (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded):
88015             MediaControlInputElement is the base class, not HTMLInputElement.
88016         * rendering/MediaControlElements.h:
88017
88018         * rendering/RenderThemeMac.h:
88019         * rendering/RenderThemeMac.mm:
88020         (WebCore::getMediaUIPartStateFlags):
88021             New, return wkDrawMediaUIPart flags.
88022         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
88023         (WebCore::RenderThemeMac::paintMediaMuteButton):
88024         (WebCore::RenderThemeMac::paintMediaPlayButton):
88025         (WebCore::RenderThemeMac::paintMediaSeekBackButton):
88026         (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
88027         (WebCore::RenderThemeMac::paintMediaSliderTrack):
88028         (WebCore::RenderThemeMac::paintMediaSliderThumb):
88029         (WebCore::RenderThemeMac::paintMediaRewindButton):
88030         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
88031         (WebCore::RenderThemeMac::paintMediaControlsBackground):
88032         (WebCore::RenderThemeMac::paintMediaCurrentTime):
88033         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
88034             Use getMediaUIPartStateFlags.
88035
88036 2009-07-10  Michelangelo De Simone  <micdesim@gmail.com>
88037
88038         Reviewed by Adele Peterson.
88039
88040         https://bugs.webkit.org/show_bug.cgi?id=19562
88041         Added build stuff and stub for the ValidityState class, part of HTML5
88042         section Forms:
88043         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
88044
88045         Test: fast/forms/ValidityState-001.html
88046
88047         * DerivedSources.cpp: Fix aimed to include ValidityState files
88048         * DerivedSources.make: ditto
88049         * GNUmakefile.am: ditto
88050         * WebCore.gypi: ditto
88051         * WebCore.pro: ditto
88052         * WebCore.vcproj/WebCore.vcproj: ditto
88053         * WebCore.xcodeproj/project.pbxproj: ditto
88054         * WebCoreSources.bkl: ditto
88055         * html/HTMLButtonElement.idl: "validity" attribute
88056         * html/HTMLFieldSetElement.idl: ditto
88057         * html/HTMLFormControlElement.cpp: object getter
88058         (WebCore::HTMLFormControlElement::validity):
88059         * html/HTMLFormControlElement.h: ditto
88060         * html/HTMLInputElement.idl: "validity" attribute
88061         * html/HTMLSelectElement.idl: ditto
88062         * html/HTMLTextAreaElement.idl: ditto
88063         * html/ValidityState.cpp: Added.
88064         (WebCore::ValidityState::ValidityState):
88065         (WebCore::ValidityState::valid): validation flag
88066         * html/ValidityState.h: Added.
88067         (WebCore::ValidityState::create): creation routine
88068         (WebCore::ValidityState::control): ValidityState's parent getter
88069         (WebCore::ValidityState::valueMissing): validation flag
88070         (WebCore::ValidityState::typeMismatch): ditto
88071         (WebCore::ValidityState::patternMismatch): ditto
88072         (WebCore::ValidityState::tooLong): ditto
88073         (WebCore::ValidityState::rangeUnderflow): ditto
88074         (WebCore::ValidityState::rangeOverflow): ditto
88075         (WebCore::ValidityState::stepMismatch): ditto
88076         (WebCore::ValidityState::customError): ditto
88077         * html/ValidityState.idl: Added.
88078
88079 2009-07-10  Brady Eidson  <beidson@apple.com>
88080
88081         Style cleanup over my last patch.
88082
88083         * xml/XMLHttpRequest.cpp:
88084         (WebCore::XMLHttpRequest::~XMLHttpRequest):
88085
88086 2009-07-10  Kevin McCullough  <kmccullough@apple.com>
88087
88088         Reviewed by Geoffrey Garen.
88089
88090         * inspector/JavaScriptCallFrame.cpp:
88091         (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
88092         * inspector/JavaScriptCallFrame.h: New helper method, used below.
88093
88094         * inspector/JavaScriptDebugServer.cpp:
88095         (WebCore::JavaScriptDebugServer::detach): In the special case
88096         where we detach from a window currently executing JavaScript,
88097         manually tear down our representation of the JavaScript
88098         call stack, since we won't get any more callbacks from JavaScriptCore
88099         to automatically tear it down. It's too bad that WebCore is
88100         responsible for this kind of tracking -- in the future, it would
88101         be nice if more of the breakpoint handling was inside of JavaScriptCore.
88102
88103 2009-07-10  Brady Eidson  <beidson@apple.com>
88104
88105         Reviewed by Antti Koivisto.
88106
88107         https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
88108         REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
88109
88110         With this test we ended up going over the maximum-connections-per-host limit that CFNetwork expected.
88111         When that happened, the first request that was over the limit ended up in a bizarre state where it 
88112         wasn't fully serviced until after the long running XHR was complete.
88113
88114         Loader and Loader::Host work together to try to not exceed the max-connection limit but non-cache
88115         resources - such as XHR - could still end up causing this limit to be exceeded.
88116
88117         This fix adds a workaround specifically for XHR while we hash out a more thorough solution that will
88118         handle this at the resource handle level.
88119
88120         * loader/loader.cpp:
88121         (WebCore::Loader::nonCacheRequestInFlight):
88122         (WebCore::Loader::nonCacheRequestComplete):
88123         (WebCore::Loader::Host::Host):
88124         (WebCore::Loader::Host::nonCacheRequestInFlight):
88125         (WebCore::Loader::Host::nonCacheRequestComplete):
88126         (WebCore::Loader::Host::servePendingRequests): Take nonCacheRequestsInFlight into account.
88127         * loader/loader.h:
88128         (WebCore::Loader::Host::processingResource): Take nonCacheRequestsInFlight into account.
88129
88130         * xml/XMLHttpRequest.cpp:
88131         (WebCore::XMLHttpRequest::XMLHttpRequest):
88132         (WebCore::XMLHttpRequest::~XMLHttpRequest): 
88133         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Bump the nonCacheRequestInFlight count.
88134         (WebCore::XMLHttpRequest::didFail): Decrement that count if the Loader was notified.
88135         (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
88136
88137 2009-07-10  Antti Koivisto  <antti@apple.com>
88138
88139         Try to unbreak non-Mac build.
88140
88141         * page/ChromeClient.h:
88142         (WebCore::ChromeClient::formDidFocus):
88143         (WebCore::ChromeClient::formDidBlur):
88144
88145 2009-07-10  Beth Dakin  <bdakin@apple.com>
88146
88147         Reviewed by Anders Carlsson.
88148
88149         The rest of the fix for <rdar://problem/7038831> REGRESSION (TOT): 
88150         In Mail, a crash occurs at WebCore::Widget::afterMouseDown() after 
88151         clicking To Do's close box
88152
88153         Make the Widget* in passMouseDownEventToWidget() a RefPtr.
88154
88155         * page/mac/EventHandlerMac.mm:
88156         (WebCore::EventHandler::passMouseDownEventToWidget):
88157
88158 2009-07-10  Eric Seidel  <eric@webkit.org>
88159
88160         Reviewed by Adam Barth.
88161
88162         rename getDOMStructure calls w/o JSGlobalObject* to deprecatedGetDOMStructure
88163         https://bugs.webkit.org/show_bug.cgi?id=27157
88164
88165         This is the first step to fixing
88166         https://bugs.webkit.org/show_bug.cgi?id=27088
88167
88168         * WebCore.xcodeproj/project.pbxproj:
88169         * bindings/js/JSDOMBinding.h:
88170         (WebCore::deprecatedGetDOMStructure):
88171         (WebCore::createDOMObjectWrapper):
88172         (WebCore::createDOMNodeWrapper):
88173         * bindings/js/JSNamedNodesCollection.cpp:
88174         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
88175         * bindings/js/JSRGBColor.cpp:
88176         (WebCore::JSRGBColor::JSRGBColor):
88177         * bridge/objc/objc_runtime.mm:
88178         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
88179         * bridge/runtime_array.cpp:
88180         (JSC::RuntimeArray::RuntimeArray):
88181         * bridge/runtime_method.cpp:
88182         (JSC::RuntimeMethod::RuntimeMethod):
88183         * bridge/runtime_object.cpp:
88184         (JSC::RuntimeObjectImp::RuntimeObjectImp):
88185
88186 2009-07-10  Greg Bolsinga  <bolsinga@apple.com>
88187
88188         Reviewed by Antti Koivisto.
88189
88190         Add delegate methods about focus and blur and state change
88191         https://bugs.webkit.org/show_bug.cgi?id=27153
88192
88193         Call the appropriate new ChromeClient methods for focus and blur.
88194
88195         * html/HTMLFormControlElement.cpp:
88196         (WebCore::HTMLFormControlElement::dispatchFocusEvent):
88197         (WebCore::HTMLFormControlElement::dispatchBlurEvent):
88198         * html/HTMLFormControlElement.h:
88199         * loader/EmptyClients.h:
88200         (WebCore::EmptyChromeClient::formDidFocus):
88201         (WebCore::EmptyChromeClient::formDidBlur):
88202         * page/ChromeClient.h:
88203
88204 2009-07-10  Steve Falkenburg  <sfalken@apple.com>
88205
88206         <rdar://problem/7048741> REGRESSION: Error about missing SwMenuX.dll opening pages with Shockwave
88207         
88208         Use altered search path while loading plug-ins. This modifies the DLL search order
88209         to look in the directory containing the plug-in even if a call to SetDllDirectory
88210         was previously made. Use of SetDllDirectory removes the current directory from the search path,
88211         breaking the previous strategy for locating any dependent DLLs of the plug-in.
88212         
88213         Reviewed by Jon Honeycutt.
88214
88215         * plugins/win/PluginPackageWin.cpp:
88216         (WebCore::PluginPackage::load): Use LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH
88217
88218 2009-07-10  Adam Roben  <aroben@apple.com>
88219
88220         Sort all our Xcode projects
88221
88222         Accomplished using sort-Xcode-project-file.
88223
88224         Requested by Dave Kilzer.
88225
88226         * WebCore.xcodeproj/project.pbxproj:
88227
88228 2009-07-10  Adam Langley  <agl@google.com>
88229
88230         Reviewed by Darin Fisher.
88231
88232         Chromium Linux: use disabled images for disabled widgets.
88233
88234         https://bugs.webkit.org/show_bug.cgi?id=27106
88235
88236         Previously, checkboxes and radio controls rendered the same even if disabled.
88237         The Chromium side of this change is r20224.
88238
88239         * rendering/RenderThemeChromiumSkia.cpp:
88240         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
88241         (WebCore::RenderThemeChromiumSkia::paintRadio):
88242
88243 2009-07-10  Simon Fraser  <simon.fraser@apple.com>
88244
88245         Reviewed by John Sullivan.
88246
88247         Fix crash when changing the zoom level in http://iphone.akamai.com/
88248         <rdar://problem/7029077>
88249
88250         RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(),
88251         which could potentially destroy that compositing layer, causing a crash.
88252         Prevent this from happening by not doing a compositing update from paintIntoLayer().
88253
88254         The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(),
88255         and still does the compositing update. The new updateLayerListsIfNeeded() does not touch
88256         compositing layers, and is still called from paintIntoLayer().
88257         
88258         * rendering/RenderLayer.cpp:
88259         (WebCore::RenderLayer::paintLayer):
88260         (WebCore::RenderLayer::hitTestLayer):
88261         (WebCore::RenderLayer::updateLayerListsIfNeeded):
88262         (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
88263         * rendering/RenderLayer.h:
88264
88265 2009-07-10  Drew Wilson  <atwilson@google.com>
88266
88267         Reviewed by Darin Adler.
88268
88269         Need to remove UsesManualToJSImplementation() in favor of CustomToJS.
88270         https://bugs.webkit.org/show_bug.cgi?id=27010
88271
88272         Added support for CustomToJS IDL attribute to replace the hard-coded class list in UsesManualToJSImplementation().
88273
88274         This is just a cleanup of existing functionality, so existing LayoutTests adequately cover this patch.
88275
88276         * bindings/scripts/CodeGeneratorJS.pm:
88277         Removed UsesManualToJSImplementation(), added support for CustomToJS attribute.
88278         * css/CSSRule.idl:
88279         * css/CSSValue.idl:
88280         * css/StyleSheet.idl:
88281         * dom/Document.idl:
88282         * dom/Event.idl:
88283         * dom/Node.idl:
88284         * html/ImageData.idl:
88285         * svg/SVGElementInstance.idl:
88286         * svg/SVGPathSeg.idl:
88287         Added CustomToJS attribute to all the above IDL files.
88288
88289 2009-07-10  Dan Bernstein  <mitz@apple.com>
88290
88291         - fix the build by reverting the ill-advised r45711
88292
88293         * page/FrameView.cpp:
88294         (WebCore::FrameView::scrollToAnchor):
88295
88296 2009-07-09  Brian Weinstein  <bweinstein@apple.com>
88297
88298         Reviewed by Tim Hatcher.
88299
88300         Updated WebCore.base.exp to add some needed functions.
88301
88302         * WebCore.base.exp:
88303
88304 2009-07-10  Dan Bernstein  <mitz@apple.com>
88305
88306         - address a review comment from Simon Fraser which I forgot to include
88307           in the last check-in
88308
88309         * page/FrameView.cpp:
88310         (WebCore::FrameView::scrollToAnchor): Pass true to getRect() for
88311         maximum transform friendliness!
88312
88313 2009-07-10  Dan Bernstein  <mitz@apple.com>
88314
88315         Reviewed by Simon Fraser.
88316
88317         - fix https://bugs.webkit.org/show_bug.cgi?id=27137
88318           <rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due
88319           to infinite recursion into FrameLoader::gotoAnchor() ->
88320           FrameView::layout()
88321
88322         Test: fast/loader/goto-anchor-infinite-layout.html
88323
88324         * loader/FrameLoader.cpp:
88325         (WebCore::FrameLoader::gotoAnchor): Moved the code to update layout,
88326         find the renderer to scroll to, and scroll from here to methods on
88327         FrameView, and replaced it with a call to
88328         FrameView::maintainScrollPositionAtAnchor().
88329         (WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor()
88330         instead of setLockedToAnchor().
88331
88332         * page/FrameView.cpp:
88333         (WebCore::FrameView::FrameView): Removed initialization of
88334         m_lockedToAnchor.
88335         (WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead
88336         of m_lockedToAnchor.
88337         (WebCore::FrameView::layout): Removed the code related to scrolling to
88338         the anchor from here, because scrolling can trigger events which
88339         invalidate the layout, and as such, belongs with the post-layout tasks.
88340         (WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called
88341         with a node scrolls the view to the top of that node and maintains it
88342         scrolled to the top of the node during subsequent layouts, until
88343         this function is called with 0 or other things trigger scrolling.
88344         (WebCore::FrameView::scrollRectIntoViewRecursively): Reset
88345         m_maintainScrollPositionAnchor.
88346         (WebCore::FrameView::setScrollPosition): Ditto.
88347         (WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of
88348         m_maintainScrollPositionAnchor, if it is set.
88349         (WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor().
88350         (WebCore::FrameView::setWasScrolledByUser): Reset
88351         m_maintainScrollPositionAnchor.
88352
88353         * page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(),
88354         and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and
88355         m_maintainScrollPositionAnchor.
88356
88357 2009-07-04  Sriram Yadavalli  <sriram.yadavalli@nokia.com>
88358
88359         Reviewed by Simon Hausmann.
88360
88361         https://bugs.webkit.org/show_bug.cgi?id=26439
88362
88363         QtWebKit fails in loading www.nytimes.com in Windows/Linux
88364
88365         QNetworkReplyHandler is ignoring content associated with 401 error.
88366         This causes the XHR response handling to fail.
88367
88368         Simon: Added also ProxyAuthenticationRequiredError, to handle the same
88369         case when going through proxies, as suggested by Prasanth.
88370
88371         * platform/network/qt/QNetworkReplyHandler.cpp:
88372         (WebCore::QNetworkReplyHandler::finish):
88373
88374 2009-07-10  Simon Hausmann  <simon.hausmann@nokia.com>
88375
88376         Reviewed by Holger Freyther.
88377
88378         Enable HTML 5 Messaging to fix message channel Qt DRT failures in
88379         fast/events.
88380
88381         * WebCore.pro:
88382
88383 2009-07-09  Roland Steiner  <rolandsteiner@google.com>
88384
88385         Reviewed by Maciej Stachowiak.
88386
88387         added InlineBox::isLeaf()
88388         firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore.
88389         firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree.   
88390         Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox()
88391         Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes
88392
88393         Currently, these methods are called on RootInlineBox objects only, so above changes should not have
88394         any observable effect (only the removal of the square performance behavior could apply, 
88395         but the conditions for that are probably of a rather theoretical nature).
88396
88397         * rendering/InlineBox.cpp:
88398         (WebCore::InlineBox::nextLeafChild):
88399         (WebCore::InlineBox::prevLeafChild):
88400         * rendering/InlineBox.h:
88401         (WebCore::InlineBox::isLeaf):
88402         * rendering/InlineFlowBox.cpp:
88403         (WebCore::InlineFlowBox::firstLeafChild):
88404         (WebCore::InlineFlowBox::lastLeafChild):
88405         * rendering/InlineFlowBox.h:
88406         (WebCore::InlineFlowBox::firstChild):
88407         (WebCore::InlineFlowBox::lastChild):
88408         (WebCore::InlineFlowBox::isLeaf):
88409         * rendering/RootInlineBox.cpp:
88410         (WebCore::RootInlineBox::closestLeafChildForXPos):
88411
88412 2009-07-09  Roland Steiner  <rolandsteiner@google.com>
88413
88414         Reviewed by Maciej Stachowiak.
88415
88416         Added InlineBox::baselinePosition() and lineHeight() methods
88417         (adapted remaining code accordingly to use those methods)
88418
88419         No change in functionality.
88420
88421         * rendering/InlineBox.h:
88422         (WebCore::InlineBox::baselinePosition):
88423         (WebCore::InlineBox::lineHeight):
88424         * rendering/InlineFlowBox.cpp:
88425         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
88426         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
88427         (WebCore::InlineFlowBox::placeBoxesVertically):
88428
88429 2009-07-09  Oliver Hunt  <oliver@apple.com>
88430
88431         Reviewed by Maciej Stachowiak.
88432
88433         Bug 27142 - canPlayType() should return empty string for unsupported content
88434         <https://bugs.webkit.org/show_bug.cgi?id=27142>
88435
88436         Return "" instead of "no" for unsupport media types. 
88437
88438         * html/HTMLMediaElement.cpp:
88439         (WebCore::HTMLMediaElement::canPlayType):
88440
88441 2009-07-09  Roland Steiner  <rolandsteiner@google.com>
88442
88443         Reviewed by Maciej Stachowiak.
88444
88445         Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags
88446         in that their end tags are optional if followed by <rp>/<rt>.
88447
88448         Also specify a new accessibility role "annotation" for <rp> and <rt>.
88449
88450         Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing
88451         is not affected by whether ruby is rendered properly or not (in fact, it may 
88452         be more profound without ruby layouting, since the contents of <rp> are not hidden).
88453
88454         Test: fast/ruby/parse-rp.html
88455
88456         * accessibility/AccessibilityObject.h:
88457         (WebCore::):
88458         * accessibility/AccessibilityRenderObject.cpp:
88459         (WebCore::AccessibilityRenderObject::roleValue):
88460         * html/HTMLElement.cpp:
88461         (WebCore::HTMLElement::endTagRequirement):
88462         (WebCore::HTMLElement::tagPriority):
88463         (WebCore::inlineTagList):
88464         * html/HTMLParser.cpp:
88465         (WebCore::HTMLParser::rpCreateErrorCheck):
88466         (WebCore::HTMLParser::rtCreateErrorCheck):
88467         (WebCore::HTMLParser::getNode):
88468         * html/HTMLParser.h:
88469         * html/HTMLTagNames.in:
88470
88471 2009-07-09  Dmitry Titov  <dimich@chromium.org>
88472
88473         Not reviewed, fix for previous commit.
88474
88475         The change http://trac.webkit.org/changeset/45695 did not correctly
88476         enabled GTL and QT build flags. This caused layout tests failure.
88477         This is speculative fix for those failures.
88478
88479         * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag.
88480         * WebCore.pro: ditto.
88481         * page/DOMWindow.idl: touched to cause recompile.
88482         * workers/WorkerContext.idl: ditto.
88483
88484 2009-07-09  Drew Wilson  <atwilson@google.com>
88485
88486         Reviewed by Alexey Proskuryakov.
88487
88488         https://bugs.webkit.org/show_bug.cgi?id=26903
88489
88490         Turned on CHANNEL_MESSAGING by default because the MessageChannel API
88491         is now implemented for Web Workers and is reasonably stable.
88492
88493         Tests: fast/events/message-channel-gc-2.html
88494                fast/events/message-channel-gc-3.html
88495                fast/events/message-channel-gc-4.html
88496                fast/events/message-channel-gc.html
88497                fast/events/message-channel-listener-circular-ownership.html
88498                fast/events/message-port-clone.html
88499                fast/events/message-port-constructor-for-deleted-document.html
88500                fast/events/message-port-deleted-document.html
88501                fast/events/message-port-deleted-frame.html
88502                fast/events/message-port-inactive-document.html
88503                fast/events/message-port-no-wrapper.html
88504                fast/events/message-port.html
88505                fast/workers/worker-cloneport.html
88506                fast/workers/worker-messageport-gc.html
88507                fast/workers/worker-messageport.html
88508
88509         * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING.
88510         * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto.
88511         * WebCore/WebCore.vcproj/build-generated-files.sh: ditto.
88512         * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers.
88513         * WebCore/workers/WorkerContext.idl: ditto.
88514
88515
88516 2009-07-09  Pierre d'Herbemont  <pdherbemont@apple.com>
88517
88518         Reviewed by Simon Fraser.
88519
88520         Full page zoom breaks remaining and elapsed time display in the <video> controller.
88521         https://bugs.webkit.org/show_bug.cgi?id=27123
88522
88523         We are changing the size of the time remaining and time elapsed field, to
88524         automatically hide them, when the controller is too short.
88525
88526         Because we toggle the size between 0 and the previous value of the
88527         controller, we miss any width change that may occur during full page zoom,
88528         and we fail to restore a correct width.
88529
88530         This change fixes that problem by using a cloned style on which we
88531         set the width to 0, and restoring the previous style when going back to
88532         the normal width.
88533
88534         We take care about properly using the cloned style or the pseudo style,
88535         by overriding styleForElement().
88536
88537         * rendering/MediaControlElements.cpp:
88538         (WebCore::MediaControlElement::styleForElement):
88539         (WebCore::MediaControlElement::attach):
88540         (WebCore::MediaControlElement::updateStyle):
88541         (WebCore::MediaControlInputElement::styleForElement):
88542         (WebCore::MediaControlInputElement::attach):
88543         (WebCore::MediaControlInputElement::updateStyle):
88544         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
88545         (WebCore::MediaControlTimeDisplayElement::styleForElement):
88546         (WebCore::MediaControlTimeDisplayElement::setVisible):
88547         * rendering/MediaControlElements.h:
88548         * rendering/RenderMedia.cpp:
88549         (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure
88550         we take in account the zoom level when deciding if we should hide the 
88551         ellapsed and remaining time.
88552
88553 2009-07-09  Michael Nordman  <michaeln@google.com>
88554
88555         Reviewed by Darin Adler.
88556
88557         Fix chromium build bustage due to Widget being a RefCounted class.
88558         https://bugs.webkit.org/show_bug.cgi?id=27139
88559
88560         * platform/chromium/PopupMenuChromium.cpp:
88561         * platform/chromium/PopupMenuChromium.h:
88562
88563 2009-07-09  Chris Fleizach  <cfleizach@apple.com>
88564
88565         Reviewed by Darin Adler.
88566
88567         Bug 27130 - Need to implement ARIA role="toolbar"
88568         https://bugs.webkit.org/show_bug.cgi?id=27130
88569
88570         Test: platform/mac/accessibility/aria-toolbar.html
88571
88572         * accessibility/AccessibilityRenderObject.cpp:
88573         (WebCore::RoleEntry::):
88574         * accessibility/mac/AccessibilityObjectWrapper.mm:
88575         (-[AccessibilityObjectWrapper roleDescription]):
88576
88577 2009-07-09  Dimitri Glazkov  <dglazkov@chromium.org>
88578
88579         Reviewed by Darin Fisher.
88580
88581         [Chromium] Upstream WebCore.gypi, the project file for Chromium build.
88582         https://bugs.webkit.org/show_bug.cgi?id=27135
88583
88584         * WebCore.gypi: Added.
88585
88586 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
88587
88588         A more robust fix for <rdar://problem/6930280> Reproducible crash at
88589         USA Today photo gallery
88590
88591         Reviewed by Steve Falkenburg.
88592
88593         * plugins/win/PluginMessageThrottlerWin.cpp:
88594         (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
88595         Protect the PluginView from destruction before calling its window proc.
88596
88597 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
88598
88599         <rdar://problem/6978804> WER #16: Repro Access Violation in
88600         WebCore::PluginView::bindingInstance (1310178023)
88601
88602         Reviewed by Darin Adler.
88603
88604         * plugins/PluginView.cpp:
88605         (WebCore::PluginView::bindingInstance):
88606         Protect the PluginView from destruction before calling NPN_GetValue. If
88607         the renderer for the PluginView was destroyed during the call, and the
88608         PluginView's ref count is now 1, return null.
88609
88610 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
88611
88612         Speculative fix for <rdar://problem/6991251> WER #13: Crash in
88613         WebKit!WebCore::PluginView::performRequest+203 (1311461169)
88614
88615         Reviewed by Darin Adler.
88616
88617         * plugins/PluginView.cpp:
88618         (WebCore::PluginView::performRequest):
88619         Protect the PluginView from destruction before performing a load.
88620         Removed some trailing whitespace.
88621
88622 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
88623
88624         Build fix.
88625
88626         * inspector/JavaScriptDebugServer.cpp:
88627         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
88628
88629 2009-07-09  Beth Dakin and Jon Honeycutt <bdakin@apple.com>
88630
88631         Reviewed by Dave Hyatt.
88632
88633         Make Widget RefCounted to fix or make fixable:
88634
88635         <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 
88636         at WebCore::Widget::afterMouseDown() after clicking To Do's close 
88637         box
88638         <rdar://problem/6978804> WER #16: Repro Access Violation in 
88639         WebCore::PluginView::bindingInstance (1310178023)
88640         -and-
88641         <rdar://problem/6991251> WER #13: Crash in WebKit!
88642         WebCore::PluginView::performRequest+203 (1311461169) 
88643
88644         * loader/EmptyClients.h:
88645         (WebCore::EmptyFrameLoaderClient::createPlugin):
88646         Changed to return PassRefPtr
88647         (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
88648         Ditto.
88649
88650         * loader/FrameLoader.cpp:
88651         (WebCore::FrameLoader::loadSubframe):
88652         (WebCore::FrameLoader::loadPlugin):
88653         Make the widget variable a RefPtr. Use .get() when passing it to
88654         RenderPart::setWidget().
88655         (WebCore::FrameLoader::createJavaAppletWidget):
88656         Make the widget variable a RefPtr.
88657
88658         * loader/FrameLoader.h:
88659         Changed the return type of createJavaAppletWidget().
88660
88661         * loader/FrameLoaderClient.h:
88662         Change the return types of createPlugin() and 
88663         createJavaAppletWidget().
88664
88665         * page/Frame.cpp:
88666         (WebCore::Frame::createView):
88667         No need to call .get() since setWidget() takes a RefPtr.
88668
88669         * page/FrameView.cpp:
88670         (WebCore::FrameView::layoutIfNeededRecursive):
88671         children() now returns a HashSet of RefPtrs.
88672
88673         * page/FrameView.h:
88674         Remove inheritance from RefCounted; we pick this up from ScrollView
88675         through Widget.
88676
88677         * platform/ScrollView.cpp:
88678         (WebCore::ScrollView::addChild):
88679         addChild() now takes a PassRefPtr and m_children now keeps a 
88680         HashSet of RefPtrs.
88681
88682         * platform/ScrollView.h:
88683         ScrollView constructor is now protected.
88684         (WebCore::ScrollView::children):
88685         m_children is now a HashSet of RefPtrs.
88686
88687         * platform/Scrollbar.h:
88688         Remove inheritance from RefCounted; we pick this up from ScrollView
88689         through Widget.
88690
88691         * platform/Widget.h:
88692         Inherit from RefCounted. Cleaned up some whitespace. Make m_widget 
88693         a RefPtr.
88694
88695         * plugins/PluginView.cpp:
88696         (WebCore::PluginView::create):
88697         Adopt the PluginView when returning it.
88698
88699         * plugins/PluginView.h:
88700         Changed create() to return a PassRefPtr.
88701
88702         * rendering/RenderApplet.cpp:
88703         Receive result in a RefPtr when calling createJavaAppletWidget().
88704
88705         * rendering/RenderPart.cpp:
88706         (WebCore::RenderPart::setWidget): 
88707         setWidget() now takes a PassRefPtr. Also removed the manual ref of 
88708         FrameViews. This is handled by having m_widget be a RefPtr. Removed 
88709         deleteWidget().
88710
88711         * rendering/RenderPart.h:
88712         Removed override of deleteWidget().
88713
88714         * rendering/RenderWidget.cpp:
88715         (WebCore::RenderWidget::destroy):
88716         (WebCore::RenderWidget::setWidget):
88717         (WebCore::RenderWidget::paint):
88718         (WebCore::RenderWidget::setOverlapTestResult):
88719         (WebCore::RenderWidget::updateWidgetPosition):
88720         Use .get().
88721         (WebCore::RenderWidget::clearWidget):
88722         Don't call deleteWidget(). It was removed. 
88723
88724         * rendering/RenderWidget.h:
88725         Removed deleteWidget(). Made m_widget a RefPtr.
88726         (WebCore::RenderWidget::widget):
88727         Use .get().
88728
88729 2009-07-09  Chris Fleizach  <cfleizach@apple.com>
88730
88731         Reviewed by Darin Adler.
88732
88733         Bug 27129 - AX: possible assertion for a non-native image in accessibility
88734         https://bugs.webkit.org/show_bug.cgi?id=27129 
88735
88736         It's possible for an image that is not really an image to assert, because its renderer
88737         is turned into a RenderImage.
88738
88739         Test: accessibility/non-native-image-crash.html
88740
88741         * accessibility/AccessibilityRenderObject.cpp:
88742         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
88743         (WebCore::RoleEntry::):
88744         * accessibility/mac/AccessibilityObjectWrapper.mm:
88745         (-[AccessibilityObjectWrapper roleDescription]):
88746
88747 2009-07-09  Simon Fraser  <simon.fraser@apple.com>
88748
88749         Build fix for SnowLeopard.
88750         
88751         Avoid using the contentsTransform methods if not on Leopard, because
88752         we don't need to call them.
88753
88754         * platform/graphics/mac/GraphicsLayerCA.mm:
88755         (WebCore::GraphicsLayerCA::updateContentsTransform):
88756         * platform/graphics/mac/WebLayer.mm:
88757         (-[WebLayer setNeedsDisplayInRect:]):
88758         * platform/graphics/mac/WebTiledLayer.mm:
88759         (-[WebTiledLayer setNeedsDisplayInRect:]):
88760
88761 2009-07-09  Simon Fraser  <simon.fraser@apple.com>
88762
88763         Reviewed by Dave Hyatt
88764
88765         Improve the appearance of text in compositing layers when -[CALayer geometryFlipped]
88766         is not available.
88767         <rdar://problem/6120614>
88768
88769         * platform/graphics/GraphicsLayer.h:
88770         (WebCore::GraphicsLayer::setContentsOrientation):
88771         (WebCore::GraphicsLayer::contentsOrientation):
88772         * platform/graphics/GraphicsLayer.cpp:
88773         (WebCore::GraphicsLayer::GraphicsLayer):
88774         Add a m_contentsOrientation member and getter/setter to control whether
88775         the contents of this layer have a transform applied to them before display.
88776
88777         * platform/graphics/mac/GraphicsLayerCA.h:
88778         New method to return the default contents orientation.
88779
88780         * platform/graphics/mac/GraphicsLayerCA.mm:
88781         (WebCore::flipTransform):
88782         Convenience method to return a transform with a Y flip.
88783
88784         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
88785         (WebCore::GraphicsLayerCA::setSize):
88786         After the size changes we have to update the contentsTransform.
88787
88788         (WebCore::GraphicsLayerCA::setGeometryOrientation):
88789         (WebCore::GraphicsLayerCA::geometryOrientation):
88790         If -setGeometryFlipped: is not available, use a children transform.
88791         
88792         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
88793         Tiled layers have issues with flipped contentsTransform, so just use
88794         top-down drawing for them. Call updateContentsTransform() to set the
88795         new contents transform after swapping layers.
88796         
88797         (WebCore::GraphicsLayerCA::defaultContentsOrientation):
88798         Use bottom-up when -geometryFlipped is not available, otherwise top-down.
88799         
88800         (WebCore::GraphicsLayerCA::updateContentsTransform):
88801         Set the layer contents transform based on contentsOrientation().
88802
88803         (WebCore::GraphicsLayerCA::setContentsLayer):
88804         We have to manually flip contents layers if we're not using -geometryFlipped.
88805         
88806         * platform/graphics/mac/WebLayer.h:
88807         * platform/graphics/mac/WebLayer.mm:
88808         Do early return if layerContents is nil. Flip the CTM if the layer has
88809         bottom-up coordinates, so that CG sees a CTM with no flip.
88810         Do the CGContextRestoreGState() after drawing the debug indicator.
88811         
88812         (-[WebLayer setNeedsDisplayInRect:]):
88813         * platform/graphics/mac/WebTiledLayer.mm:
88814         (-[WebTiledLayer setNeedsDisplayInRect:]):
88815         Need to map the dirty rect through the contentsTransform.
88816
88817 2009-07-09  Alexey Proskuryakov  <ap@webkit.org>
88818
88819         Reviewed by Geoff Garen.
88820
88821         <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects.
88822
88823         Can't test this functionality with layout tests.
88824
88825         * WebCore.base.exp:
88826         * history/HistoryItem.cpp:
88827         (WebCore::HistoryItem::recordVisitAtTime):
88828         (WebCore::HistoryItem::visited):
88829         * history/HistoryItem.h:
88830         Only increase visit count if explicitly told to. Now, some visits change last access time,
88831         but do not increase visit count.
88832
88833 2009-07-09  Eric Carlson  <eric.carlson@apple.com>
88834
88835         Reviewed by Simon Fraser.
88836
88837         <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3
88838
88839         Require QuickTime 7.6.3 or higher to enable the new media controller UI.
88840
88841         * rendering/RenderThemeMac.mm:
88842         (WebCore::mediaControllerTheme):
88843
88844 2009-07-09  Sam Weinig  <sam@webkit.org>
88845
88846         Reviewed by Beth Dakin.
88847
88848         Remove incorrect comment.
88849
88850         * page/MouseEventWithHitTestResults.h:
88851
88852 2009-07-09  Mads Ager  <ager@chromium.org>
88853
88854         Reviewed by Dimitri Glazkov.
88855
88856         Update the V8 bindings codegenerator to use the RGBColor::create
88857         method to handle refcounts for RGBColor objects correctly.
88858         
88859        * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects.
88860
88861 2009-07-09  Eric Carlson  <eric.carlson@apple.com>
88862
88863         Reviewed by Adele Peterson.
88864
88865         Crash in RenderMedia::styleDidChange.
88866         <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with 
88867         media element (RenderMedia::styleDidChange 115)
88868
88869         Speculative fix for crash in styleDidChange. Null check controller elements before tell
88870         them to update style.
88871
88872         * rendering/RenderMedia.cpp:
88873         (WebCore::RenderMedia::styleDidChange):
88874
88875 2009-07-09  Adam Barth  <abarth@webkit.org>
88876
88877         Reviewed by Dimitri Glazkov.
88878
88879         [V8] Move V8DOMWrapper to its own file
88880         https://bugs.webkit.org/show_bug.cgi?id=27121
88881
88882         * bindings/v8/V8DOMWrapper.cpp: Added.
88883         (WebCore::GetToStringName):
88884         (WebCore::ConstructorToString):
88885         (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
88886         (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
88887         (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
88888         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
88889         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
88890         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
88891         (WebCore::V8DOMWrapper::getTemplate):
88892         (WebCore::V8DOMWrapper::convertToV8Object):
88893         (WebCore::V8DOMWrapper::setHiddenWindowReference):
88894         (WebCore::V8DOMWrapper::domWrapperType):
88895         (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
88896         (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
88897         (WebCore::V8DOMWrapper::lookupDOMWrapper):
88898         (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
88899         (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
88900         (WebCore::V8DOMWrapper::instantiateV8Object):
88901         (WebCore::V8DOMWrapper::setDOMWrapper):
88902         (WebCore::V8DOMWrapper::maybeDOMWrapper):
88903         (WebCore::V8DOMWrapper::isDOMEventWrapper):
88904         (WebCore::V8DOMWrapper::isWrapperOfType):
88905         (WebCore::V8DOMWrapper::htmlElementType):
88906         (WebCore::V8DOMWrapper::svgElementType):
88907         (WebCore::V8DOMWrapper::convertEventToV8Object):
88908         (WebCore::):
88909         (WebCore::V8DOMWrapper::convertNodeToV8Object):
88910         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
88911         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
88912         (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
88913         (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
88914         (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
88915         (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
88916         (WebCore::V8DOMWrapper::convertWindowToV8Object):
88917         * bindings/v8/V8DOMWrapper.h: Added.
88918         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
88919         (WebCore::V8DOMWrapper::wrapCPointer):
88920         (WebCore::V8DOMWrapper::extractCPointer):
88921         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
88922         (WebCore::V8DOMWrapper::convertToV8Object):
88923         (WebCore::V8DOMWrapper::convertToNativeObject):
88924         (WebCore::V8DOMWrapper::convertToNativeEvent):
88925         (WebCore::V8DOMWrapper::extractCPointerImpl):
88926         (WebCore::V8DOMWrapper::instantiateV8Object):
88927         * bindings/v8/V8Proxy.cpp:
88928         * bindings/v8/V8Proxy.h:
88929
88930 2009-07-09  David Hyatt  <hyatt@apple.com>
88931
88932         Reviewed by Adele Peterson.
88933
88934         Crash in setFocusedFrame.
88935         <rdar://7032869> Crashing in setFocusedFrame on blogger.com.
88936
88937         Speculative fix for crasher in setFocusedFrame.  Make sure to ref both frames and fire
88938         the events only after the local member has been updated.
88939
88940         * page/FocusController.cpp:
88941         (WebCore::FocusController::setFocusedFrame):
88942
88943 2009-07-09  Eric Carlson  <eric.carlson@apple.com>
88944
88945         Reviewed by Adele Peterson.
88946
88947         Possible crashes when mouse clicks not dispatched because range input destroyed while 
88948         thumb is being dragged (e.g. scrub to end of movie)
88949         <rdar://problem/7037494> 
88950         https://bugs.webkit.org/show_bug.cgi?id=27101
88951
88952         Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to 
88953         get mouse events even when the mouse is moved outside of the node. This is done by putting
88954         EventHandler into a mode where it sends all mouse events to the node regardless of the
88955         actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the
88956         node is deleted while in this mode, the mouseUp is never sent and EventHandler continues
88957         to try to send events to the deleted node. This sometimes results in a crash, and sometimes
88958         in a page that doesn't respond to click events.
88959
88960         Tests: fast/forms/search-delete-while-cancel-button-clicked.html
88961                fast/forms/slider-delete-while-dragging-thumb.html
88962                media/audio-delete-while-slider-thumb-clicked.html
88963                media/audio-delete-while-step-button-clicked.html
88964
88965         * rendering/MediaControlElements.cpp:
88966         (WebCore::MediaControlSeekButtonElement::detach):
88967             New, call setCapturingMouseEventsNode if capturing mouse events.
88968         * rendering/MediaControlElements.h:
88969             Declare detach().
88970
88971         * rendering/RenderSlider.cpp:
88972         (WebCore::SliderThumbElement::detach):
88973             New, call setCapturingMouseEventsNode if capturing mouse events.
88974
88975         * rendering/TextControlInnerElements.cpp:
88976         (WebCore::SearchFieldCancelButtonElement::detach):
88977             New, call setCapturingMouseEventsNode if capturing mouse events.
88978         * rendering/TextControlInnerElements.h:
88979             Declare detach().
88980
88981 2009-07-09  Yury Semikhatsky  <yurys@chromium.org>
88982
88983         Reviewed by Dimitri Glazkov.
88984
88985         Enter the Frame's context before creating new objects in setContextDebugId.
88986
88987         https://bugs.webkit.org/show_bug.cgi?id=27112
88988
88989         * bindings/v8/V8Proxy.cpp:
88990         (WebCore::V8Proxy::setContextDebugId):
88991
88992 2009-07-09  Simon Hausmann  <hausmann@webkit.org>
88993
88994         Fix the Qt build.
88995
88996         * WebCore.pro: Add new storage impl files to the build.
88997
88998 2009-07-08  Adam Barth  <abarth@webkit.org>
88999
89000         Rubber stamped by Eric Seidel.
89001
89002         [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper
89003         https://bugs.webkit.org/show_bug.cgi?id=27107
89004
89005         This patch is just renaming.  Code motion will occur next.
89006
89007         * bindings/scripts/CodeGeneratorV8.pm:
89008         * bindings/v8/ScriptController.cpp:
89009         (WebCore::ScriptController::processingUserGesture):
89010         (WebCore::createScriptObject):
89011         (WebCore::ScriptController::createScriptObjectForPluginElement):
89012         * bindings/v8/ScriptObject.cpp:
89013         (WebCore::ScriptGlobalObject::set):
89014         * bindings/v8/ScriptObjectQuarantine.cpp:
89015         (WebCore::getQuarantinedScriptObject):
89016         * bindings/v8/V8AbstractEventListener.cpp:
89017         (WebCore::V8AbstractEventListener::handleEvent):
89018         (WebCore::V8AbstractEventListener::getReceiverObject):
89019         * bindings/v8/V8Collection.cpp:
89020         (WebCore::toOptionsCollectionSetter):
89021         * bindings/v8/V8Collection.h:
89022         (WebCore::getV8Object):
89023         (WebCore::getNamedPropertyOfCollection):
89024         (WebCore::nodeCollectionNamedPropertyGetter):
89025         (WebCore::getIndexedPropertyOfCollection):
89026         (WebCore::nodeCollectionIndexedPropertyGetter):
89027         (WebCore::nodeCollectionIndexedPropertyEnumerator):
89028         (WebCore::collectionIndexedPropertyEnumerator):
89029         (WebCore::collectionStringOrNullIndexedPropertyGetter):
89030         * bindings/v8/V8DOMMap.cpp:
89031         (WebCore::DOMData::handleWeakObject):
89032         (WebCore::DOMData::removeObjectsFromWrapperMap):
89033         * bindings/v8/V8GCController.cpp:
89034         (WebCore::enumerateDOMObjectMap):
89035         (WebCore::DOMObjectVisitor::visitDOMWrapper):
89036         (WebCore::GCPrologueVisitor::visitDOMWrapper):
89037         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
89038         * bindings/v8/V8Helpers.cpp:
89039         (WebCore::wrapNPObject):
89040         * bindings/v8/V8NodeFilterCondition.cpp:
89041         (WebCore::V8NodeFilterCondition::acceptNode):
89042         * bindings/v8/V8Proxy.cpp:
89043         (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
89044         (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
89045         (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
89046         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
89047         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
89048         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
89049         (WebCore::V8Proxy::evaluateInNewContext):
89050         (WebCore::V8Proxy::getConstructor):
89051         (WebCore::V8DOMWrapper::getTemplate):
89052         (WebCore::V8Proxy::retrieveWindow):
89053         (WebCore::V8Proxy::updateDocumentWrapperCache):
89054         (WebCore::V8Proxy::clearForNavigation):
89055         (WebCore::V8Proxy::installDOMWindow):
89056         (WebCore::setDOMExceptionHelper):
89057         (WebCore::V8DOMWrapper::convertToV8Object):
89058         (WebCore::V8DOMWrapper::setHiddenWindowReference):
89059         (WebCore::V8DOMWrapper::domWrapperType):
89060         (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
89061         (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
89062         (WebCore::V8DOMWrapper::lookupDOMWrapper):
89063         (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
89064         (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
89065         (WebCore::V8DOMWrapper::instantiateV8Object):
89066         (WebCore::V8DOMWrapper::setDOMWrapper):
89067         (WebCore::V8DOMWrapper::maybeDOMWrapper):
89068         (WebCore::V8DOMWrapper::isDOMEventWrapper):
89069         (WebCore::V8DOMWrapper::isWrapperOfType):
89070         (WebCore::V8DOMWrapper::htmlElementType):
89071         (WebCore::V8DOMWrapper::svgElementType):
89072         (WebCore::V8DOMWrapper::convertEventToV8Object):
89073         (WebCore::V8DOMWrapper::convertNodeToV8Object):
89074         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
89075         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
89076         (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
89077         (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
89078         (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
89079         (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
89080         (WebCore::V8DOMWrapper::convertWindowToV8Object):
89081         (WebCore::V8Proxy::bindJsObjectToWindow):
89082         * bindings/v8/V8Proxy.h:
89083         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
89084         (WebCore::V8DOMWrapper::wrapCPointer):
89085         (WebCore::V8DOMWrapper::extractCPointer):
89086         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
89087         (WebCore::V8DOMWrapper::convertToV8Object):
89088         (WebCore::V8DOMWrapper::convertToNativeObject):
89089         (WebCore::V8DOMWrapper::convertToNativeEvent):
89090         (WebCore::V8DOMWrapper::extractCPointerImpl):
89091         (WebCore::V8DOMWrapper::instantiateV8Object):
89092         (WebCore::V8Proxy::constructDOMObject):
89093         (WebCore::toV8):
89094         * bindings/v8/V8SVGPODTypeWrapper.h:
89095         (WebCore::V8SVGPODTypeUtil::toSVGPODType):
89096         * bindings/v8/WorkerContextExecutionProxy.cpp:
89097         (WebCore::WorkerContextExecutionProxy::retrieve):
89098         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
89099         (WebCore::WorkerContextExecutionProxy::GetConstructor):
89100         (WebCore::WorkerContextExecutionProxy::ToV8Object):
89101         (WebCore::WorkerContextExecutionProxy::EventToV8Object):
89102         (WebCore::WorkerContextExecutionProxy::toV8):
89103         * bindings/v8/custom/V8AttrCustom.cpp:
89104         (WebCore::ACCESSOR_SETTER):
89105         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
89106         (WebCore::NAMED_PROPERTY_GETTER):
89107         (WebCore::NAMED_PROPERTY_SETTER):
89108         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
89109         (WebCore::INDEXED_PROPERTY_GETTER):
89110         (WebCore::INDEXED_PROPERTY_SETTER):
89111         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
89112         (WebCore::toV8):
89113         (WebCore::toCanvasStyle):
89114         (WebCore::ACCESSOR_GETTER):
89115         (WebCore::ACCESSOR_SETTER):
89116         (WebCore::CALLBACK_FUNC_DECL):
89117         * bindings/v8/custom/V8ClientRectListCustom.cpp:
89118         (WebCore::INDEXED_PROPERTY_GETTER):
89119         * bindings/v8/custom/V8ClipboardCustom.cpp:
89120         (WebCore::ACCESSOR_GETTER):
89121         (WebCore::CALLBACK_FUNC_DECL):
89122         * bindings/v8/custom/V8CustomBinding.cpp:
89123         (WebCore::ACCESSOR_GETTER):
89124         (WebCore::INDEXED_ACCESS_CHECK):
89125         (WebCore::NAMED_ACCESS_CHECK):
89126         (WebCore::V8Custom::GetTargetFrame):
89127         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
89128         (WebCore::V8CustomSQLStatementCallback::handleEvent):
89129         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
89130         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
89131         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
89132         (WebCore::V8CustomSQLTransactionCallback::handleEvent):
89133         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
89134         (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
89135         * bindings/v8/custom/V8DOMWindowCustom.cpp:
89136         (WebCore::V8Custom::WindowSetTimeoutImpl):
89137         (WebCore::ACCESSOR_SETTER):
89138         (WebCore::CALLBACK_FUNC_DECL):
89139         (WebCore::ACCESSOR_GETTER):
89140         (WebCore::INDEXED_PROPERTY_GETTER):
89141         (WebCore::NAMED_PROPERTY_GETTER):
89142         (WebCore::V8Custom::ClearTimeoutImpl):
89143         (WebCore::NAMED_ACCESS_CHECK):
89144         (WebCore::INDEXED_ACCESS_CHECK):
89145         * bindings/v8/custom/V8DatabaseCustom.cpp:
89146         (WebCore::CALLBACK_FUNC_DECL):
89147         * bindings/v8/custom/V8DocumentCustom.cpp:
89148         (WebCore::CALLBACK_FUNC_DECL):
89149         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
89150         (WebCore::ACCESSOR_GETTER):
89151         (WebCore::ACCESSOR_SETTER):
89152         * bindings/v8/custom/V8ElementCustom.cpp:
89153         (WebCore::CALLBACK_FUNC_DECL):
89154         (WebCore::ACCESSOR_SETTER):
89155         (WebCore::ACCESSOR_GETTER):
89156         * bindings/v8/custom/V8EventCustom.cpp:
89157         (WebCore::ACCESSOR_SETTER):
89158         (WebCore::ACCESSOR_GETTER):
89159         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
89160         (WebCore::CALLBACK_FUNC_DECL):
89161         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
89162         (WebCore::CALLBACK_FUNC_DECL):
89163         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
89164         (WebCore::getNamedItems):
89165         (WebCore::getItem):
89166         (WebCore::NAMED_PROPERTY_GETTER):
89167         (WebCore::CALLBACK_FUNC_DECL):
89168         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
89169         (WebCore::NAMED_PROPERTY_GETTER):
89170         (WebCore::CALLBACK_FUNC_DECL):
89171         (WebCore::ACCESSOR_GETTER):
89172         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
89173         (WebCore::INDEXED_PROPERTY_GETTER):
89174         (WebCore::NAMED_PROPERTY_GETTER):
89175         (WebCore::CALLBACK_FUNC_DECL):
89176         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
89177         (WebCore::ACCESSOR_SETTER):
89178         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
89179         (WebCore::NAMED_PROPERTY_GETTER):
89180         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
89181         (WebCore::ACCESSOR_SETTER):
89182         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
89183         (WebCore::CALLBACK_FUNC_DECL):
89184         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
89185         (WebCore::ACCESSOR_GETTER):
89186         (WebCore::ACCESSOR_SETTER):
89187         (WebCore::CALLBACK_FUNC_DECL):
89188         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
89189         (WebCore::CALLBACK_FUNC_DECL):
89190         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
89191         (WebCore::CALLBACK_FUNC_DECL):
89192         (WebCore::ACCESSOR_GETTER):
89193         (WebCore::ACCESSOR_SETTER):
89194         (WebCore::INDEXED_PROPERTY_GETTER):
89195         (WebCore::INDEXED_PROPERTY_SETTER):
89196         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
89197         (WebCore::NAMED_PROPERTY_GETTER):
89198         (WebCore::NAMED_PROPERTY_SETTER):
89199         (WebCore::INDEXED_PROPERTY_GETTER):
89200         (WebCore::INDEXED_PROPERTY_SETTER):
89201         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
89202         (WebCore::NAMED_PROPERTY_GETTER):
89203         (WebCore::INDEXED_PROPERTY_SETTER):
89204         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
89205         (WebCore::CALLBACK_FUNC_DECL):
89206         (WebCore::removeElement):
89207         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
89208         (WebCore::CALLBACK_FUNC_DECL):
89209         * bindings/v8/custom/V8LocationCustom.cpp:
89210         (WebCore::ACCESSOR_SETTER):
89211         (WebCore::ACCESSOR_GETTER):
89212         (WebCore::CALLBACK_FUNC_DECL):
89213         (WebCore::INDEXED_ACCESS_CHECK):
89214         (WebCore::NAMED_ACCESS_CHECK):
89215         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
89216         (WebCore::CALLBACK_FUNC_DECL):
89217         * bindings/v8/custom/V8MessagePortCustom.cpp:
89218         (WebCore::ACCESSOR_GETTER):
89219         (WebCore::ACCESSOR_SETTER):
89220         (WebCore::CALLBACK_FUNC_DECL):
89221         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
89222         (WebCore::INDEXED_PROPERTY_GETTER):
89223         (WebCore::NAMED_PROPERTY_GETTER):
89224         * bindings/v8/custom/V8NavigatorCustom.cpp:
89225         (WebCore::ACCESSOR_GETTER):
89226         * bindings/v8/custom/V8NodeCustom.cpp:
89227         (WebCore::CALLBACK_FUNC_DECL):
89228         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
89229         (WebCore::toV8):
89230         (WebCore::CALLBACK_FUNC_DECL):
89231         * bindings/v8/custom/V8NodeListCustom.cpp:
89232         (WebCore::NAMED_PROPERTY_GETTER):
89233         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
89234         (WebCore::CALLBACK_FUNC_DECL):
89235         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
89236         (WebCore::CALLBACK_FUNC_DECL):
89237         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
89238         (WebCore::CALLBACK_FUNC_DECL):
89239         * bindings/v8/custom/V8SVGLengthCustom.cpp:
89240         (WebCore::ACCESSOR_GETTER):
89241         (WebCore::CALLBACK_FUNC_DECL):
89242         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
89243         (WebCore::CALLBACK_FUNC_DECL):
89244         * bindings/v8/custom/V8StorageCustom.cpp:
89245         (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
89246         (WebCore::storageGetter):
89247         (WebCore::storageSetter):
89248         (WebCore::storageDeleter):
89249         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
89250         (WebCore::NAMED_PROPERTY_GETTER):
89251         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
89252         (WebCore::toV8):
89253         (WebCore::CALLBACK_FUNC_DECL):
89254         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
89255         (WebCore::CALLBACK_FUNC_DECL):
89256         * bindings/v8/custom/V8WorkerContextCustom.cpp:
89257         (WebCore::ACCESSOR_GETTER):
89258         (WebCore::ACCESSOR_SETTER):
89259         (WebCore::SetTimeoutOrInterval):
89260         (WebCore::CALLBACK_FUNC_DECL):
89261         * bindings/v8/custom/V8WorkerCustom.cpp:
89262         (WebCore::CALLBACK_FUNC_DECL):
89263         (WebCore::ACCESSOR_GETTER):
89264         (WebCore::ACCESSOR_SETTER):
89265         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
89266         (WebCore::CALLBACK_FUNC_DECL):
89267         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
89268         (WebCore::ACCESSOR_GETTER):
89269         (WebCore::ACCESSOR_SETTER):
89270         (WebCore::CALLBACK_FUNC_DECL):
89271         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
89272         (WebCore::ACCESSOR_GETTER):
89273         (WebCore::ACCESSOR_SETTER):
89274         (WebCore::CALLBACK_FUNC_DECL):
89275         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
89276         (WebCore::CALLBACK_FUNC_DECL):
89277
89278 2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
89279
89280         Reviewed by Simon Fraser.
89281
89282         Make sure we can click outside the slider thumb and start dragging.
89283         https://bugs.webkit.org/show_bug.cgi?id=26229
89284
89285         Previously we were assuming that if the thumb hasn't been clicked, we
89286         wouldn't issue any value change upon dragging.
89287
89288         We need to handle the two different cases:
89289         - Clicked in the thumb, we need to make sure the cursor is always pointing
89290         the same slider thumb point.
89291         - Clicked outside, the cursor should always be pointing to the center of
89292         the thumb.
89293
89294         For simplicity, we don't remember the original point of the mouse down,
89295         but a vector between that point and the thumb.
89296
89297         * rendering/RenderSlider.cpp:
89298         (WebCore::SliderThumbElement::SliderThumbElement):
89299         (WebCore::SliderThumbElement::defaultEventHandler):
89300         (WebCore::RenderSlider::mouseEventVectorToThumb): Utility function.
89301         * rendering/RenderSlider.h:
89302
89303 2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
89304
89305         Reviewed by Simon Fraser.
89306
89307         https://bugs.webkit.org/show_bug.cgi?id=27100
89308         <rdar://problem/7042621>
89309
89310         Don't display "loading" in the <video> controller when
89311         there is no src specified.
89312
89313         * rendering/MediaControlElements.cpp:
89314         (WebCore::MediaControlStatusDisplayElement::update): The only
89315         way to find out if we have an element is currentSrc(). networkState()
89316         will always report LOADING according to the spec.
89317
89318 2009-07-08  Adam Barth  <abarth@webkit.org>
89319
89320         Reviewed by Eric Seidel.
89321
89322         [V8] Move V8GCController functions to their own file
89323         https://bugs.webkit.org/show_bug.cgi?id=27102
89324
89325         * bindings/v8/V8GCController.cpp: Added.
89326         * bindings/v8/V8GCController.h: Added.
89327         * bindings/v8/V8Proxy.cpp:
89328         * bindings/v8/V8Proxy.h:
89329
89330 2009-07-08  Jeremy Orlow  <jorlow@chromium.org>
89331
89332         Reviewed by Darin Fisher.
89333
89334         Split StorageArea and StorageNamespace into an interface and implementation.
89335         https://bugs.webkit.org/show_bug.cgi?id=27072
89336
89337         I need to split StorageNamespace and StorageArea into an interface and
89338         implementation.  In a later patch, I'll implement a proxy interface
89339         that'll run inside the Chromium renderer process.
89340
89341         Additionally, fix the alphabetical ordering of files I recently added
89342         in the project files.
89343
89344         This is a continuation of other refactoring work:
89345         https://bugs.webkit.org/show_bug.cgi?id=25376
89346
89347         * GNUmakefile.am:
89348         * WebCore.vcproj/WebCore.vcproj:
89349         * WebCore.xcodeproj/project.pbxproj:
89350         * WebCoreSources.bkl:
89351         * storage/StorageArea.cpp:
89352         (WebCore::StorageArea::create):
89353         * storage/StorageArea.h:
89354         (WebCore::StorageArea::~StorageArea):
89355         * storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp.
89356         (WebCore::StorageAreaImpl::create):
89357         (WebCore::StorageAreaImpl::~StorageAreaImpl):
89358         (WebCore::StorageAreaImpl::StorageAreaImpl):
89359         (WebCore::StorageAreaImpl::copy):
89360         (WebCore::StorageAreaImpl::length):
89361         (WebCore::StorageAreaImpl::key):
89362         (WebCore::StorageAreaImpl::getItem):
89363         (WebCore::StorageAreaImpl::setItem):
89364         (WebCore::StorageAreaImpl::removeItem):
89365         (WebCore::StorageAreaImpl::clear):
89366         (WebCore::StorageAreaImpl::contains):
89367         (WebCore::StorageAreaImpl::importItem):
89368         (WebCore::StorageAreaImpl::securityOrigin):
89369         (WebCore::StorageAreaImpl::close):
89370         (WebCore::StorageAreaImpl::blockUntilImportComplete):
89371         (WebCore::StorageAreaImpl::dispatchStorageEvent):
89372         * storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h.
89373         * storage/StorageAreaSync.h:
89374         * storage/StorageNamespace.cpp:
89375         (WebCore::StorageNamespace::localStorageNamespace):
89376         (WebCore::StorageNamespace::sessionStorageNamespace):
89377         * storage/StorageNamespace.h:
89378         (WebCore::StorageNamespace::~StorageNamespace):
89379         * storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp.
89380         (WebCore::StorageNamespaceImpl::localStorageNamespace):
89381         (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
89382         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
89383         (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
89384         (WebCore::StorageNamespaceImpl::copy):
89385         (WebCore::StorageNamespaceImpl::storageArea):
89386         (WebCore::StorageNamespaceImpl::close):
89387         * storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h.
89388
89389 2009-07-08  Adam Barth  <abarth@webkit.org>
89390
89391         Reviewed by Eric Seidel.
89392
89393         [V8] Move garbage collector related functions from V8Proxy to V8GCController
89394         https://bugs.webkit.org/show_bug.cgi?id=26967
89395
89396         This patch just moves the functions around in V8Proxy.  We'll actually
89397         move them to a separate file in another patch.
89398
89399         * bindings/v8/NPV8Object.cpp:
89400         (freeV8NPObject):
89401         * bindings/v8/ScheduledAction.cpp:
89402         (WebCore::ScheduledAction::ScheduledAction):
89403         (WebCore::ScheduledAction::~ScheduledAction):
89404         * bindings/v8/ScriptController.cpp:
89405         (WebCore::ScriptController::gcProtectJSWrapper):
89406         (WebCore::ScriptController::gcUnprotectJSWrapper):
89407         * bindings/v8/ScriptInstance.cpp:
89408         (WebCore::V8ScriptInstance::clear):
89409         (WebCore::V8ScriptInstance::set):
89410         * bindings/v8/ScriptValue.h:
89411         (WebCore::ScriptValue::ScriptValue):
89412         (WebCore::ScriptValue::operator=):
89413         (WebCore::ScriptValue::clear):
89414         * bindings/v8/V8AbstractEventListener.cpp:
89415         (WebCore::V8AbstractEventListener::disposeListenerObject):
89416         * bindings/v8/V8LazyEventListener.cpp:
89417         (WebCore::V8LazyEventListener::~V8LazyEventListener):
89418         (WebCore::V8LazyEventListener::getListenerFunction):
89419         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
89420         * bindings/v8/V8NodeFilterCondition.cpp:
89421         (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
89422         (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
89423         * bindings/v8/V8Proxy.cpp:
89424         (WebCore::V8GCController::registerGlobalHandle):
89425         (WebCore::V8GCController::unregisterGlobalHandle):
89426         (WebCore::V8GCController::gcProtect):
89427         (WebCore::V8GCController::gcUnprotect):
89428         (WebCore::V8Proxy::destroyGlobal):
89429         (WebCore::V8Proxy::updateDocumentWrapper):
89430         (WebCore::V8Proxy::clearDocumentWrapper):
89431         (WebCore::V8Proxy::disposeContextHandles):
89432         (WebCore::V8Proxy::initContextIfNeeded):
89433         * bindings/v8/V8Proxy.h:
89434         (WebCore::):
89435         (WebCore::GlobalHandleInfo::GlobalHandleInfo):
89436         * bindings/v8/custom/V8CustomEventListener.cpp:
89437         (WebCore::V8EventListener::V8EventListener):
89438
89439 2009-07-08  Daniel Bates  <dbates@intudata.com>
89440
89441         Reviewed by Adam Barth.
89442         
89443         https://bugs.webkit.org/show_bug.cgi?id=26918
89444         
89445         Prevents injection of HTML Base tag.
89446
89447         Tests: http/tests/security/xssAuditor/base-href-control-char.html
89448                http/tests/security/xssAuditor/base-href-null-char.html
89449                http/tests/security/xssAuditor/base-href-safe.html
89450                http/tests/security/xssAuditor/base-href-safe2.html
89451                http/tests/security/xssAuditor/base-href-scheme-relative.html
89452                http/tests/security/xssAuditor/base-href.html
89453
89454         * html/HTMLBaseElement.cpp:
89455         (WebCore::HTMLBaseElement::parseMappedAttribute):
89456         (WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL
89457         to determine if it is safe to use base element URL.
89458         * html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL.
89459         * page/XSSAuditor.cpp:
89460         (WebCore::XSSAuditor::canSetBaseElementURL):
89461         * page/XSSAuditor.h:
89462
89463 2009-07-08  Nate Chapin  <japhet@chromium.org>
89464
89465         Reviewed by Dimitri Glazkov.
89466
89467         Upstream V8 npruntime bindings.
89468
89469         https://bugs.webkit.org/show_bug.cgi?id=27094
89470
89471         * bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org.
89472         (StringKey::operator==):
89473         (StringKey::StringKeyHash::hash):
89474         (StringKey::StringKeyHash::equal):
89475         (StringKeyHashTraits::constructDeletedValue):
89476         (StringKeyHashTraits::isDeletedValue):
89477         (getStringIdentifierMap):
89478         (getIntIdentifierMap):
89479         * bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org.
89480         * bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org.
89481         * bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org.
89482
89483 2009-07-08  Dumitru Daniliuc  <dumi@chromium.org>
89484
89485         Reviewed by Darin Fisher.
89486
89487         Extending the PlatformFileHandle definition from PLATFORM(WIN) to
89488         PLATFORM(WIN_OS)
89489
89490         https://bugs.webkit.org/show_bug.cgi?id=27013
89491
89492         * platform/FileSystem.h:
89493
89494 2009-07-08  Daniel Bates  <dbates@intudata.com>
89495
89496         Reviewed by Adam Barth.
89497         
89498         https://bugs.webkit.org/show_bug.cgi?id=27071
89499         
89500         Resolves issue when HTTP parameters contain null- and  non-null-control- characters.
89501
89502         Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html
89503                http/tests/security/xssAuditor/embed-tag-control-char.html
89504                http/tests/security/xssAuditor/embed-tag-null-char.html
89505                http/tests/security/xssAuditor/embed-tag.html
89506                http/tests/security/xssAuditor/link-onclick-control-char.html
89507                http/tests/security/xssAuditor/link-onclick-null-char.html
89508                http/tests/security/xssAuditor/object-embed-tag-control-char.html
89509                http/tests/security/xssAuditor/object-embed-tag-null-char.html
89510                http/tests/security/xssAuditor/object-embed-tag.html
89511                http/tests/security/xssAuditor/object-tag.html
89512                http/tests/security/xssAuditor/script-tag-post-control-char.html
89513                http/tests/security/xssAuditor/script-tag-post-null-char.html
89514                http/tests/security/xssAuditor/script-tag-with-source-control-char.html
89515                http/tests/security/xssAuditor/script-tag-with-source-null-char.html
89516
89517         * page/XSSAuditor.cpp:
89518         (WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL.
89519         (WebCore::XSSAuditor::canEvaluate):
89520         (WebCore::XSSAuditor::canCreateInlineEventListener):
89521         (WebCore::XSSAuditor::canLoadObject):
89522         (WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters,
89523         and matchNonNullControlCharacters.
89524         (WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters,
89525         and matchNonNullControlCharacters.
89526         * page/XSSAuditor.h:
89527
89528 2009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>
89529
89530         Reviewed by Dimitri Glazkov.
89531
89532         Add DerivesSourcesAllInOne.cpp to help with release windows compilation.
89533         https://bugs.webkit.org/show_bug.cgi?id=27093
89534
89535         This is specific for v8, no change in behavior.
89536
89537         * bindings/v8/DerivedSourcesAllInOne.cpp: Added.
89538
89539 2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
89540
89541         Reviewed by Simon Fraser.
89542
89543         https://bugs.webkit.org/show_bug.cgi?id=27086
89544
89545         Make sure the Media controller doesn't fade in for no reason.
89546         This is happening because a update() call to the controller
89547         panel may reset the opacity to 1.0, given that it reloads the
89548         style.
89549
89550         We also add a different fade in and fade out time to soften
89551         the fade out effect.
89552
89553         No test case because this depends on how the movie is loaded.
89554
89555         * rendering/RenderMedia.cpp:
89556         (WebCore::RenderMedia::RenderMedia):
89557         (WebCore::RenderMedia::updateControls):
89558         (WebCore::RenderMedia::updateControlVisibility): Simplify
89559         , and make sure we stop the timer if there is no animation
89560         to do.
89561         (WebCore::RenderMedia::opacityAnimationTimerFired): 
89562         * rendering/RenderMedia.h:
89563
89564 2009-07-08  David Kilzer  <ddkilzer@apple.com>
89565
89566         Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER)
89567
89568         <https://bugs.webkit.org/show_bug.cgi?id=27081>
89569
89570         Reviewed by Timothy Hatcher.
89571
89572         * platform/cf/RunLoopTimerCF.cpp: This code is only used on
89573         Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code
89574         in that macro as well.
89575
89576 2009-07-08  Greg Bolsinga  <bolsinga@apple.com>
89577
89578         Reviewed by Darin Adler.
89579
89580         Add -[WebView _isProcessingUserGesture]
89581         https://bugs.webkit.org/show_bug.cgi?id=27084
89582
89583         Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture()
89584         for clarity.
89585
89586         * WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture()
89587         * html/HTMLMediaElement.cpp:
89588         (WebCore::HTMLMediaElement::processingUserGesture):
89589         * loader/FrameLoader.cpp: 
89590         (WebCore::FrameLoader::requestFrame):
89591         (WebCore::FrameLoader::isProcessingUserGesture):
89592         * loader/FrameLoader.h:
89593
89594 2009-07-08  Alexey Proskuryakov  <ap@webkit.org>
89595
89596         Reviewed (an earlier version) by Geoff Garen.
89597
89598         https://bugs.webkit.org/show_bug.cgi?id=27090
89599         Remove lockBackForwardList argument from HTMLFormElement::submit()
89600
89601         No change in behavior, so no tests.
89602
89603         * bindings/js/JSHTMLFormElementCustom.cpp:
89604         (WebCore::JSHTMLFormElement::submit):
89605         * html/HTMLFormElement.cpp:
89606         (WebCore::HTMLFormElement::submit):
89607         * html/HTMLFormElement.h:
89608         * loader/FrameLoader.cpp:
89609         (WebCore::FrameLoader::submitForm):
89610         (WebCore::FrameLoader::scheduleFormSubmission):
89611         * loader/FrameLoader.h:
89612         Don't pass lockBackForwardList around when it's known to be false.
89613
89614 2009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>
89615
89616         Reviewed by Adam Barth.
89617
89618         Fix V8 idl codegen to use unique constant names
89619         <https://bugs.webkit.org/show_bug.cgi?id=27089>
89620
89621         Embed the interface name in the global constant names so coagulating all
89622         the .cc files into one compile unit works with V8 bindings.
89623
89624         Nothing added; Still compiles and pass tests.
89625
89626         * bindings/scripts/CodeGeneratorV8.pm:
89627
89628 2009-07-08  Brent Fulgham  <bfulgham@webkit.org>
89629
89630         Build fix: Add missing #includes for Windows (cURL) build.
89631         The <winsock2.h> and <windows.h> headers were not being
89632         included in Windows cURL builds.
89633
89634         * platform/network/ResourceHandleInternal.h:
89635         * platform/network/curl/ResourceHandleManager.h:
89636
89637 2009-07-08  Shinichiro Hamaji  <hamaji@chromium.org>
89638
89639         Reviewed by David Kilzer.
89640
89641         WebKit needs a style linting tool
89642         https://bugs.webkit.org/show_bug.cgi?id=25884
89643
89644         Fix bunch of style issues in WebCore/rendering.
89645         This patch is created to demonstrate cpplint.py.
89646
89647         No testcase because it's just a style fixes.
89648
89649         * rendering/AutoTableLayout.cpp:
89650         (WebCore::AutoTableLayout::recalcColumn):
89651         (WebCore::AutoTableLayout::layout):
89652         * rendering/InlineFlowBox.cpp:
89653         (WebCore::InlineFlowBox::placeEllipsisBox):
89654         * rendering/InlineTextBox.cpp:
89655         (WebCore::InlineTextBox::paintTextMatchMarker):
89656         * rendering/MediaControlElements.cpp:
89657         (WebCore::MediaControlTimelineElement::defaultEventHandler):
89658         * rendering/MediaControlElements.h:
89659         * rendering/RenderArena.cpp:
89660         * rendering/RenderBlock.cpp:
89661         (WebCore::RenderBlock::startDelayUpdateScrollInfo):
89662         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
89663         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
89664         (WebCore::RenderBlock::positionNewFloats):
89665         (WebCore::RenderBlock::newLine):
89666         (WebCore::RenderBlock::floatBottom):
89667         (WebCore::RenderBlock::leftBottom):
89668         (WebCore::RenderBlock::rightBottom):
89669         * rendering/RenderBox.cpp:
89670         (WebCore::RenderBox::calcReplacedWidthUsing):
89671         * rendering/RenderFieldset.cpp:
89672         (WebCore::RenderFieldset::layoutLegend):
89673         * rendering/RenderFlexibleBox.cpp:
89674         (WebCore::FlexBoxIterator::FlexBoxIterator):
89675         (WebCore::FlexBoxIterator::reset):
89676         (WebCore::FlexBoxIterator::first):
89677         (WebCore::FlexBoxIterator::next):
89678         (WebCore::RenderFlexibleBox::layoutVerticalBox):
89679         * rendering/RenderFrameSet.cpp:
89680         (WebCore::borderStartEdgeColor):
89681         * rendering/RenderFrameSet.h:
89682         * rendering/RenderImage.cpp:
89683         * rendering/RenderLayer.cpp:
89684         (WebCore::RenderLayer::updateVisibilityStatus):
89685         (WebCore::RenderLayer::calculateClipRects):
89686         (WebCore::RenderLayer::calculateRects):
89687         * rendering/RenderListBox.cpp:
89688         (WebCore::RenderListBox::panScroll):
89689         * rendering/RenderMarquee.cpp:
89690         (WebCore::RenderMarquee::updateMarqueeStyle):
89691         * rendering/RenderMedia.cpp:
89692         (WebCore::RenderMedia::updateControls):
89693         * rendering/RenderObject.cpp:
89694         (WebCore::RenderObject::drawLineForBoxSide):
89695         (WebCore::RenderObject::localCaretRect):
89696         * rendering/RenderSVGImage.cpp:
89697         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
89698         * rendering/RenderSlider.h:
89699         * rendering/RenderTable.cpp:
89700         (WebCore::RenderTable::outerBorderBottom):
89701         * rendering/RenderTableCol.h:
89702         * rendering/RenderTextControlSingleLine.cpp:
89703         (WebCore::RenderTextControlSingleLine::itemIsSeparator):
89704         * rendering/RenderThemeChromiumSkia.cpp:
89705         (WebCore::RenderThemeChromiumSkia::supportsHover):
89706         * rendering/RenderThemeChromiumWin.cpp:
89707         (WebCore::RenderThemeChromiumWin::supportsFocusRing):
89708         * rendering/SVGCharacterLayoutInfo.cpp:
89709         (WebCore::SVGCharacterLayoutInfo::addStackContent):
89710         * rendering/SVGCharacterLayoutInfo.h:
89711         * rendering/TextControlInnerElements.h:
89712         * rendering/bidi.cpp:
89713         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
89714
89715 2009-07-07  Oliver Hunt  <oliver@apple.com>
89716
89717         Reviewed by Maciej Stachowiak.
89718
89719         Reduce complexity of lifetime management in DynamicNodeList caches
89720         <https://bugs.webkit.org/show_bug.cgi?id=27068>
89721
89722         Switch the Cache object used by DynamicNodeList into a normal
89723         refcounted object rather than having a weird flag controlled
89724         refcounting system, where positive refcount did not automatically
89725         imply the cache object would actually still be live.
89726
89727         * dom/DynamicNodeList.cpp:
89728         (WebCore::DynamicNodeList::DynamicNodeList):
89729         (WebCore::DynamicNodeList::~DynamicNodeList):
89730         (WebCore::DynamicNodeList::Caches::Caches):
89731         (WebCore::DynamicNodeList::Caches::create):
89732         * dom/DynamicNodeList.h:
89733         * dom/Node.cpp:
89734         (WebCore::Node::childNodes):
89735         (WebCore::Node::getElementsByTagNameNS):
89736         (WebCore::Node::getElementsByName):
89737         (WebCore::Node::getElementsByClassName):
89738         (WebCore::NodeListsNodeData::invalidateCaches):
89739         (WebCore::NodeListsNodeData::isEmpty):
89740         * dom/NodeRareData.h:
89741         (WebCore::NodeListsNodeData::NodeListsNodeData):
89742
89743 2009-07-07  Simon Fraser  <simon.fraser@apple.com>
89744
89745         Reviewed by Dan Bernstein.
89746         
89747         -webkit-perspective should be a Length
89748         https://bugs.webkit.org/show_bug.cgi?id=27066
89749         
89750         -webkit-perspective should not take a magic valueless number, but should
89751         be a normal Length value which responds to zooming. Treat valueless numbers
89752         as pixels for backward compatibility.
89753         
89754         Test: transforms/3d/general/perspective-units.html
89755
89756         * css/CSSParser.cpp:
89757         (WebCore::CSSParser::parseValue):
89758         * css/CSSStyleSelector.cpp:
89759         (WebCore::CSSStyleSelector::applyProperty):
89760
89761 2009-07-07  Pierre d'Herbemont  <pdherbemont@apple.com>
89762
89763         Reviewed by Simon Fraser.
89764
89765         https://bugs.webkit.org/show_bug.cgi?id=27047
89766
89767         We need to make sure that when we reattach, we also reattach
89768         the children in every MediaControlElement. Else we may end up
89769         having no remaining or elapsed time.
89770
89771         We have to handle that, because we are using a special shadow
89772         tree in the DOM, and that we are ourselves handling
89773         attaching/detaching the renderer.
89774
89775         The strategy here is to try to implement ::attach(), and try
89776         to reuse as much code as we can from the super class, including
89777         children attachement.
89778
89779         Test: media/controls-after-reload.html
89780
89781         * rendering/MediaControlElements.cpp:
89782         (WebCore::MediaControlElement::styleForElement): Code factoring.
89783         (WebCore::MediaControlElement::rendererIsNeeded): Code factoring.
89784         (WebCore::MediaControlElement::attach): Implement attach
89785         and call super class so that children are also attached.
89786         (WebCore::MediaControlElement::updateStyle): Use attach()
89787         (WebCore::MediaControlInputElement::styleForElement): Code factoring.
89788         (WebCore::MediaControlInputElement::rendererIsNeeded): Code factoring.
89789         (WebCore::MediaControlInputElement::attach): See above.
89790         (WebCore::MediaControlInputElement::updateStyle): Use attach()
89791         * rendering/MediaControlElements.h:
89792         * rendering/RenderMedia.cpp:
89793         (WebCore::RenderMedia::updateControls): Directly run attach() on
89794         the m_panel, which is a root node for our shadow tree.
89795
89796 2009-07-07  Simon Fraser  <simon.fraser@apple.com>
89797
89798         Reviewed by Dan Bernstein.
89799
89800         Repaint issue after layer drops out of composited mode.
89801         <https://bugs.webkit.org/show_bug.cgi?id=27022>
89802
89803         RenderLayers cache repaint rects in the form of m_repaintRect and m_outlineBox,
89804         and expect these to stay valid from one style change to the next. These rects
89805         are relative to the repaint container, so if a layer stops being composited,
89806         we need to recompute them.
89807         
89808         Test: compositing/repaint/layer-repaint-rects.html
89809
89810         * rendering/RenderLayer.cpp:
89811         (WebCore::RenderLayer::computeRepaintRects):
89812         * rendering/RenderLayer.h:
89813         * rendering/RenderLayerCompositor.cpp:
89814         (WebCore::RenderLayerCompositor::updateBacking):
89815
89816 2009-07-07  Dan Bernstein  <mitz@apple.com>
89817
89818         Reviewed by Dave Hyatt and Darin Adler.
89819
89820         - fix https://bugs.webkit.org/show_bug.cgi?id=26963
89821           <rdar://problem/7030998> Reproducible crash at
89822           FontCache::getFontData() when a custom font is used in a pseudo-style
89823
89824         Test: fast/css/pseudo-cache-stale.html
89825
89826         * dom/Element.cpp:
89827         (WebCore::Element::pseudoStyleCacheIsInvalid): Added. Given the old
89828         style and the new style, goes over cached pseudo-styles in the old
89829         style and re-resolves the same style types off the new style. If any of
89830         the new pseudo-styles is different from the currently cached
89831         corresponding style, returns true. Otherwise, returns false.
89832         (WebCore::Element::recalcStyle): Validate the pseudo-style cache before
89833         deciding to keep the existing style.
89834         * dom/Element.h:
89835         * rendering/RenderObject.cpp:
89836         (WebCore::RenderObject::uncachedFirstLineStyle): Added this version that
89837         returns an uncached first-line style based off the given style.
89838         (WebCore::RenderObject::getUncachedPseudoStyle): Added the 'ownStyle'
89839         parameter.
89840         * rendering/RenderObject.h:
89841         * rendering/style/RenderStyle.cpp:
89842         (WebCore::RenderStyle::getPseudoStyleCache): Added. Returns the cached
89843         pseudo-styles in the passed-in vector.
89844         * rendering/style/RenderStyle.h:
89845
89846 2009-07-07  Dan Bernstein  <mitz@apple.com>
89847
89848         Reviewed by Simon Fraser.
89849
89850         - fix https://bugs.webkit.org/show_bug.cgi?id=27042
89851           <rdar://problem/7010981> Incomplete painting of newly created floats
89852
89853         Tests: fast/repaint/float-in-new-block-with-layout-delta.html
89854                fast/repaint/float-new-in-block.html
89855
89856         * rendering/RenderBlock.cpp:
89857         (WebCore::RenderBlock::layoutBlockChildren): If the child has never been
89858         laid out before, paint its overhanging floats in addition to itself.
89859         * rendering/RenderBlock.h:
89860         (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added and
89861         initialized a boolean everHadLayout member.
89862         * rendering/bidi.cpp:
89863         (WebCore::RenderBlock::layoutInlineChildren): Paint floats that have
89864         never been laid out before and did not move from (0, 0).
89865
89866 2009-07-07  Brady Eidson  <beidson@apple.com>
89867
89868         Contributions from both Darin Adler and Brady Eidson.
89869         Reviewed by Darin Adler.
89870
89871         <rdar://problem/7024039> REGRESSION (r42158): Back-forward navigation does not work correctly on nytimes.com
89872
89873         In r42158 we lost some exclusions to making back/forward items for subframe navigations when a main frame
89874         navigation was still in progress.
89875
89876         This patch makes things even better than it used to be by:
89877         - Locking back/forward history at the time the navigation is scheduled, not after the load has committed.
89878         - Locking back/forward history if *any* ancestor frame is still loading instead of just the main frame.
89879
89880         Test: fast/loader/subframe-navigate-during-main-frame-load.html
89881
89882         * loader/FrameLoader.cpp:
89883         (WebCore::FrameLoader::submitForm): Move out the history locking logic into a standalone function so it can be
89884           used from multiple sites.
89885         (WebCore::mustLockBackForwardList): Returns true if any ancestor frame is still loading.
89886         (WebCore::FrameLoader::scheduleLocationChange): Respect mustLockBackForwardList() in addition to the passed in
89887           lockBackForwardList flag.
89888         (WebCore::FrameLoader::scheduleFormSubmission): Ditto.
89889
89890 2009-07-07  Nate Chapin  <japhet@chromium.org>
89891
89892         Reviewed by Darin Fisher.
89893
89894         Upstream DOMObjectsInclude.h from src.chromium.org.
89895
89896         https://bugs.webkit.org/show_bug.cgi?id=27035
89897
89898         * bindings/v8/DOMObjectsInclude.h: Added.
89899
89900 2009-07-07  Nate Chapin  <japhet@chromium.org>
89901
89902         Reviewed by David Levin.
89903
89904         Relanding r45559, which was rolled back at r45574.
89905
89906         https://bugs.webkit.org/show_bug.cgi?id=26857
89907
89908         * bindings/scripts/CodeGeneratorV8.pm: Updated a function name in auto-generated bindings.
89909         * bindings/v8/V8Binding.cpp: Moved from src.chromium.org.
89910         * bindings/v8/V8Binding.h: Contents moved from src.chromium.org.
89911         * bindings/v8/V8LazyEventListener.cpp:
89912         (WebCore::V8LazyEventListener::getListenerFunction):
89913         * bindings/v8/V8Proxy.cpp:
89914         (WebCore::handleConsoleMessage):
89915         (WebCore::V8Proxy::compileScript):
89916         (WebCore::V8Proxy::sourceName):
89917         * bindings/v8/WorkerContextExecutionProxy.cpp:
89918         (WebCore::handleConsoleMessage):
89919         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
89920         (WebCore::NAMED_PROPERTY_SETTER):
89921         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
89922         (WebCore::CALLBACK_FUNC_DECL):
89923         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
89924         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
89925         * bindings/v8/custom/V8DOMWindowCustom.cpp:
89926         (WebCore::CALLBACK_FUNC_DECL):
89927         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
89928         (WebCore::CALLBACK_FUNC_DECL):
89929         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
89930         (WebCore::ACCESSOR_SETTER):
89931         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
89932         (WebCore::CALLBACK_FUNC_DECL):
89933         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
89934         (WebCore::removeElement):
89935         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
89936         (WebCore::CALLBACK_FUNC_DECL):
89937         * bindings/v8/custom/V8WorkerContextCustom.cpp:
89938         (WebCore::SetTimeoutOrInterval):
89939         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
89940         (WebCore::CALLBACK_FUNC_DECL):
89941
89942 2009-07-07  Gregory Hughes  <gfhughesVO+webkit@gmail.com>
89943
89944         Reviewed by Darin Adler.
89945
89946         AX: Some webpages do not send AXLoadComplete
89947         https://bugs.webkit.org/show_bug.cgi?id=26995
89948
89949         When sending the AXLayoutComplete notification it is possible
89950         that the AXObjectCache was cleared, resulting in no valid
89951         object to send the notification to. This fix ensures that an
89952         AX object is created and cached if one does not already exist.
89953
89954         Not able to add a test because notifications get sent after the layout test is completed.
89955
89956         * dom/Document.cpp:
89957         (WebCore::Document::implicitClose):
89958
89959 2009-07-06  Pierre d'Herbemont  <pdherbemont@apple.com>
89960
89961         Reviewed by Simon Fraser.
89962
89963         https://bugs.webkit.org/show_bug.cgi?id=27015
89964
89965         Make sure that the CSS properties letter-spacing, word-spacing,
89966         line-height, text-transform, text-indent, text-shadow,
89967         text-decoration and color do not affect the media element controls,
89968         that display text.
89969
89970         Controls that display text are only present in when the theme
89971         MediaControllerThemeQT is being used.
89972
89973         Test: media/controls-styling.html
89974
89975         * css/mediaControlsQT.css:
89976         * rendering/MediaControlElements.cpp:
89977         (WebCore::MediaControlElement::updateStyle): Special case for
89978         text-decoration. text-decoration can't be overriden from CSS, because
89979         text-decoration is additive for historical reasons.
89980
89981 2009-07-07  Albert Wong  <ajwong@chromium.org>
89982
89983         Not reviewed, Chromium build fix.
89984
89985         Add in missing header fix syntax issue that crept into last patch.
89986         https://bugs.webkit.org/show_bug.cgi?id=27027
89987
89988         * rendering/RenderThemeChromiumMac.mm:
89989         (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
89990
89991 2009-07-07  Simon Fraser  <simon.fraser@apple.com>
89992
89993         Reviewed by Dave Hyatt.
89994
89995         Make use of geometry information to decide which layers become composited.
89996
89997         <rdar://problem/7011947>
89998         <https://bugs.webkit.org/show_bug.cgi?id=27021>
89999         
90000         In addition to looking at painting order, also, optionally, take layer
90001         overlap into account when deciding which RenderLayers need to be composited.
90002
90003         No testcase because DRT doesn't dump which layers are composited.
90004         
90005         * page/FrameView.h:
90006         * page/FrameView.cpp:
90007         (WebCore::FrameView::updateCompositingLayers):
90008         Removed the unused CompositingUpdate parameter, and just do an early return
90009         when there is no view.
90010         
90011         * rendering/RenderLayer.h:
90012         * rendering/RenderLayer.cpp:
90013         (WebCore::RenderLayer::rendererContentChanged):
90014         (WebCore::RenderLayer::dirtyZOrderLists):
90015         (WebCore::RenderLayer::dirtyNormalFlowList):
90016         (WebCore::RenderLayer::styleChanged):
90017         (WebCore::RenderLayer::mustOverlapCompositedLayers):
90018         (WebCore::RenderLayer::setMustOverlapCompositedLayers):
90019         Change "overlay" to "overlap" for consistency with the use of "overlap"
90020         elsewhere.
90021
90022         * rendering/RenderLayerBacking.cpp:
90023         (WebCore::RenderLayerBacking::updateAfterLayout):
90024         compositingLayersNeedUpdate() renamed to compositingLayersNeedRebuild().
90025         
90026         (WebCore::RenderLayerBacking::startAnimation):
90027         (WebCore::RenderLayerBacking::startTransition):
90028         Tell the compositor that we started an accelerated animation or transition.
90029         
90030         * rendering/RenderLayerCompositor.h:
90031         (WebCore::RenderLayerCompositor::compositingLayersNeedRebuild):
90032         Renamed, since it's explicitly about changes in hierarchy now.
90033         
90034         (WebCore::RenderLayerCompositor::setCompositingConsultsOverlap):
90035         (WebCore::RenderLayerCompositor::compositingConsultsOverlap):
90036         New getter and setter for whether compositing should take overlap into account.
90037
90038         * rendering/RenderLayerCompositor.cpp:
90039         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
90040         Add m_compositingConsultsOverlap, re-order some member variables.
90041         
90042         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
90043         Whitespace cleanup and method rename.
90044         
90045         (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
90046         Method and variable renaming.
90047         
90048         (WebCore::RenderLayerCompositor::updateCompositingLayers):
90049         Now we have to run through the layer hierarchy every time if looking
90050         at overlap, because changes in layout can now alter compositing behavior.
90051         We minimize work by tracking whether we actually need to change the layer
90052         hierarchy via needLayerRebuild.
90053         
90054         (WebCore::RenderLayerCompositor::updateBacking):
90055         3D transforms turn off overlap mode.
90056         
90057         (WebCore::RenderLayerCompositor::layerWasAdded):
90058         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
90059         Method rename.
90060         
90061         (WebCore::RenderLayerCompositor::addToOverlapMap):
90062         (WebCore::RenderLayerCompositor::overlapsCompositedLayers):
90063         Utility methods to add a layer to the overlapMap (computing the absolute
90064         bounding box only if we haven't already done so), and testing the map
90065         entries.
90066         
90067         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
90068         If a layer would composite only because it comes after other compositing
90069         layers in the painting order, then consult the overlap map to determine whether
90070         it overlaps, and thus actually needs to composite.
90071         
90072         Add layers to the map when they must be composited.
90073         
90074         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
90075         Only do re-parenting work if the updateHierarchy flag is set.
90076         
90077         (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation):
90078         When we start an accelerated transition or animation, we stop looking at
90079         overlap because we can no longer guarantee correct front-to-back ordering while the
90080         accelerated animation is running.
90081
90082         (WebCore::RenderLayerCompositor::needsToBeComposited):
90083         Method renames.
90084         
90085         * rendering/RenderView.cpp:
90086         (WebCore::RenderView::setMaximalOutlineSize):
90087         Add comment indicating that this could be optimized.
90088
90089 2009-07-14  Anton Muhin  <antonm@chromium.org>
90090
90091         Reviewed by Darin Fisher.
90092
90093         Speed up creation of V8 wrappers for DOM nodes.
90094
90095         https://bugs.webkit.org/show_bug.cgi?id=26882
90096
90097         This patch doesn't require new tests as it a set of refactorings
90098         to speed up wrapper creation.  
90099
90100         * bindings/v8/V8Proxy.cpp:
90101         * bindings/v8/V8Proxy.h:
90102
90103 2009-07-07  Jan Michael Alonzo  <jmalonzo@webkit.org>
90104
90105         Reviewed by Gustavo Noronha.
90106
90107         [GTK] textarea height property works only if other property are defined
90108         https://bugs.webkit.org/show_bug.cgi?id=18984
90109
90110         Let WebCore handle textarea's metrics instead of readjusting it RenderthemeGtk.
90111
90112         Test: fast/forms/textarea-metrics.html
90113
90114         * platform/gtk/RenderThemeGtk.cpp:
90115         * platform/gtk/RenderThemeGtk.h:
90116
90117 2009-07-07  Ben Murdoch  <benm@google.com>
90118
90119         Reviewed by Antti Koivisto.
90120
90121         HTML5 Database becomes locked if a transaction is in progress when the page is refreshed.
90122         https://bugs.webkit.org/show_bug.cgi?id=25711
90123
90124         Fix for https://bugs.webkit.org/show_bug.cgi?id=25711 where web
90125         storage databases could become locked until the browser is shut
90126         down if the page is refreshed whilst a transaction is in progress.
90127
90128         Test: storage/database-lock-after-reload.html
90129
90130         * storage/Database.cpp:
90131         (WebCore::Database::Database):
90132         (WebCore::Database::close): add code to inform the database thread we've closed the database.
90133         (WebCore::Database::performOpenAndVerify): add code to inform the database thread we've opened a database.
90134         * storage/Database.h:
90135         (WebCore::Database::opened): return true iff the underlying sqlite database has been opened but not closed.
90136         * storage/DatabaseThread.cpp:
90137         (WebCore::DatabaseThread::databaseThread): Before the database thread terminates, close any databases that ran transactions in this thread.
90138         (WebCore::DatabaseThread::recordDatabaseOpen): Records a database that executed a transaction in this thread.
90139         (WebCore::DatabaseThread::recordDatabaseClosed): Removes a database from the set of open databases.
90140         * storage/DatabaseThread.h:
90141         (WebCore::DatabaseThread::getThreadID): return the thread id for the database thread.
90142
90143 2009-07-07  Jiahua Huang  <jhuangjiahua@gmail.com>
90144
90145         Reviewed by Jan Alonzo.
90146
90147         [Gtk] Paste of rich text from firefox results garbled markup
90148         https://bugs.webkit.org/show_bug.cgi?id=26791
90149
90150         Fix problem with UTF-16 clipboard pasted.
90151
90152         * manual-tests/gtk/paste-richtext-from-firefox.html: Added.
90153         * platform/gtk/PasteboardGtk.cpp:
90154         (WebCore::Pasteboard::documentFragment):
90155
90156 2009-07-07  Yury Semikhatsky  <yurys@chromium.org>
90157
90158         Reviewed by Timothy Hatcher.
90159
90160         Change 'Continue debug' shortcut from F5 to F8 for consistency with Firebug.
90161
90162         https://bugs.webkit.org/show_bug.cgi?id=23849
90163
90164         * inspector/front-end/ScriptsPanel.js:
90165         (WebInspector.ScriptsPanel):
90166
90167 2009-07-06  Albert J. Wong  <ajwong@chromium.org>
90168
90169         Reviewed by Maciej Stachowiak.
90170
90171         Update RenderThemeChromiumMac for wkDrawMediaUIPart and wkDrawMediaSlider API
90172         change.
90173
90174         Fix compile RenderThemeChromiumMac.mm due to API changes from r45572
90175         https://bugs.webkit.org/show_bug.cgi?id=27018
90176
90177         This is mainly an API change update to fix the chromium compile.  It
90178         also has a small fix of a typo in RenderThemeMac.mm.
90179
90180         Compilation against the head of chromium trunk passed.  Since this is
90181         a compile fix, that should be sufficient.
90182
90183         * rendering/RenderThemeChromiumMac.mm:
90184         (WebCore::):
90185         (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
90186         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
90187         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
90188         (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
90189         (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
90190         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
90191         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
90192         * rendering/RenderThemeMac.mm:
90193         (WebCore::):
90194
90195 2009-07-06  David Kilzer  <ddkilzer@apple.com>
90196
90197         Bug 27002: Build fix when DASHBOARD_SUPPORT is disabled with -Wunused-parameter
90198
90199         <https://bugs.webkit.org/show_bug.cgi?id=27002>
90200
90201         Reviewed by Geoff Garen.
90202
90203         * html/CanvasRenderingContext2D.cpp:
90204         (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
90205         Mark gradient as an unused parameter when DASHBOARD_SUPPORT is
90206         disabled.
90207
90208 2009-07-06  David Kilzer  <ddkilzer@apple.com>
90209
90210         Bug 27001: Fix improper use of PassRefPtr<Node> to RefPtr<Node>
90211
90212         <https://bugs.webkit.org/show_bug.cgi?id=27001>
90213
90214         Reviewed by Geoff Garen.
90215
90216         PassRefPtr<> should only be used for arguments to functions that
90217         take ownership of the object, or as return values from functions
90218         that relinquish ownership of the object.
90219
90220         * editing/Editor.cpp:
90221         (WebCore::Editor::increaseSelectionListLevelOrdered): Changed
90222         stack-allocated PassRefPtr<Node> to RefPtr<Node> and call
90223         release() on returned object.
90224         (WebCore::Editor::increaseSelectionListLevelUnordered): Ditto.
90225
90226 2009-07-06  Eric Carlson  <eric.carlson@apple.com>
90227
90228         Reviewed by Simon Fraser.
90229
90230         <rdar://problem/7035474> Make new media controller UI default on SnowLeopard
90231
90232         * rendering/RenderThemeMac.mm:
90233         (WebCore::mediaControllerTheme):
90234             New media controller UI is enabled by default on SnowLeopard.
90235
90236 2009-07-06  Nate Chapin  <japhet@chromium.org>
90237
90238         Unreviewed, build fix.
90239
90240         Roll out r45559 to fix Chromium canary.
90241
90242         https://bugs.webkit.org/show_bug.cgi?id=26857
90243
90244         * bindings/scripts/CodeGeneratorV8.pm:
90245         * bindings/v8/V8Binding.cpp: Removed.
90246         * bindings/v8/V8Binding.h:
90247         (WebCore::toInt32):
90248         (WebCore::toWebCoreString):
90249         (WebCore::fromWebCoreString):
90250         (WebCore::toWebCoreStringWithNullCheck):
90251         (WebCore::isUndefinedOrNull):
90252         (WebCore::v8Boolean):
90253         * bindings/v8/V8LazyEventListener.cpp:
90254         (WebCore::V8LazyEventListener::getListenerFunction):
90255         * bindings/v8/V8Proxy.cpp:
90256         (WebCore::handleConsoleMessage):
90257         (WebCore::V8Proxy::compileScript):
90258         (WebCore::V8Proxy::sourceName):
90259         * bindings/v8/WorkerContextExecutionProxy.cpp:
90260         (WebCore::handleConsoleMessage):
90261         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
90262         (WebCore::NAMED_PROPERTY_SETTER):
90263         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
90264         (WebCore::CALLBACK_FUNC_DECL):
90265         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
90266         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
90267         * bindings/v8/custom/V8DOMWindowCustom.cpp:
90268         (WebCore::CALLBACK_FUNC_DECL):
90269         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
90270         (WebCore::CALLBACK_FUNC_DECL):
90271         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
90272         (WebCore::ACCESSOR_SETTER):
90273         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
90274         (WebCore::CALLBACK_FUNC_DECL):
90275         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
90276         (WebCore::removeElement):
90277         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
90278         (WebCore::CALLBACK_FUNC_DECL):
90279         * bindings/v8/custom/V8WorkerContextCustom.cpp:
90280         (WebCore::SetTimeoutOrInterval):
90281         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
90282         (WebCore::CALLBACK_FUNC_DECL):
90283
90284 2009-07-06  Eric Carlson  <eric.carlson@apple.com>
90285
90286         Reviewed by Darin Adler.
90287
90288         <rdar://problem/7008093> Media controller can’t be used to scrub when movie is 
90289         narrow â€” track is too narrow
90290
90291         Do not show media controller time display elements when the a movie is too narrow.
90292
90293         * platform/mac/WebCoreSystemInterface.h:
90294         * platform/mac/WebCoreSystemInterface.mm:
90295             The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
90296
90297         * rendering/MediaControlElements.cpp:
90298         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
90299             Give current time and time remaining controls a common base class.
90300         (WebCore::MediaControlTimeDisplayElement::setVisible):
90301             New method, hide and show the element.
90302         * rendering/MediaControlElements.h:
90303
90304         * rendering/RenderMedia.cpp:
90305         (WebCore::RenderMedia::RenderMedia):
90306             Initialize m_previousVisible.
90307         (WebCore::RenderMedia::layout):
90308             Show/hide the time display elements as the movie width changes.
90309         (WebCore::RenderMedia::createCurrentTimeDisplay):
90310         (WebCore::RenderMedia::createTimeRemainingDisplay):
90311             Base class is now MediaControlTimeDisplayElement, not MediaControlElement.
90312         (WebCore::RenderMedia::shouldShowTimeDisplayControls):
90313             New, decide if time display elements should be visible or not.
90314         * rendering/RenderMedia.h:
90315
90316         * rendering/RenderThemeMac.mm:
90317         (WebCore::):
90318         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
90319         (WebCore::RenderThemeMac::paintMediaMuteButton):
90320         (WebCore::RenderThemeMac::paintMediaPlayButton):
90321         (WebCore::RenderThemeMac::paintMediaSeekBackButton):
90322         (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
90323         (WebCore::RenderThemeMac::paintMediaSliderTrack):
90324         (WebCore::RenderThemeMac::paintMediaSliderThumb):
90325         (WebCore::RenderThemeMac::paintMediaRewindButton):
90326         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
90327         (WebCore::RenderThemeMac::paintMediaControlsBackground):
90328         (WebCore::RenderThemeMac::paintMediaCurrentTime):
90329         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
90330             The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
90331
90332 2009-07-06  David Kilzer  <ddkilzer@apple.com>
90333
90334         Bug 27000: Minor clean up to runtime_root.{cpp|h}
90335
90336         <https://bugs.webkit.org/show_bug.cgi?id=27000>
90337
90338         Reviewed by Geoff Garen.
90339
90340         * bridge/runtime_root.cpp: Added blank line between license and
90341         the first #include statement.
90342         * bridge/runtime_root.h: Added comment to #endif.
90343
90344 2009-07-06  Roland Steiner  <rolandsteiner@google.com>
90345
90346         Reviewed by Maciej Stachowiak.
90347
90348         generalize the special height treatment for SVG (to be re-used for ruby):
90349             renamed InlineBox::m_isSVG to m_hasVirtualHeight
90350             renamed InlineBox::isSVG() to hasVirtualHeight()
90351             renamed InlineBox::setIsSVG() to setHasVirtualHeight()
90352
90353         * rendering/InlineBox.cpp:
90354         (WebCore::InlineBox::height):
90355         * rendering/InlineBox.h:
90356         (WebCore::InlineBox::InlineBox):
90357         (WebCore::InlineBox::isText):
90358         (WebCore::InlineBox::setIsText):
90359         (WebCore::InlineBox::isSVGRootInlineBox):
90360         (WebCore::InlineBox::hasVirtualHeight):
90361         (WebCore::InlineBox::setHasVirtualHeight):
90362         (WebCore::InlineBox::virtualHeight):
90363         * rendering/RenderSVGInline.cpp:
90364         (WebCore::RenderSVGInline::createFlowBox):
90365         * rendering/RenderSVGInlineText.cpp:
90366         (WebCore::RenderSVGInlineText::createTextBox):
90367         * rendering/RenderSVGText.cpp:
90368         (WebCore::RenderSVGText::createRootBox):
90369         * rendering/SVGInlineFlowBox.h:
90370         (WebCore::SVGInlineFlowBox::virtualHeight):
90371         * rendering/SVGInlineTextBox.h:
90372         (WebCore::SVGInlineTextBox::virtualHeight):
90373         * rendering/SVGRootInlineBox.h:
90374         (WebCore::SVGRootInlineBox::virtualHeight):
90375
90376 2009-07-06  Alice Liu  <alice.liu@apple.com>
90377
90378         Reviewed by Darin Adler.
90379
90380         REGRESSION(r45285): focus rings are black on windows safari
90381         https://bugs.webkit.org/show_bug.cgi?id=26821
90382         <rdar://problem/7018252>
90383
90384         Add a mechanism for setting a custom focus ring color, and relocate the 
90385         determination of focus ring color to base class RenderTheme.
90386
90387         No new tests.  Already-existing tests run in pixel mode would have caught this regression
90388
90389         * css/CSSStyleSelector.cpp:
90390         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Move the responsibility
90391         of determining focus color to base class RenderTheme.
90392         * rendering/RenderTheme.cpp:
90393         (WebCore::customFocusRingColor): Added static local.
90394         (WebCore::RenderTheme::setCustomFocusRingColor): Added
90395         (WebCore::RenderTheme::focusRingColor): Use custom color over platform color.
90396         * rendering/RenderTheme.h:
90397         (WebCore::RenderTheme::platformFocusRingColor): default implementation, black color
90398         * rendering/RenderThemeSafari.cpp:
90399         (WebCore::RenderTheme::themeForPage): Circumstances that lead to returning the RenderThemeWin
90400         are the same under which we want to use the focus ring color from SafariTheme.
90401         (WebCore::RenderThemeSafari::platformFocusRingColor): Renamed from focusRingColor
90402         * rendering/RenderThemeSafari.h:
90403
90404         Renaming focusRingColor to platformFocusRingColor in these files:
90405         * rendering/RenderThemeChromiumMac.h:
90406         * rendering/RenderThemeChromiumMac.mm:
90407         (WebCore::RenderThemeChromiumMac::platformFocusRingColor):
90408         * rendering/RenderThemeChromiumSkia.cpp:
90409         (WebCore::RenderThemeChromiumSkia::platformFocusRingColor):
90410         * rendering/RenderThemeChromiumSkia.h:
90411         * rendering/RenderThemeMac.h:
90412         * rendering/RenderThemeMac.mm:
90413         (WebCore::RenderThemeMac::platformFocusRingColor):
90414
90415         Cleanup leftover from removal of WebCore::Color in r45285 in these files:
90416         * WebCore.order:
90417         * platform/graphics/Color.h:
90418
90419 2009-07-06  Shinichiro Hamaji  <hamaji@chromium.org>
90420
90421         Reviewed by David Hyatt.
90422
90423         Bug 15135: REGRESSION (r19843-r19850): Changing a flexbox's
90424         contents makes its container scroll to the top
90425         https://bugs.webkit.org/show_bug.cgi?id=15135
90426
90427         Delay updateing scroll bar of descendants of flexbox until their
90428         positions are determined.  In this way we can prevent descendants
90429         of flexible boxes from changing positions of their scrollbars
90430         using tentative positions.
90431
90432         Test: fast/flexbox/repaint-scrollbar.html
90433
90434         * rendering/RenderBlock.cpp:
90435         (WebCore::RenderBlock::startDelayUpdateScrollInfo):
90436         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
90437         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
90438         (WebCore::RenderBlock::layoutBlock):
90439         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
90440         * rendering/RenderBlock.h:
90441         * rendering/RenderFlexibleBox.cpp:
90442         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
90443         (WebCore::RenderFlexibleBox::layoutVerticalBox):
90444
90445 2009-07-06  Hironori Bono  <hbono@chromium.org>
90446
90447         Reviewed by Maciej Stachowiak.
90448
90449         Make unconfirmed IME text affect textarea's value.
90450         This matches input and contentEditable elements as well
90451         IE and Firefox.
90452
90453         This fixes https://bugs.webkit.org/show_bug.cgi?id=25061.
90454
90455         Input elements would go down this code path because it
90456         would always get a null compositionNode from frame->editor().
90457         Special casing compositionNodes is wrong because we explicitly
90458         want unconfirmed IME input in the textarea's value (assuming we
90459         want to match IE and Firefox here).
90460
90461         This change is originally created by Ojan Vafai <ojan@chromium.org> and
90462         I just changed its manual tests with an automated test on his behalf.
90463
90464         Test: platform/mac/editing/input/text-control-ime-input.html
90465
90466         * rendering/RenderTextControl.cpp:
90467         (WebCore::RenderTextControl::text):
90468         (WebCore::RenderTextControl::textWithHardLineBreaks):
90469
90470 2009-07-06  Anders Carlsson  <andersca@apple.com>
90471
90472         Reviewed by Adele Peterson.
90473
90474         Add the ability for wheel events to latch to a node.
90475         
90476         * WebCore.base.exp:
90477         * page/EventHandler.cpp:
90478         (WebCore::EventHandler::EventHandler):
90479         (WebCore::EventHandler::clear):
90480         (WebCore::EventHandler::handleWheelEvent):
90481         * page/EventHandler.h:
90482         * page/mac/EventHandlerMac.mm:
90483         (WebCore::EventHandler::wheelEvent):
90484         * platform/mac/WebCoreSystemInterface.h:
90485         * platform/mac/WebCoreSystemInterface.mm:
90486
90487 2009-07-06  Nate Chapin  <japhet@chromium.org>
90488
90489         Reviewed by Dimitri Glazkov.
90490
90491         Fix a bunch of layout test crahses in Chromium caused by a bad usage of DEFINE_STATIC_LOCAL.
90492
90493         https://bugs.webkit.org/show_bug.cgi?id=26997
90494
90495         * bindings/v8/V8Binding.cpp:
90496         (WebCore::v8ValueToWebCoreString): Use a regular static declaration instead of DEFINE_STATIC_LOCAL.
90497
90498 2009-07-06  Pavel Feldman  <pfeldman@chromium.org>
90499
90500         Reviewed by Timothy Hatcher.
90501
90502         WebInspector: suggest global properties based on async evaluation.
90503
90504         https://bugs.webkit.org/show_bug.cgi?id=26976
90505
90506         Before this change, empty string was evaluated to the global object
90507         (or scope chain object) synchronously. This is now fixed and global
90508         object is evaluated using the same control flow.
90509
90510         * inspector/front-end/Console.js:
90511         (WebInspector.Console.prototype.completions):
90512         (WebInspector.Console.prototype._evalInInspectedWindow):
90513         * inspector/front-end/ScriptsPanel.js:
90514         (WebInspector.ScriptsPanel.prototype._variablesInScope):
90515
90516 2009-07-06  Ojan Vafai  <ojan@chromium.org>
90517
90518         Reviewed by Eric Seidel.
90519
90520         Fix crash when indenting in an empty table cell.
90521         https://bugs.webkit.org/show_bug.cgi?id=26872
90522
90523         The crash is that we would call splitTreeToNode where the node
90524         and the nodeToSplitTo were the same node.
90525
90526         Test: editing/execCommand/indent-empty-table-cell.html
90527
90528         * editing/CompositeEditCommand.cpp:
90529         (WebCore::CompositeEditCommand::splitTreeToNode):
90530         Added an assert in that node and nodeToSplitTo
90531         are different nodes to make this assumption explicit.
90532
90533         * editing/IndentOutdentCommand.cpp:
90534         (WebCore::IndentOutdentCommand::isAtUnsplittableElement):
90535         (WebCore::IndentOutdentCommand::indentRegion):
90536         * editing/IndentOutdentCommand.h:
90537
90538 2009-07-06  Nate Chapin  <japhet@chromium.org>
90539
90540         Reviewed by David Levin.
90541
90542         Upstream V8Binding and update some function names.
90543
90544         https://bugs.webkit.org/show_bug.cgi?id=26857
90545
90546         * bindings/scripts/CodeGeneratorV8.pm: Update function names in auto-generated files.
90547         * bindings/v8/V8Binding.cpp: Upstreamed from src.chromium.org.
90548         * bindings/v8/V8Binding.h: Upstreamed from src.chromium.org.
90549         * bindings/v8/V8LazyEventListener.cpp:
90550         (WebCore::V8LazyEventListener::getListenerFunction):
90551         * bindings/v8/V8Proxy.cpp:
90552         (WebCore::handleConsoleMessage):
90553         (WebCore::V8Proxy::compileScript):
90554         (WebCore::V8Proxy::sourceName):
90555         * bindings/v8/WorkerContextExecutionProxy.cpp:
90556         (WebCore::handleConsoleMessage):
90557         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
90558         (WebCore::NAMED_PROPERTY_SETTER):
90559         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
90560         (WebCore::CALLBACK_FUNC_DECL):
90561         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
90562         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
90563         * bindings/v8/custom/V8DOMWindowCustom.cpp:
90564         (WebCore::CALLBACK_FUNC_DECL):
90565         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
90566         (WebCore::CALLBACK_FUNC_DECL):
90567         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
90568         (WebCore::ACCESSOR_SETTER):
90569         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
90570         (WebCore::CALLBACK_FUNC_DECL):
90571         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
90572         (WebCore::removeElement):
90573         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
90574         (WebCore::CALLBACK_FUNC_DECL):
90575         * bindings/v8/custom/V8WorkerContextCustom.cpp:
90576         (WebCore::SetTimeoutOrInterval):
90577         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
90578         (WebCore::CALLBACK_FUNC_DECL):
90579
90580 2009-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
90581
90582         Reviewed by Jan Alonzo.
90583
90584         Use soup's content sniffing
90585         https://bugs.webkit.org/show_bug.cgi?id=26982
90586
90587         Drop our hackish content sniffing code, and use the new libsoup
90588         feature to do that job for us.
90589
90590         Testing this is in a cross-platform way is not obvious or possible
90591         while we are using platform-specific code for sniffing.
90592
90593         * platform/network/ResourceHandleInternal.h:
90594         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
90595         * platform/network/soup/ResourceHandleSoup.cpp:
90596         (WebCore::gotHeadersCallback):
90597         (WebCore::contentSniffedCallback):
90598         (WebCore::gotChunkCallback):
90599         (WebCore::ResourceHandle::startHttp):
90600
90601 2009-07-05  Antonio Gomes  <antonio.gomes@openbossa.org>
90602
90603         Reviewed by Darin Adler.
90604
90605         REGRESSION (r40499): fast/dom/cssTarget-crash.html fails
90606         https://bugs.webkit.org/show_bug.cgi?id=20342
90607
90608         Re-added code removed by commit r40499.
90609         Without this, both Qt and Mac were crashing while running the test.
90610
90611         Note that this does not entirely fix the bug. It fixes the WebCore
90612         crash, but the test no longer seems to work due to loader changes.
90613         So this patch does not reenable the test. The test probably has to
90614         be rewritten.
90615
90616         * dom/ContainerNode.cpp:
90617         (WebCore::ContainerNode::removedFromDocument): Re-added code to
90618         set the CSS target of the document to 0.
90619
90620 2009-07-05  Chris Marrin  <cmarrin@apple.com>
90621
90622         Reviewed by Simon Fraser.
90623
90624         https://bugs.webkit.org/show_bug.cgi?id=26943
90625
90626         When one transition finishes slightly before another the longer
90627         one will fire a second time. This is because the second
90628         ImplicitAnmation object is culled too early, before its final
90629         RenderStyle is in place. This is done by cleanupFinishedAnimations()
90630         so I got rid of that method completely and now cleanup each
90631         transition or animation at the point where I am setting the final
90632         style, or when I detect that the transition or animation has been
90633         terminated early (which happens when you remove it from the style).
90634
90635         Test: transitions/extra-transition.html
90636
90637         * page/animation/AnimationController.cpp:
90638         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
90639         * page/animation/CompositeAnimation.cpp:
90640         (WebCore::CompositeAnimation::updateTransitions):
90641         (WebCore::CompositeAnimation::updateKeyframeAnimations):
90642         (WebCore::CompositeAnimation::animate):
90643         * page/animation/CompositeAnimation.h:
90644
90645         * page/animation/AnimationBase.cpp:
90646         (WebCore::AnimationBase::getTimeToNextEvent):
90647         Avoid a divide by zero if m_animation->duration() is zero, which can happen
90648         if the duration is changed to zero while the animation is running.
90649
90650 2009-07-05  Simon Fraser  <simon.fraser@apple.com>
90651
90652         Revert the previous commit because it broke the
90653         animations/transition-and-animation-1.html
90654         testcase.
90655
90656         * page/animation/AnimationBase.cpp:
90657         (WebCore::AnimationBase::getTimeToNextEvent):
90658         * page/animation/AnimationController.cpp:
90659         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
90660         * page/animation/CompositeAnimation.cpp:
90661         (WebCore::CompositeAnimation::updateTransitions):
90662         (WebCore::CompositeAnimation::updateKeyframeAnimations):
90663         (WebCore::CompositeAnimation::animate):
90664         (WebCore::CompositeAnimation::cleanupFinishedAnimations):
90665         * page/animation/CompositeAnimation.h:
90666
90667 2009-07-05  Chris Marrin  <cmarrin@apple.com>
90668
90669         Reviewed by Simon Fraser.
90670
90671         https://bugs.webkit.org/show_bug.cgi?id=26943
90672
90673         When one transition finishes slightly before another the longer
90674         one will fire a second time. This is because the second 
90675         ImplicitAnmation object is culled too early, before its final
90676         RenderStyle is in place. This is done by cleanupFinishedAnimations()
90677         so I got rid of that method completely and now cleanup each 
90678         transition or animation at the point where I am setting the final
90679         style, or when I detect that the transition or animation has been
90680         terminated early (which happens when you remove it from the style).
90681
90682         Test: transitions/extra-transition.html
90683
90684         * page/animation/AnimationController.cpp:
90685         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
90686         * page/animation/CompositeAnimation.cpp:
90687         (WebCore::CompositeAnimation::updateTransitions):
90688         (WebCore::CompositeAnimation::updateKeyframeAnimations):
90689         (WebCore::CompositeAnimation::animate):
90690         * page/animation/CompositeAnimation.h:
90691
90692         * page/animation/AnimationBase.cpp:
90693         (WebCore::AnimationBase::getTimeToNextEvent):
90694         Avoid a divide by zero if m_animation->duration() is zero, which can happen
90695         if the duration is changed to zero while the animation is running.
90696
90697 2009-07-05  Lars Knoll  <lars.knoll@nokia.com>
90698
90699         Reviewed by Maciej Stachowiak.
90700
90701         https://bugs.webkit.org/show_bug.cgi?id=26843
90702
90703         Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian.
90704
90705         The Metrowerks compiler on the Symbian platform moves the globally
90706         defined Hashtables into read-only memory, despite one of the members
90707         being mutable. This causes crashes at run-time due to write access to
90708         read-only memory.
90709
90710         Avoid the use of const with this compiler by introducing the
90711         JSC_CONST_HASHTABLE macro.
90712
90713         Based on idea by Norbert Leser.
90714
90715         * bindings/scripts/CodeGeneratorJS.pm: Use JSC_CONST_HASHTABLE for hash tables
90716         define in the bindings.
90717
90718 2009-07-05  Rob Buis  <rwlbuis@gmail.com>
90719
90720         Reviewed by Maciej Stachowiak.
90721
90722         Bug 26897 - Dynamic SVG images do not display correctly
90723         https://bugs.webkit.org/show_bug.cgi?id=26897
90724
90725         Use repaint() to fix a rendering problem with a SVG image embedded in xhtml.
90726
90727         Test: svg/custom/createImageElement2.xhtml
90728
90729         * rendering/RenderSVGImage.cpp:
90730         (WebCore::RenderSVGImage::imageChanged):
90731
90732 2009-07-05  Xan Lopez  <xlopez@igalia.com>
90733
90734         Reviewed by Jan Alonzo.
90735
90736         https://bugs.webkit.org/show_bug.cgi?id=26960
90737         [Gtk] caret offset not updated when selecting text
90738
90739         Report the caret offset from the end of the selection so it works
90740         correctly for multi-char selections too (ie, anything that is not
90741         the zero width caret).
90742
90743         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
90744         (webkit_accessible_text_get_caret_offset):
90745
90746 2009-07-05  Holger Hans Peter Freyther  <zecke@selfish.org>
90747
90748         Unreviewed link fix for Qt.
90749
90750         Fix Qt link error by adding two new localized strings
90751
90752         In r45474 two new strings got added to LocalizedStrings.h add
90753         the definition of them to Qt.
90754
90755         * platform/qt/Localizations.cpp:
90756         (WebCore::mediaElementLoadingStateText):
90757         (WebCore::mediaElementLiveBroadcastStateText):
90758
90759 2009-07-03  Darin Adler  <darin@apple.com>
90760
90761         Reviewed by Adele Peterson.
90762
90763         REGRESSION (r44670-r44680): Typing is suprisingly slow in password field on reddit.com
90764         https://bugs.webkit.org/show_bug.cgi?id=26959
90765         rdar://problem/7029882
90766
90767         The code to handle iteration boundaries was malfunctioning when the boundary was
90768         at the edge of a shadow tree. This happens all the time with <input> elements.
90769
90770         It's not immediately obvious how to make a regression test for this since the
90771         symptom was a performance problem, not incorrect behavior. I'll add a test if I
90772         figure out a way to make one.
90773
90774         * editing/TextIterator.cpp:
90775         (WebCore::parentCrossingShadowBoundaries): Renamed from parentOrShadowParent.
90776         (WebCore::depthCrossingShadowBoundaries): Updated for name change.
90777         (WebCore::nextInPreOrderCrossingShadowBoundaries): Added.
90778         (WebCore::previousInPostOrderCrossingShadowBoundaries): Added.
90779         (WebCore::setUpFullyClippedStack): Updated for name change.
90780         (WebCore::TextIterator::TextIterator): Updated for name change. Use
90781         nextInPreOrderCrossingShadowBoundaries instead of Range::pastLastNode to fix the bug.
90782         (WebCore::TextIterator::advance): Updated for name change.
90783         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
90784         Tweaked formatting.
90785         (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. Changed code that
90786         initializes m_pastStartNode to use previousInPostOrderCrossingShadowBoundaries.
90787         (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Tweaked formatting.
90788         (WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto.
90789
90790 2009-07-03  Simon Fraser  <simon.fraser@apple.com>
90791
90792         Reviewed by Sam Weinig.
90793
90794         Background audio stops playing when JS GC runs
90795         https://bugs.webkit.org/show_bug.cgi?id=26956
90796         
90797         Ensure we keep the Audio object around while it is playing, so that it
90798         doesn't get collected.
90799         
90800         Not testable because there's no way to know whether the audio keeps
90801         playing without holding a reference to it.
90802
90803         * bindings/js/JSDOMBinding.cpp:
90804         (WebCore::isObservableThroughDOM):
90805
90806 2009-07-02  Xan Lopez  <xlopez@igalia.com>
90807
90808         Reviewed by Jan Alonzo.
90809
90810         https://bugs.webkit.org/show_bug.cgi?id=26814
90811         [Gtk] Caret-moved events are not issued for the correct offset
90812         when text is selected forward
90813
90814         Report the caret offset from the end of the selection, otherwise
90815         we'll report the same offset when moving the caret while
90816         modififying the selection (eg, with Shift Right).
90817
90818         * editing/gtk/SelectionControllerGtk.cpp:
90819         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
90820
90821 2009-07-02  Xan Lopez  <xlopez@igalia.com>
90822
90823         Reviewed by Jan Alonzo.
90824
90825         https://bugs.webkit.org/show_bug.cgi?id=26815
90826         [Gtk] text-selection-changed events are not issued for the correct
90827         object when the selection spans multiple objects
90828
90829         Get the focused node from the end of the selection, not the start,
90830         so we can detect when we cross object boundaries.
90831
90832         * editing/gtk/SelectionControllerGtk.cpp:
90833         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
90834
90835 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
90836
90837         Reviewed by Simon Fraser.
90838
90839         https://bugs.webkit.org/show_bug.cgi?id=26947
90840
90841         Fix the media controls hit tests. They may lose click events.
90842
90843         Test cases already covered in the video-controls-zoomed tests.
90844
90845         Don't trust wkHitTestMediaUIPart for the tests. We are accurate enough.
90846
90847         * rendering/RenderThemeMac.h: Remove hitTestMediaControlPart.
90848         * rendering/RenderThemeMac.mm: Remove hitTestMediaControlPart.
90849
90850 2009-07-02  Roland Steiner  <rolandsteiner@google.com>
90851
90852         Reviewed by Eric Seidel.
90853
90854         RenderBlock and RenderInline have confusingly named object creation methods:
90855         RenderBlock::createRootBox/createRootInlineBox
90856         RenderInline::createFlowBox/createInlineFlowBox
90857         where the 2nd method in both cases just calls the first and then appends the created object.
90858         I therefore renamed those methods to something IMHO more informative:
90859         
90860         createRootBox()         -> createRootInlineBox()
90861         createRootInlineBox()   -> createAndAppendRootInlineBox();
90862         createFlowBox()         -> createInlineFlowBox();
90863         createInlineFlowBox()   -> createAndAppendInlineFlowBox();
90864
90865         https://bugs.webkit.org/show_bug.cgi?id=26828
90866
90867         * rendering/RenderBlock.cpp:
90868         (WebCore::RenderBlock::createRootInlineBox):
90869         (WebCore::RenderBlock::createAndAppendRootInlineBox):
90870         * rendering/RenderBlock.h:
90871         * rendering/RenderInline.cpp:
90872         (WebCore::RenderInline::createInlineFlowBox):
90873         (WebCore::RenderInline::createAndAppendInlineFlowBox):
90874         * rendering/RenderInline.h:
90875         * rendering/RenderSVGInline.cpp:
90876         (WebCore::RenderSVGInline::createInlineFlowBox):
90877         * rendering/RenderSVGInline.h:
90878         * rendering/RenderSVGText.cpp:
90879         (WebCore::RenderSVGText::createRootInlineBox):
90880         * rendering/RenderSVGText.h:
90881         * rendering/bidi.cpp:
90882         (WebCore::createInlineBoxForRenderer):
90883
90884 2009-07-02  Pavel Feldman  <pfeldman@chromium.org>
90885
90886         Reviewed by Timothy Hatcher.
90887
90888         WebInspector: Fix typo in the resource panel enabler caption.
90889
90890         https://bugs.webkit.org/show_bug.cgi?id=26753
90891
90892         * English.lproj/localizedStrings.js:
90893         * inspector/front-end/ResourcesPanel.js:
90894         (WebInspector.ResourcesPanel):
90895
90896 2009-07-02  Erik Arvidsson  <arv@chromium.org>
90897
90898         Reviewed by Adam Roben.
90899
90900         [Win] HTML5 Drag and drop, dragend is not fired when pressing Esc
90901         https://bugs.webkit.org/show_bug.cgi?id=26699
90902
90903         * manual-tests/drag-escape.html: Added.
90904         * page/EventHandler.cpp:
90905         (WebCore::EventHandler::dragSourceEndedAt):
90906
90907 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
90908
90909         Reviewed by Simon Fraser. 
90910         
90911         https://bugs.webkit.org/show_bug.cgi?id=26944
90912
90913         Make sure we support full page zoom in video controls.
90914
90915         This is tracked by a the video-controls-zoom test case.
90916
90917         * css/mediaControlsQT.css: Make sure we don't have any inherited margin.
90918         * rendering/MediaControlElements.cpp:
90919         (WebCore::MediaControlElement::updateStyle): Propagate the style to the innertext.
90920         * rendering/RenderThemeMac.mm: Adjust the painting rect.
90921         (WebCore::getUnzoomedRectAndAdjustCurrentContext):
90922         (WebCore::RenderThemeMac::paintMediaSliderTrack):
90923         (WebCore::RenderThemeMac::paintMediaCurrentTime):
90924         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
90925
90926 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
90927
90928         Fix the Gtk build after r45474. The localized strings should
90929         have been added there.
90930
90931         * platform/gtk/LocalizedStringsGtk.cpp:
90932         (WebCore::mediaElementLoadingStateText):
90933         (WebCore::mediaElementLiveBroadcastStateText):
90934
90935 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
90936
90937         Reviewed by Simon Fraser.
90938
90939         https://bugs.webkit.org/show_bug.cgi?id=26939
90940
90941         Media controller is rendered badly at http://www.mozilla.com/en-US/firefox/video/firefox-3.5.html
90942
90943         We fix two things:
90944         - We use px instead of em, because px is used everywhere else
90945         and because 0.09em hit the font size limit.
90946         - We use -webkit-box instead of inline-block because in strict mode
90947         inline-block has a different behavior.
90948
90949         Test: media/controls-strict.html
90950
90951         * css/mediaControlsQT.css:
90952
90953 2009-07-02  David Hyatt  <hyatt@apple.com>
90954
90955         Reviewed by Dan Bernstein.
90956
90957         TextIterator should use hasOverflowClip when checking for overflow instead of looking at the style.
90958         https://bugs.webkit.org/show_bug.cgi?id=26942
90959
90960         * editing/TextIterator.cpp:
90961         (WebCore::fullyClipsContents):
90962
90963 2009-07-02  Sam Weinig  <sam@webkit.org>
90964
90965         Reviewed by Dave Hyatt.
90966
90967         Fix for <rdar://problem/5230700>
90968         Remove local .xhtml file workaround
90969
90970         * platform/network/mac/ResourceResponseMac.mm:
90971         (WebCore::ResourceResponse::platformLazyInit): Work around is no longer necessary.
90972
90973 2009-07-02  Anders Carlsson  <andersca@apple.com>
90974
90975         Reviewed by Dan Bernstein.
90976
90977         Sort, add functions used by WebKit.
90978         
90979         * WebCore.base.exp:
90980
90981 2009-07-02  Brady Eidson  <beidson@apple.com>
90982
90983         Rubberstamped by Sam Weinig.
90984
90985         More of <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
90986
90987         * platform/network/mac/WebCoreURLResponse.mm:
90988         (webNSURLResponseMIMEType): Give Tiger a chance to query the UTI machinery.
90989
90990 2009-07-02  Adam Langley  <agl@google.com>
90991
90992         Reviewed by Eric Seidel.
90993
90994         Chromium Linux: fix complex text rendering with line break characters.
90995
90996         https://bugs.webkit.org/show_bug.cgi?id=26935
90997
90998         If the CSS white-space property is inhibiting line breaking, we might
90999         find end-of-line characters rendered via the complex text path. Fonts
91000         don't provide glyphs for these code points so, if we find one, we
91001         simulate the space glyph being interposed in this case.  Because the
91002         input is variable-length per code point, we walk the input in step
91003         with the output.
91004
91005         Covered by:
91006             LayoutTests/fast/text/international/bidi-linebreak-002.html
91007             LayoutTests/fast/text/international/bidi-linebreak-003.html
91008             LayoutTests/fast/text/international/hindi-whitespace.html
91009
91010         * platform/graphics/chromium/HarfbuzzSkia.cpp:
91011         (WebCore::stringToGlyphs):
91012
91013 2009-07-02  Victor Wang  <victorw@chromium.org>
91014
91015         Reviewed by Darin Fisher.
91016
91017         https://bugs.webkit.org/show_bug.cgi?id=26521
91018         Expose file size to chromium.
91019
91020         Implement getFileSize() for Chromium.
91021
91022         * platform/chromium/ChromiumBridge.h:
91023         * platform/chromium/FileSystemChromium.cpp:
91024         (WebCore::getFileSize):
91025
91026 2009-07-02  Nate Chapin  <japhet@chromium.org>
91027
91028         Unreviewed, build fix.
91029
91030         * bindings/v8/V8SVGPODTypeWrapper.h: Lost a space in nested template argument list.
91031
91032 2009-07-02  Simon Fraser  <simon.fraser@apple.com>
91033
91034         Build fix: add missing #include.
91035
91036         * platform/mac/ThemeMac.mm:
91037
91038 2009-07-02  Simon Fraser  <simon.fraser@apple.com>
91039
91040         Reviewed by Dave Hyatt.
91041
91042         <rdar://problem/7028682> ThemeMac::paintRadio() throws Obj-C exceptions when zoomed
91043
91044         Add BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS guards around code
91045         that can possibly throw Objective-C exceptions when drawing Mac form controls.
91046
91047         * platform/mac/ThemeMac.mm:
91048         (WebCore::paintCheckbox):
91049         (WebCore::paintRadio):
91050         (WebCore::paintButton):
91051         (WebCore::ThemeMac::inflateControlPaintRect):
91052
91053 2009-07-02  Nate Chapin  <japhet@chromium.org>
91054
91055         Reviewed by David Levin.
91056
91057         Upstream V8SVGPODTypeWrapper.
91058
91059         https://bugs.webkit.org/show_bug.cgi?id=26907
91060
91061         * bindings/scripts/CodeGeneratorV8.pm: Update function being renamed in V8SVGPODTypeWrapper.h.
91062         * bindings/v8/V8SVGPODTypeWrapper.h: Upstreamed from src.chromium.org.
91063
91064 2009-07-02  Dumitru Daniliuc  <dumi@chromium.org>
91065
91066         Reviewed by Dimitri Glazkov.
91067
91068         Adds an abstraction layer between the DB classes and the file
91069         system, which allows us to add our own logic for storing, opening,
91070         deleting, etc. databases.
91071
91072         The patch was tested using the tests in WebCore/storage.
91073
91074         https://bugs.webkit.org/show_bug.cgi?id=26054
91075
91076         * GNUmakefile.am:
91077         * WebCore.pro:
91078         * WebCore.vcproj/WebCore.vcproj:
91079         * WebCore.xcodeproj/project.pbxproj:
91080         * platform/sql/SQLiteDatabase.cpp:
91081         (WebCore::SQLiteDatabase::open): Delegating the job of opening DB files to SQLiteFileSystem to allow use of custom VFSs.
91082         * platform/sql/SQLiteFileSystem.cpp: Added.
91083         * platform/sql/SQLiteFileSystem.h: Added.
91084         * platform/win/FileSystemWin.cpp:
91085         (WebCore::directoryName): Implemented.
91086         * storage/Database.cpp:
91087         (WebCore::Database::databaseSize): The code that returns the size of a DB file moved to SQLiteFileSystem.
91088         * storage/DatabaseTracker.cpp:
91089         (WebCore::DatabaseTracker::DatabaseTracker): Added the ability to register a custom SQLite VFS.
91090         (WebCore::DatabaseTracker::trackerDatabasePath): DB file-related operations moved to SQLiteFileSystem.
91091         (WebCore::DatabaseTracker::openTrackerDatabase): DB file-related operations moved to SQLiteFileSystem.
91092         (WebCore::DatabaseTracker::originPath): DB file-related operations moved to SQLiteFileSystem.
91093         (WebCore::DatabaseTracker::fullPathForDatabase): DB file-related operations moved to SQLiteFileSystem.
91094         (WebCore::DatabaseTracker::usageForDatabase): DB file-related operations moved to SQLiteFileSystem.
91095         (WebCore::DatabaseTracker::deleteOrigin): DB file-related operations moved to SQLiteFileSystem.
91096         (WebCore::DatabaseTracker::deleteDatabaseFile): DB file-related operations moved to SQLiteFileSystem.
91097         * storage/OriginUsageRecord.cpp:
91098         (WebCore::OriginUsageRecord::diskUsage): DB file-related operations moved to SQLiteFileSystem.
91099
91100 2009-07-02  David Hyatt  <hyatt@apple.com>
91101
91102         Reviewed by Simon Fraser.
91103
91104         Always clip replaced elements to border radii.
91105         https://bugs.webkit.org/show_bug.cgi?id=26933
91106
91107         Make sure to always clip replaced elements to border radii, even when overflow is visible.
91108         Stop defaulting those elements to overflow:hidden in the UA sheet, since it is now no longer
91109         necessary.
91110
91111         Covered by existing tests (since the UA default changing keeps the behavior exactly the same).
91112
91113         * css/html.css:
91114         * rendering/RenderReplaced.cpp:
91115         (WebCore::RenderReplaced::paint):
91116         * rendering/RenderWidget.cpp:
91117         (WebCore::RenderWidget::paint):
91118
91119 2009-07-02  Jeremy Orlow  <jorlow@chromium.org>
91120
91121         Reviewed by Simon Fraser.
91122
91123         convertFromScrollbarToContainingView and friends should be in ScrollView
91124         https://bugs.webkit.org/show_bug.cgi?id=26929
91125
91126         This is breaking Chromium's build because PopupMenuChromium inherits
91127         from ScrollView, but these functions are pure virtual in it.  I could
91128         put it directly in PopupMenuChromium, but that seems a bit silly since
91129         the functions are fairly generic.
91130
91131         Passes existing layout tests.
91132
91133         * page/FrameView.cpp:  Remove the 4 functions Hyatt just added
91134         (IntRect WebCore::FrameView::convertFromScrollbarToContainingView):
91135         (IntRect WebCore::FrameView::convertFromContainingViewToScrollBar):
91136         (IntPoint WebCore::FrameView::convertFromScrollbarToContainingView):
91137         (IntPoint WebCore::FrameView::convertFromContainingViewToScrollBar):
91138         * page/FrameView.h: ditto
91139         * platform/ScrollView.cpp:  Move the 4 functions from FrameView here
91140         (IntRect WebCore::ScrollView::convertFromScrollbarToContainingView):
91141         (IntRect WebCore::ScrollView::convertFromContainingViewToScrollBar):
91142         (IntPoint WebCore::ScrollView::convertFromScrollbarToContainingView):
91143         (IntPoint WebCore::ScrollView::convertFromContainingViewToScrollBar):
91144         * platform/ScrollView.h: ditto
91145
91146 2009-07-02  Dirk Pranke  <dpranke@chromium.org>
91147
91148         Reviewed by Darin Fisher.
91149
91150         Fix https://bugs.webkit.org/show_bug.cgi?id=26088 - TransparencyWin 
91151         doesn't handle errors well at all; revise it to fail silently 
91152         (drawing nothing), and bulletproof FontChromiumWin to handle the
91153         failure accordingly.
91154
91155         Tests: fast/text/text-large-negative-letter-spacing-with-opacity.html
91156                fast/text/text-letter-spacing.html
91157
91158         * platform/graphics/chromium/FontChromiumWin.cpp:
91159         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
91160         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
91161         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
91162         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
91163         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
91164         (WebCore::Font::drawGlyphs):
91165         (WebCore::Font::drawComplexText):
91166         * platform/graphics/chromium/TransparencyWin.cpp:
91167         (WebCore::TransparencyWin::TransparencyWin):
91168         (WebCore::TransparencyWin::setupLayerForNoLayer):
91169         (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
91170         (WebCore::TransparencyWin::setupLayerForWhiteLayer):
91171         (WebCore::TransparencyWin::setupTransformForKeepTransform):
91172         (WebCore::TransparencyWin::setupTransformForScaleTransform):
91173         (WebCore::TransparencyWin::initializeNewContext):
91174         (WebCore::TransparencyWin::compositeOpaqueComposite):
91175         (WebCore::TransparencyWin::compositeTextComposite):
91176         (WebCore::TransparencyWin::makeLayerOpaque):
91177         * platform/graphics/chromium/TransparencyWin.h:
91178         (WebCore::TransparencyWin::platformContext):
91179
91180 2009-07-02  Eric Carlson  <eric.carlson@apple.com>
91181
91182         Change #import to #include to fix non-ObjC builds.
91183
91184         * rendering/MediaControlElements.cpp:
91185
91186 2009-07-02  Anders Carlsson  <andersca@apple.com>
91187
91188         Build fix.
91189         
91190         * platform/network/mac/WebCoreURLResponse.mm:
91191         (mimeTypeFromUTITree):
91192
91193 2009-07-02  David Hyatt  <hyatt@apple.com>
91194
91195         Reviewed by Simon Fraser.
91196
91197         Fix for bug 22119, clicks in the scrollbars of transformed content don't work.  Add new
91198         conversion methods for going across parent/child widget boundaries that can be implemented
91199         by the FrameView and ScrollbarClient to be transform-aware.
91200
91201         Test cases added in platform/mac/fast/forms and platform/mac/fast/overflow.
91202
91203         * WebCore.base.exp:
91204         * page/EventHandler.cpp:
91205         (WebCore::EventHandler::handleMouseMoveEvent):
91206         * page/FrameView.cpp:
91207         (WebCore::FrameView::convertFromScrollbarToContainingView):
91208         (WebCore::FrameView::convertFromContainingViewToScrollbar):
91209         (WebCore::FrameView::convertFromRenderer):
91210         (WebCore::FrameView::convertToRenderer):
91211         (WebCore::FrameView::convertToContainingView):
91212         (WebCore::FrameView::convertFromContainingView):
91213         * page/FrameView.h:
91214         * platform/ScrollView.h:
91215         * platform/Scrollbar.cpp:
91216         (WebCore::Scrollbar::convertToContainingView):
91217         (WebCore::Scrollbar::convertFromContainingView):
91218         * platform/Scrollbar.h:
91219         * platform/ScrollbarClient.h:
91220         (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
91221         (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
91222         * platform/Widget.cpp:
91223         (WebCore::Widget::convertFromContainingWindow):
91224         (WebCore::Widget::convertToContainingWindow):
91225         (WebCore::Widget::convertFromRootToContainingWindow):
91226         (WebCore::Widget::convertFromContainingWindowToRoot):
91227         (WebCore::Widget::convertToContainingView):
91228         (WebCore::Widget::convertFromContainingView):
91229         * platform/Widget.h:
91230         * platform/graphics/IntPoint.h:
91231         (WebCore::IntPoint::move):
91232         * platform/mac/WidgetMac.mm:
91233         (WebCore::Widget::convertFromRootToContainingWindow):
91234         (WebCore::Widget::convertFromContainingWindowToRoot):
91235         * rendering/RenderBlock.cpp:
91236         (WebCore::RenderBlock::isPointInOverflowControl):
91237         * rendering/RenderDataGrid.cpp:
91238         (WebCore::RenderDataGrid::convertFromScrollbarToContainingView):
91239         (WebCore::RenderDataGrid::convertFromContainingViewToScrollbar):
91240         * rendering/RenderDataGrid.h:
91241         * rendering/RenderLayer.cpp:
91242         (WebCore::RenderLayer::convertFromScrollbarToContainingView):
91243         (WebCore::RenderLayer::convertFromContainingViewToScrollbar):
91244         (WebCore::RenderLayer::scrollbarOffset):
91245         (WebCore::RenderLayer::hitTestOverflowControls):
91246         * rendering/RenderLayer.h:
91247         * rendering/RenderListBox.cpp:
91248         (WebCore::RenderListBox::isPointInOverflowControl):
91249         (WebCore::RenderListBox::convertFromScrollbarToContainingView):
91250         (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
91251         * rendering/RenderListBox.h:
91252
91253 2009-07-02  Dan Bernstein  <mitz@apple.com>
91254
91255         Reviewed by Dave Hyatt and Simon Fraser.
91256
91257         - fix <rdar://problem/6933052> SPOD playing video in a div with a box
91258           shadow
91259
91260         Test: fast/box-shadow/transform-fringing.html
91261
91262         * rendering/RenderBoxModelObject.cpp:
91263         (WebCore::RenderBoxModelObject::paintBoxShadow): Clip out the
91264         box even if it has an opaque background, but in that case, inset the
91265         clip path by 1 pixel, to avoid antialiasing artifacts.
91266         Do not inset the clip rect by 1 pixel if the CTM is purely a
91267         translation.
91268         Move the shadow-casting path away in the non-rounded-rect case (it
91269         was already being done in the rounded-rect case), to avoid a black
91270         fringe when the CTM is not purely a translation.
91271
91272 2009-07-02  Brady Eidson  <beidson@apple.com>
91273
91274         Reviewed by Sam Weinig.
91275
91276         <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
91277
91278         Walk the CoreTypes UTI tree for extensions with unknown MIME types, using the first MIME type found.
91279
91280         For many types of text files (such as source code files) this ends up being text/plain.
91281
91282         * platform/network/mac/ResourceHandleMac.mm:
91283         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Tweak the logging output.
91284
91285         * platform/network/mac/WebCoreURLResponse.h:
91286         * platform/network/mac/WebCoreURLResponse.mm:
91287         (mimeTypeFromUTITree): 
91288         (webNSURLResponseMIMEType): Use mimeTypeFromUTITree() to find a UTI-based MIME type for this file's extension.
91289         (-[NSURLResponse _webcore_reportedMIMEType]): Return the actual MIME type that CFNetwork gave us.
91290
91291 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
91292
91293         Reviewed by Simon Fraser.
91294
91295         <rdar://problem/6518119>
91296
91297         Add a rewind button and hide the timeline for live broadcasts when
91298         in MediaUI mode.
91299
91300         * css/CSSPrimitiveValueMappings.h: 
91301         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add the new pseudo element.
91302
91303         * css/CSSSelector.cpp:
91304         (WebCore::CSSSelector::extractPseudoType): Ditto.
91305         * css/CSSSelector.h: 
91306
91307         * css/CSSStyleSelector.cpp:
91308         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
91309
91310         * css/CSSValueKeywords.in: Ditto.
91311         * css/mediaControls.css: Ditto.
91312         * css/mediaControlsQT.css: Ditto.
91313
91314         * html/HTMLMediaElement.cpp:
91315         (WebCore::HTMLMediaElement::rewind): New.
91316         (WebCore::HTMLMediaElement::returnToRealTime): New.
91317         (WebCore::HTMLMediaElement::isStreaming): New.
91318         * html/HTMLMediaElement.h:
91319
91320         * page/mac/WebCoreViewFactory.h: Declare mediaElementLoadingStateText and mediaElementLiveBroadcastStateText.
91321
91322         * platform/LocalizedStrings.h: Add localized media state messages.
91323
91324         * platform/ThemeTypes.h: Add the new pseudo element.
91325
91326         * platform/mac/LocalizedStringsMac.mm: 
91327         (WebCore::mediaElementLoadingStateText): Add localized media state.
91328         (WebCore::mediaElementLiveBroadcastStateText): Ditto.
91329
91330         * platform/mac/WebCoreSystemInterface.h: Change BOOL param wkDrawMediaUIPart to an int to support
91331            multiple states.
91332         * platform/mac/WebCoreSystemInterface.mm: Ditto.
91333
91334         * rendering/MediaControlElements.cpp: 
91335         (WebCore::MediaControlElement::MediaControlElement): Deal with new elements.
91336         (WebCore::MediaControlElement::attachToParent): Ditto.
91337         (WebCore::MediaControlElement::update): Ditto.
91338         (WebCore::MediaControlElement::updateStyle): Ditto.
91339         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
91340         (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): Ditto.
91341         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
91342         (WebCore::MediaControlStatusDisplayElement::update): Ditto.
91343         (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Ditto.
91344         (WebCore::MediaControlInputElement::MediaControlInputElement): Ditto.
91345         (WebCore::MediaControlInputElement::attachToParent): Ditto.
91346         (WebCore::MediaControlInputElement::updateStyle): Ditto.
91347         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
91348         (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
91349         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
91350         (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
91351         (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): Ditto.
91352         (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
91353         (WebCore::MediaControlTimelineElement::update): Ditto.
91354         (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): Ditto.
91355         * rendering/MediaControlElements.h: Ditto.
91356
91357         * rendering/RenderMedia.cpp: 
91358         (WebCore::RenderMedia::styleDidChange): Deal with the new elements.
91359         (WebCore::RenderMedia::createPanel): Ditto.
91360         (WebCore::RenderMedia::createRewindButton): Ditto.
91361         (WebCore::RenderMedia::createReturnToRealtimeButton): Ditto.
91362         (WebCore::RenderMedia::createStatusDisplay): Ditto.
91363         (WebCore::RenderMedia::createTimelineContainer): Ditto.
91364         (WebCore::RenderMedia::createCurrentTimeDisplay): Ditto.
91365         (WebCore::RenderMedia::createTimeRemainingDisplay): Ditto.
91366         (WebCore::RenderMedia::updateControls): Ditto.
91367         (WebCore::RenderMedia::forwardEvent): Ditto.
91368         * rendering/RenderMedia.h:
91369
91370         * rendering/RenderTheme.cpp:
91371         (WebCore::RenderTheme::paint): Deal with the new elements.
91372
91373         * rendering/RenderTheme.h:
91374         (WebCore::RenderTheme::paintMediaRewindButton): Deal with the new elements.
91375         (WebCore::RenderTheme::paintMediaReturnToRealtimeButton): Ditto.
91376         (WebCore::RenderTheme::paintMediaControlsBackground): Ditto.
91377
91378         * rendering/RenderThemeMac.h:
91379         * rendering/RenderThemeMac.mm:
91380         (WebCore::RenderThemeMac::paintMediaRewindButton): Deal with the new elements.
91381         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
91382         (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.
91383
91384         * rendering/style/RenderStyleConstants.h: Add constants for the new elements.
91385
91386 2009-07-01  John Abd-El-Malek  <jam@chromium.org>
91387
91388         Reviewed by Darin Fisher.
91389
91390         Small refactoring of MessagePortChannel so that PlatformMessagePortChannel
91391         may be defined at the WebKit layer.
91392
91393         https://bugs.webkit.org/show_bug.cgi?id=26905
91394
91395         * dom/MessageChannel.cpp:
91396         (WebCore::MessageChannel::MessageChannel):
91397         * dom/MessagePortChannel.cpp:
91398         * dom/MessagePortChannel.h:
91399         * dom/default/PlatformMessagePortChannel.cpp:
91400         (WebCore::MessagePortChannel::createChannel):
91401         (WebCore::MessagePortChannel::create):
91402         (WebCore::MessagePortChannel::MessagePortChannel):
91403         (WebCore::MessagePortChannel::~MessagePortChannel):
91404
91405 2009-07-01  Simon Fraser  <simon.fraser@apple.com>
91406
91407         Reviewed by Dan Bernstein.
91408
91409         <video> fails to show on http://camendesign.com/code/video_for_everybody
91410         <rdar://problem/7026010>
91411         https://bugs.webkit.org/show_bug.cgi?id=26919
91412
91413         Fix an issue introduced in r44961. In that revision we changed to only update
91414         compositing layer geometry when all siblings had been laid out (i.e. we pushed
91415         the updates one level down). However, that left out the root layer, so this
91416         fix ensures that the root layer geometry gets updated at the end.
91417
91418         Test: compositing/geometry/root-layer-update.html
91419
91420         * rendering/RenderLayerBacking.cpp:
91421         (WebCore::RenderLayerBacking::updateAfterLayout):
91422
91423 2009-07-01  Simon Fraser  <simon.fraser@apple.com>
91424
91425         Reviewed by Dan Bernstein
91426         
91427         <rdar://problem/7026010> <video> fails to show on http://camendesign.com/code/video_for_everybody
91428
91429         First part of fix: when outline width changes, don't to a synchronous
91430         layer update right away, but just set the flag to say that compositing
91431         layers need updating. The synchronous layer update left the layer geometries
91432         out of whack when it happened in the middle of layout (e.g. when inside ::first-letter).
91433         
91434         Test: compositing/geometry/outline-change.html
91435
91436         * rendering/RenderView.cpp:
91437         (WebCore::RenderView::setMaximalOutlineSize):
91438
91439 2009-07-01  Kwang Yul Seo  <skyul@company100.net>
91440
91441         Reviewed by Eric Seidel.
91442
91443         https://bugs.webkit.org/show_bug.cgi?id=26842
91444         Build fix when ENABLE_DATABASE is off
91445
91446         Move Database.h into ENABLE(DATABASE) guard so toggling ENABLE_DATABASE
91447         off does not break builds.
91448
91449         * bindings/js/ScriptObjectQuarantine.cpp:
91450
91451 2009-07-01  Daniel Bates  <dbates@intudata.com>
91452
91453         Reviewed by Adam Barth.
91454         
91455         https://bugs.webkit.org/show_bug.cgi?id=26899
91456         
91457         Modified XSSAuditor::decodeURL to only remove null characters so that 
91458         it is consistent with the behavior of HTMLTokenizer and prevents 
91459         injected scripts that contain control characters. 
91460
91461         Tests: http/tests/security/xssAuditor/script-tag-control-char.html
91462                http/tests/security/xssAuditor/script-tag-null-char.html
91463
91464         * page/XSSAuditor.cpp:
91465         (WebCore::XSSAuditor::decodeURL): Modified to only remove null characters. 
91466         * page/XSSAuditor.h: Reverted naming of third argument of method XSSAuditor::decodeURL
91467         from allowControlCharacters back to allowNullCharacters.
91468         * platform/network/ResourceResponseBase.cpp: Reverted back to rev #45003.
91469         (WebCore::isControlCharacter):
91470         * platform/network/ResourceResponseBase.h: Reverted back to rev #45003.  
91471
91472 2009-07-01  Yury Semikhatsky  <yurys@chromium.org>
91473
91474         Reviewed by Timothy Hatcher.
91475
91476         - supported keyboard shortcuts compatible with Firebug in Scripts Debugger:
91477         F5, Ctrl+/ (win,lin), Command+/ (mac) - continue
91478         F10, Ctrl+' (win, lin), Command+' (mac) - step over
91479         F11, Ctrl+; (win, lin), Command+; (mac) - step into
91480         Shift+F11, Ctrl+Shift+; (win, lin), Command+Shift+; (mac) - step out
91481
91482         - added call stack navigation shortcuts:
91483         Ctrl+. - next call frame
91484         Ctrl+, - previouse call frame
91485
91486         https://bugs.webkit.org/show_bug.cgi?id=23849
91487
91488         * inspector/front-end/CallStackSidebarPane.js:
91489         (WebInspector.CallStackSidebarPane):
91490         (WebInspector.CallStackSidebarPane.prototype.handleKeyEvent):
91491         (WebInspector.CallStackSidebarPane.prototype._selectNextCallFrameOnStack):
91492         (WebInspector.CallStackSidebarPane.prototype._selectPreviousCallFrameOnStack):
91493         (WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex):
91494         (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
91495         * inspector/front-end/KeyboardShortcut.js: Added.
91496         (WebInspector.KeyboardShortcut):
91497         (WebInspector.KeyboardShortcut.makeKey):
91498         (WebInspector.KeyboardShortcut.makeKeyFromEvent):
91499         (WebInspector.KeyboardShortcut.makeKeyFromCodeAndModifiers_):
91500         * inspector/front-end/ScriptsPanel.js:
91501         (WebInspector.ScriptsPanel):
91502         (WebInspector.ScriptsPanel.prototype.handleKeyEvent):
91503         * inspector/front-end/WebKit.qrc:
91504         * inspector/front-end/inspector.html:
91505
91506 2009-07-01  Daniel Erat  <derat@google.com>
91507
91508         Reviewed by David Levin.
91509
91510         Chromium Linux: Move the scrollbar thumb on middle-click.
91511
91512         https://bugs.webkit.org/show_bug.cgi?id=26910
91513         http://code.google.com/p/chromium/issues/detail?id=11976
91514
91515         Tested by building Chrome and checking that the scrollbar moves as expected.
91516
91517         * platform/chromium/ScrollbarThemeChromium.cpp:
91518         * platform/chromium/ScrollbarThemeChromium.h:
91519         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
91520         * platform/chromium/ScrollbarThemeChromiumLinux.h:
91521         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
91522         * platform/chromium/ScrollbarThemeChromiumWin.h:
91523
91524 2009-07-01  Brady Eidson  <beidson@apple.com>
91525
91526         Reviewed by Sam Weinig.
91527
91528         Add a preference/setting to toggle whether content sniffing is enabled for file URLs.
91529
91530         * WebCore.base.exp:
91531
91532         * page/Settings.cpp:
91533         (WebCore::Settings::setLocalFileContentSniffingEnabled):
91534         * page/Settings.h:
91535         (WebCore::Settings::localFileContentSniffingEnabled):
91536
91537         * platform/network/mac/ResourceHandleMac.mm:
91538         (WebCore::ResourceHandle::start):
91539         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
91540
91541 2009-07-01  Chris Fleizach  <cfleizach@apple.com>
91542
91543         Reviewed by Oliver Hunt.
91544
91545         Bug 26909: aria-label needs to be supported
91546         https://bugs.webkit.org/show_bug.cgi?id=26909
91547
91548         Test: accessibility/aria-label.html
91549
91550         * accessibility/AccessibilityRenderObject.cpp:
91551         (WebCore::AccessibilityRenderObject::accessibilityDescription):
91552         * html/HTMLAttributeNames.in:
91553
91554 2009-07-01  David Hyatt  <hyatt@apple.com>
91555
91556         Reviewed by Oliver Hunt.
91557
91558         More datagrid columns work.  Make sure columns cache both a style for the column header as well
91559         as a style for the column background (behind the cells).
91560
91561         Hook up to CSSStyleSelector methods for obtaining the pseudo styles for columns (stubbed out and
91562         unimplemented).
91563
91564         * css/CSSStyleSelector.cpp:
91565         (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumn):
91566         (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumnHeader):
91567         * css/CSSStyleSelector.h:
91568         * html/DataGridColumn.h:
91569         (WebCore::DataGridColumn::setColumnList):
91570         (WebCore::DataGridColumn::columnStyle):
91571         (WebCore::DataGridColumn::setColumnStyle):
91572         (WebCore::DataGridColumn::headerStyle):
91573         (WebCore::DataGridColumn::setHeaderStyle):
91574         * rendering/RenderDataGrid.cpp:
91575         (WebCore::RenderDataGrid::recalcStyleForColumn):
91576         (WebCore::RenderDataGrid::columnStyle):
91577         (WebCore::RenderDataGrid::headerStyle):
91578         (WebCore::RenderDataGrid::paintColumnHeaders):
91579         * rendering/RenderDataGrid.h:
91580
91581 2009-07-01  Eric Carlson  <eric.carlson@apple.com>
91582
91583         Reviewed by Oliver Hunt.
91584         
91585         <rdar://problem/7009870> After <audio> movie finishes playing, Pause button fails to change 
91586         back to Play button
91587
91588         Grab onto the current time when QTKit "ended" notification fires and use it as 
91589         duration from that point on as QuickTime sometimes refuses to play all the way to
91590         the time it reports for duration and buffered. HTMLMediaElement assumes that there
91591         more to play in this situation and tries to restart playback, endlessly.
91592
91593         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
91594             Rename m_duration to m_reportedDuration. Declare m_cachedDuration.
91595         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
91596         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
91597             Rename m_duration to m_reportedDuration. Initialize m_cachedDuration.
91598         (WebCore::MediaPlayerPrivate::duration):
91599             Return m_cachedDuration once it has been set.
91600         (WebCore::MediaPlayerPrivate::updateStates):
91601             Rename m_duration to m_reportedDuration.
91602         (WebCore::MediaPlayerPrivate::didEnd):
91603             Set m_cachedDuration to currentTime().
91604
91605 2009-07-01  Chris Fleizach  <cfleizach@apple.com>
91606
91607         Reviewed by Beth Dakin.
91608
91609         Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions
91610         https://bugs.webkit.org/show_bug.cgi?id=26900
91611
91612         Editable web areas should have a clickpoint that uses where the selection is.
91613
91614         Test: accessibility/editable-webarea-context-menu-point.html
91615
91616         * accessibility/AccessibilityObject.h:
91617         * accessibility/AccessibilityRenderObject.cpp:
91618         (WebCore::AccessibilityRenderObject::clickPoint):
91619         * accessibility/AccessibilityRenderObject.h:
91620         * accessibility/mac/AccessibilityObjectWrapper.mm:
91621         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
91622
91623 2009-07-01  David Levin  <levin@chromium.org>
91624
91625         Reviewed by Eric Seidel.
91626
91627         Remove unused code in SVGTransformList and SVGTransformDistance
91628         <https://bugs.webkit.org/show_bug.cgi?id=26891>
91629
91630         * svg/SVGTransformDistance.cpp:
91631         (WebCore::SVGTransformDistance::SVGTransformDistance):
91632         * svg/SVGTransformList.cpp:
91633         * svg/SVGTransformList.h:
91634
91635 2009-07-01  David Hyatt  <hyatt@apple.com>
91636
91637         Reviewed by Anders Carlsson.
91638
91639         Begin stubbing out functions for layout, painting and style/geometry caching on columns.  Not enough
91640         is implemented for this to do much of anything yet, but it should help keep patch sizes down. :)
91641
91642         * html/DataGridColumn.cpp:
91643         (WebCore::DataGridColumn::columnChanged):
91644         * html/DataGridColumn.h:
91645         (WebCore::DataGridColumn::setId):
91646         (WebCore::DataGridColumn::setLabel):
91647         (WebCore::DataGridColumn::setType):
91648         (WebCore::DataGridColumn::setSortable):
91649         (WebCore::DataGridColumn::setSortDirection):
91650         (WebCore::DataGridColumn::setColumnList):
91651         (WebCore::DataGridColumn::style):
91652         (WebCore::DataGridColumn::setStyle):
91653         (WebCore::DataGridColumn::rect):
91654         (WebCore::DataGridColumn::setRect):
91655         * html/DataGridColumnList.cpp:
91656         (WebCore::DataGridColumnList::DataGridColumnList):
91657         (WebCore::DataGridColumnList::setDataGridNeedsLayout):
91658         (WebCore::DataGridColumnList::add):
91659         (WebCore::DataGridColumnList::remove):
91660         (WebCore::DataGridColumnList::move):
91661         (WebCore::DataGridColumnList::clear):
91662         (WebCore::DataGridColumnList::primaryColumnChanged):
91663         * html/DataGridColumnList.h:
91664         (WebCore::DataGridColumnList::create):
91665         (WebCore::DataGridColumnList::dataGrid):
91666         (WebCore::DataGridColumnList::clearDataGrid):
91667         * html/HTMLDataGridColElement.cpp:
91668         (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
91669         (WebCore::HTMLDataGridColElement::findDataGridAncestor):
91670         (WebCore::HTMLDataGridColElement::insertedIntoTree):
91671         (WebCore::HTMLDataGridColElement::removedFromTree):
91672         * html/HTMLDataGridColElement.h:
91673         (WebCore::HTMLDataGridColElement::dataGrid):
91674         * html/HTMLDataGridElement.cpp:
91675         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
91676         (WebCore::HTMLDataGridElement::~HTMLDataGridElement):
91677         * rendering/RenderDataGrid.cpp:
91678         (WebCore::RenderDataGrid::styleDidChange):
91679         (WebCore::RenderDataGrid::recalcStyleForColumns):
91680         (WebCore::RenderDataGrid::recalcStyleForColumn):
91681         (WebCore::RenderDataGrid::styleForColumn):
91682         (WebCore::RenderDataGrid::layout):
91683         (WebCore::RenderDataGrid::layoutColumns):
91684         (WebCore::RenderDataGrid::paintColumnHeaders):
91685         (WebCore::RenderDataGrid::paintColumnHeader):
91686         * rendering/RenderDataGrid.h:
91687         (WebCore::RenderDataGrid::renderName):
91688         (WebCore::RenderDataGrid::canHaveChildren):
91689
91690 2009-07-01  Daniel Bates  <dbates@intudata.com>
91691
91692         Reviewed by Adam Barth.
91693
91694         https://bugs.webkit.org/show_bug.cgi?id=26807
91695         
91696         Fixes this address by checking whether frame->document()->decoder() is null. 
91697
91698         * page/XSSAuditor.cpp:
91699         (WebCore::XSSAuditor::findInRequest):
91700
91701 2009-07-01  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
91702
91703         Reviewed by George Staikos.
91704
91705         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26885
91706
91707         Correctly reset history length to '0', not '1'. Old relict from early WML days.
91708         Add some new WML testcases covering the use of history length (by onenterforward event handling)
91709
91710         Tests: wml/onenterforward-event.html
91711                wml/onenterforward-inline-event.html
91712                wml/ontimer-event.html
91713  
91714         * wml/WMLPageState.cpp:
91715         (WebCore::WMLPageState::reset):
91716
91717 2009-07-01  David Hyatt  <hyatt@apple.com>
91718
91719         Reviewed by Simon Fraser.
91720
91721         Make sure setting attributes on dcol elements properly updates the corresponding DataGridColumn object.
91722
91723         Added new test in fast/dom/HTMLDataGridElement.
91724
91725         * html/HTMLDataGridColElement.cpp:
91726         (WebCore::HTMLDataGridColElement::parseMappedAttribute):
91727         * html/HTMLDataGridColElement.h:
91728
91729 2009-07-01  David Hyatt  <hyatt@apple.com>
91730
91731         Reviewed by Tim Hatcher.
91732
91733         <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
91734         even though the field is not actually focused for keyboard input
91735         
91736         Add the concept of whether or not the Page is focused by adding a boolean to the focusController.  This allows the
91737         focused frame and focused node to both be cached and changed programmatically even when the Page itself doesn't
91738         actually happen to have focus at that time.
91739
91740         * WebCore.base.exp:
91741         * page/FocusController.cpp:
91742         (WebCore::FocusController::FocusController):
91743         (WebCore::FocusController::setFocusedFrame):
91744         (WebCore::FocusController::setFocused):
91745         (WebCore::FocusController::setActive):
91746         * page/FocusController.h:
91747         (WebCore::FocusController::isFocused):
91748
91749 2009-07-01  Jakub Wieczorek  <faw217@gmail.com>
91750
91751         Reviewed by Simon Hausmann.
91752
91753         [Qt] Move some API headers from WebCore.pro to headers.pri so that they
91754         get installed when running make install from the build directory.
91755
91756         * WebCore.pro:
91757
91758 2009-07-01  Simon Hausmann  <simon.hausmann@nokia.com>
91759
91760         Rubber-stamped by Ariya Hidayat.
91761
91762         Ran WebKitTools/Scripts/generate-qt-inspector-resource to update the
91763         qrc file with new png files from the web inspector.
91764
91765         * inspector/front-end/WebKit.qrc:
91766
91767 2009-06-30  Mark Rowe  <mrowe@apple.com>
91768
91769         Land some code that has a hope of compiling.
91770
91771         * platform/graphics/cg/ImageSourceCG.cpp:
91772         (WebCore::imageSourceOptions):
91773
91774 2009-06-30  Stephanie Lewis  <slewis@apple.com>
91775
91776         Reviewed by Simon Fraser.
91777
91778         Flip back on block caching. Throwing away block data, while 
91779         a perceived memory win, is a performance hit in cases where we 
91780         are repainting large images (i.e. backgrounds) frequently 
91781         (i.e. a flash video playing on top).  
91782         <rdar://problem/6933515> REGRESSION(L-SL): Large JPEG images are 
91783         decoded on drawing, slowing down painting of sites that frequently 
91784         repaint e.g. because of Flash (pandora.com, Starcraft 2)
91785
91786         * platform/graphics/cg/ImageSourceCG.cpp:
91787         (WebCore::imageSourceOptions):
91788
91789 2009-06-30  Maciej Stachowiak  <mjs@apple.com>
91790
91791         Reviewed by Sam Weinig.
91792
91793         - Rename html4.css to html.css, since we target HTML5 now
91794         https://bugs.webkit.org/show_bug.cgi?id=26873
91795
91796         * DerivedSources.make:
91797         * GNUmakefile.am:
91798         * WebCore.pro:
91799         * WebCore.vcproj/WebCore.vcproj:
91800         * WebCore.xcodeproj/project.pbxproj:
91801         * css/CSSStyleSelector.cpp:
91802         (WebCore::loadFullDefaultStyle):
91803         * css/html.css: Copied from css/html4.css.
91804         * css/html4.css: Removed.
91805         * css/themeWin.css:
91806         * platform/Theme.h:
91807         * platform/qt/RenderThemeQt.cpp:
91808         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
91809         * rendering/RenderTheme.h:
91810
91811 2009-06-30  Zan Dobersek  <zandobersek@gmail.com>
91812
91813         Reviewed by Gustavo Noronha.
91814
91815         [GTK] Drag and drop support
91816         https://bugs.webkit.org/show_bug.cgi?id=23642
91817
91818         Define DragImageRef as GdkPixbuf and implement essential
91819         functions which manipulate drag images.
91820
91821         * platform/DragImage.h:
91822         * platform/gtk/DragImageGtk.cpp:
91823         (WebCore::dragImageSize):
91824         (WebCore::deleteDragImage):
91825         (WebCore::scaleDragImage):
91826         (WebCore::createDragImageFromImage):
91827
91828 2009-06-30  Maxime Simon  <simon.maxime@gmail.com>
91829
91830         Reviewed by Eric Seidel.
91831
91832         StorageNamespace.cpp build issue
91833         https://bugs.webkit.org/show_bug.cgi?id=26859
91834
91835         Moved #endif //ENABLE(DOM_STORAGE) position
91836         so that the build doesn't fail.
91837         The namespace WebCore was started after the #if ENABLE(DOM_STORAGE)
91838         but closed after the #endif.
91839
91840         * storage/StorageNamespace.cpp:
91841
91842 2009-06-30  Eric Carlson  <eric.carlson@apple.com>
91843
91844         Reviewed by Oliver Hunt.
91845
91846         <rdar://problem/7020825> HTMLMediaElement should not assume seeking is only possible in 
91847         buffered time ranges
91848
91849         * html/HTMLMediaElement.cpp:
91850             Don't ASSERT if the network state goes to Idle when when the ready state is 
91851             HaveEnoughData or higher, it is perfectly legal.
91852         (WebCore::HTMLMediaElement::setReadyState): 
91853             Don't clear m_seeking after posting a 'seeking' event.
91854
91855         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
91856         (WebCore::MediaPlayerPrivate::seek):
91857             Do nothing when asked to seek to the same time we are already seeking to. Check requested
91858             seek time against maxTimeSeekable, not maxTimeLoaded.
91859         (WebCore::MediaPlayerPrivate::doSeek):
91860             Don't bother stopping a movie that isn't playing. Minor cleanup to make the code more readable.
91861         (WebCore::MediaPlayerPrivate::seekTimerFired):
91862             Check requested seek time against maxTimeSeekable, not maxTimeLoaded.
91863         (WebCore::MediaPlayerPrivate::updateStates):
91864             A streaming movie has as much data as it needs once it reaches "playable", so 
91865             set the ready state to HaveFutureData. A movie with metadata doesn't drop back 
91866             to "have nothing" when seeking. A streaming movie doesn't use the network when paused.
91867         (WebCore::MediaPlayerPrivate::timeChanged):
91868             It may not be possible to seek to a specific time in a streamed movie but when seeking 
91869             in a streaming movie QuickTime sets the time to closest time possible and posts a  
91870             timechanged notification, so update m_seekTo so we can detect when the seek completes.
91871
91872 2009-06-30  Steve Falkenburg  <sfalken@apple.com>
91873
91874         https://bugs.webkit.org/show_bug.cgi?id=26860
91875
91876         Reviewed by Sam Weinig.
91877
91878         Blacklist Yahoo Application State plug-in for versions prior to 1.0.0.6.
91879         Earlier versions cause corruption crashes.
91880
91881         * plugins/win/PluginPackageWin.cpp:
91882         (WebCore::PluginPackage::isPluginBlacklisted):
91883
91884 2009-06-30  Dean Jackson  <dino@apple.com>
91885
91886         Reviewed by Simon Fraser.
91887
91888         <rdar://problem/7005207> <video> in canvas broken with ACCEL_COMPOSITING
91889         
91890         Fix drawImage of video in CanvasRenderingContext2D when
91891         accelerated compositing is enabled. This is done by
91892         adding a new paint method to HTMLVideoElement that
91893         is only called from canvas, which will create the software
91894         renderer if necessary, but otherwise calls the regular
91895         paint method. Meanwhile, add logic to the software video
91896         renderer so that it can be created without calling repaint
91897         every time it sees a new frame.
91898         
91899         * html/CanvasRenderingContext2D.cpp:
91900         (WebCore::CanvasRenderingContext2D::drawImage):
91901         * html/HTMLVideoElement.cpp:
91902         (WebCore::HTMLVideoElement::paintCurrentFrameInContext):
91903         * html/HTMLVideoElement.h:
91904         * platform/graphics/MediaPlayer.cpp:
91905         (WebCore::MediaPlayer::paintCurrentFrameInContext):
91906         * platform/graphics/MediaPlayer.h:
91907         * platform/graphics/MediaPlayerPrivate.h:
91908         (WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext):
91909         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
91910         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
91911         (WebCore::MediaPlayerPrivate::createQTMovie):
91912         (WebCore::MediaPlayerPrivate::createQTVideoRenderer):
91913         (WebCore::MediaPlayerPrivate::currentRenderingMode):
91914         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
91915         (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
91916         (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
91917
91918 2009-06-30  David Hyatt  <hyatt@apple.com>
91919
91920         Reviewed by Beth Dakin.
91921
91922         https://bugs.webkit.org/show_bug.cgi?id=26858
91923
91924         Get <dcol> elements reflected into the datagrid's column list.  Make sure columns get added/removed
91925         properly.  (Attribute changes are still not caught.  That is coming in a separate patch.)
91926
91927         Added fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
91928
91929         * html/DataGridColumn.h:
91930         (WebCore::DataGridColumn::create):
91931         (WebCore::DataGridColumn::setColumnList):
91932         (WebCore::DataGridColumn::DataGridColumn):
91933         * html/DataGridColumnList.cpp:
91934         (WebCore::DataGridColumnList::add):
91935         (WebCore::DataGridColumnList::remove):
91936         (WebCore::DataGridColumnList::clear):
91937         * html/DataGridColumnList.h:
91938         * html/HTMLDataGridColElement.cpp:
91939         (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
91940         (WebCore::HTMLDataGridColElement::findDatagridAncestor):
91941         (WebCore::HTMLDataGridColElement::ensureColumn):
91942         (WebCore::HTMLDataGridColElement::insertedIntoTree):
91943         (WebCore::HTMLDataGridColElement::removedFromTree):
91944         (WebCore::HTMLDataGridColElement::sortable):
91945         (WebCore::HTMLDataGridColElement::setSortable):
91946         * html/HTMLDataGridColElement.h:
91947         (WebCore::HTMLDataGridColElement::column):
91948         (WebCore::HTMLDataGridColElement::setColumn):
91949         (WebCore::HTMLDataGridColElement::datagrid):
91950         * html/HTMLDataGridElement.cpp:
91951         (WebCore::HTMLDataGridElement::setDataSource):
91952         (WebCore::HTMLDataGridElement::dataSource):
91953
91954 2009-06-30  Jeremy Orlow (jorlow@chromium.org)
91955
91956         Reviewed by David Levin.
91957
91958         https://bugs.webkit.org/show_bug.cgi?id=26852
91959
91960         Fix some minor build issues in the v8 bindings.
91961
91962         * bindings/v8/custom/V8StorageCustom.cpp:
91963         (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
91964         (WebCore::storageGetter):
91965         (WebCore::storageSetter):
91966         (WebCore::storageDeleter):
91967         * storage/StorageArea.cpp:
91968
91969 2009-06-30  Adam Langley  <agl@google.com>
91970
91971         Reviewed by Eric Seidel.
91972
91973         Chromium Linux: use different fonts for each script run.
91974
91975         https://bugs.webkit.org/show_bug.cgi?id=26853
91976
91977         Previously, when rendering complex text, we picked a single font which
91978         could render all the glyphs needed for the run. However, this meant
91979         that sometimes lines were rendered with, for example, [LATIN, THAI,
91980         LATIN] and we could end up with a different font for the Latin parts
91981         than for lines without Thai in them.
91982
91983         With this patch, we pick a font for each script run.
91984
91985         This change is covered by existing layout tests.
91986
91987         * platform/graphics/chromium/FontLinux.cpp:
91988         (WebCore::Font::drawGlyphs):
91989         (WebCore::TextRunWalker::TextRunWalker):
91990         (WebCore::TextRunWalker::~TextRunWalker):
91991         (WebCore::TextRunWalker::nextScriptRun):
91992         (WebCore::TextRunWalker::fontPlatformDataForScriptRun):
91993         (WebCore::TextRunWalker::setupFontForScriptRun):
91994         (WebCore::TextRunWalker::allocHarfbuzzFont):
91995         (WebCore::setupForTextPainting):
91996         (WebCore::Font::drawComplexText):
91997         (WebCore::Font::floatWidthForComplexText):
91998         (WebCore::Font::offsetForPositionForComplexText):
91999         (WebCore::Font::selectionRectForComplexText):
92000         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
92001         (WebCore::FontPlatformData::setupPaint):
92002
92003 2009-06-30  Simon Fraser  <simon.fraser@apple.com>
92004
92005         Reviewed by Dave Hyatt, Dan Bernstein.
92006         
92007         <rdar://problem/6191676> Redraw issues scrolling overflow:scroll div with compositing
92008
92009         There are two parts to this fix. First, if a compositing layer has overflow clipping
92010         or a mask, then the compositing layer does not need to be sized to encompass all
92011         non-composited children.
92012         
92013         Second, when scrolling, we have to back up to the compositing ancestor and have
92014         it reposition descendant compositing layers, because overflow doesn't follow
92015         the z-order tree.
92016         
92017         Test: compositing/overflow/overflow-scroll.html
92018
92019         * page/FrameView.cpp:
92020         (WebCore::FrameView::layout):
92021         Pass the UpdateCompositingLayers flag when updating layers after layout, so that
92022         we can reposition compositing layers if we're not about to do a layer rebuild.
92023         
92024         * rendering/RenderLayer.cpp:
92025         (WebCore::RenderLayer::updateLayerPositions):
92026         Only update compositing layers if the flag is set.
92027         
92028         (WebCore::RenderLayer::scrollToOffset):
92029         Do compositing layer updates from the compositing ancestor in one fell swoop.
92030
92031         * rendering/RenderLayer.h:
92032         Replace the unused FullUpdate flag with one that allows us to specify whether
92033         compositing layers should be updated.
92034         
92035         * rendering/RenderLayerBacking.cpp:
92036         (WebCore::RenderLayerBacking::updateAfterLayout):
92037         * rendering/RenderLayerBacking.h:
92038         New param that we can pass to updateCompositingDescendantGeometry to control
92039         whether the update goes deep.
92040
92041         * rendering/RenderLayerCompositor.cpp:
92042         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
92043         We can return earlier if this is not a self-painting layer.
92044         If the layer has overflow clip or a mask, then the composited bounds are just the
92045         local bounds, excluding descendants.
92046         
92047         (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
92048         * rendering/RenderLayerCompositor.h:
92049         Renamed from updateCompositingChildrenGeometry, and added a flag that allows
92050         us to do a deep update.
92051
92052 2009-06-30  Alexey Proskuryakov  <ap@webkit.org>
92053
92054         Reviewed by Dan Bernstein.
92055
92056         https://bugs.webkit.org/show_bug.cgi?id=26764
92057         Uncaught NOT_FOUND_ERR: DOMException 8 loading empty text file
92058
92059         Test: fast/parser/empty-text-resource.html
92060
92061         * loader/TextDocument.cpp: (WebCore::TextTokenizer::finish): Create document tree if it
92062         hasn't been created yet.
92063
92064 2009-06-30  Brian Weinstein  <bweinstein@apple.com>
92065
92066         Reviewed by Adam Roben.
92067
92068         Renamed scrollbarUnderPoint to scrollbarAtPoint.
92069
92070         * page/EventHandler.cpp:
92071         (WebCore::EventHandler::hitTestResultAtPoint):
92072         (WebCore::EventHandler::handleMousePressEvent):
92073         (WebCore::EventHandler::handleMouseMoveEvent):
92074         * platform/ScrollView.cpp:
92075         (WebCore::ScrollView::scrollbarAtPoint):
92076         * platform/ScrollView.h:
92077         * platform/chromium/PopupMenuChromium.cpp:
92078         (WebCore::PopupListBox::handleMouseDownEvent):
92079         (WebCore::PopupListBox::handleMouseMoveEvent):
92080
92081 2009-06-30  Oliver Hunt  <oliver@apple.com>
92082
92083         Reviewed by Geoff Garen.
92084
92085         <rdar://problem/6960286> CrashTracer: [REGRESSION] 1120 crashes in Safari at com.apple.WebCore WebCore::JSLazyEventListener::parseCode const 62
92086
92087         <select> elements and other elements the produce popups can keep their popups
92088         live across a page load.  If this occurs and the <select> element has an
92089         onchange handler it is possible to get into a state where we try to execute
92090         JS on a page that no longer has an execution context. 
92091
92092         * bindings/js/JSLazyEventListener.cpp:
92093         (WebCore::JSLazyEventListener::parseCode):
92094           Be paranoid and add a null check, but assert as well because we shouldn't
92095           actually get to this point.
92096         * rendering/RenderMenuList.cpp:
92097         (WebCore::RenderMenuList::valueChanged):
92098
92099 2009-06-30  Drew Wilson  <atwilson@google.com>
92100
92101         Reviewed by David Levin.
92102
92103         <https://bugs.webkit.org/show_bug.cgi?id=25435>
92104
92105         Added support for sending MessagePorts to/from Workers via postMessage().
92106
92107         * bindings/js/JSWorkerContextCustom.cpp:
92108         (WebCore::JSWorkerContext::messageChannel):
92109         Exposes MessageChannel constructor WorkerContext.
92110         * bindings/js/JSWorkerCustom.cpp:
92111         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
92112         (WebCore::CALLBACK_FUNC_DECL):
92113         Now correctly handles being instantiated from within a Worker.
92114        * platform/CrossThreadCopier.h:
92115         (WebCore::GenericWorkerTaskTraits<PassOwnPtr>):
92116         Added support for passing PassOwnPtr as argument to GenericWorkerTask
92117        * workers/GenericWorkerTask.h:
92118         (WebCore::):
92119         * workers/Worker.cpp:
92120         (WebCore::Worker::postMessage):
92121         Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
92122         (WebCore::Worker::dispatchMessage):
92123         * workers/Worker.h:
92124         * workers/Worker.idl:
92125         Added an optional MessagePort argument to postMessage()
92126         * workers/WorkerContext.cpp:
92127         (WebCore::WorkerContext::hasPendingActivity):
92128         Workers now report pending activity whenever there are remotely entangled ports.
92129         (WebCore::WorkerContext::postMessage):
92130         Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
92131         (WebCore::WorkerContext::dispatchMessage):
92132         * workers/WorkerContext.h:
92133         * workers/WorkerContext.idl:
92134         Added an optional MessagePort argument to postMessage()
92135         * workers/WorkerContextProxy.h:
92136         * workers/WorkerMessagingProxy.cpp:
92137         Updated messaging infrastructure to transport an optional MessagePort/MessagePortChannel.
92138         (WebCore::MessageWorkerContextTask::create):
92139         (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
92140         (WebCore::MessageWorkerContextTask::performTask):
92141         (WebCore::MessageWorkerTask::create):
92142         (WebCore::MessageWorkerTask::MessageWorkerTask):
92143         (WebCore::MessageWorkerTask::performTask):
92144         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
92145         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
92146         * workers/WorkerMessagingProxy.h:
92147         Added additional postMessage() API that accepts a MessagePort
92148         * workers/WorkerObjectProxy.h:
92149         Added additional postMessage() API that accepts a MessagePort
92150
92151 2009-06-30  Adam Langley  <agl@google.com>
92152
92153         Reviewed by Eric Seidel.
92154
92155         Chromium: Add complex text support on Linux.
92156
92157         https://bugs.webkit.org/show_bug.cgi?id=25068
92158
92159         This patch adds complex text support on Linux using Harfbuzz. It's not
92160         the fastest code possible: some caching of font tables will certainly
92161         be required. However, it's probably the simplest code that works.
92162
92163         This will require checking in new baselines in the Chromium tree for
92164         those layout tests which now pass.
92165
92166         * platform/graphics/chromium/FontLinux.cpp:
92167         (WebCore::Font::drawGlyphs):
92168         (WebCore::truncateFixedPointToInteger):
92169         (WebCore::TextRunWalker::TextRunWalker):
92170         (WebCore::TextRunWalker::~TextRunWalker):
92171         (WebCore::TextRunWalker::reset):
92172         (WebCore::TextRunWalker::setXOffsetToZero):
92173         (WebCore::TextRunWalker::rtl):
92174         (WebCore::TextRunWalker::setBackwardsIteration):
92175         (WebCore::TextRunWalker::nextScriptRun):
92176         (WebCore::TextRunWalker::glyphs):
92177         (WebCore::TextRunWalker::length):
92178         (WebCore::TextRunWalker::xPositions):
92179         (WebCore::TextRunWalker::advances):
92180         (WebCore::TextRunWalker::width):
92181         (WebCore::TextRunWalker::logClusters):
92182         (WebCore::TextRunWalker::numCodePoints):
92183         (WebCore::TextRunWalker::widthOfFullRun):
92184         (WebCore::TextRunWalker::allocHarfbuzzFont):
92185         (WebCore::TextRunWalker::deleteGlyphArrays):
92186         (WebCore::TextRunWalker::createGlyphArrays):
92187         (WebCore::TextRunWalker::expandGlyphArrays):
92188         (WebCore::TextRunWalker::shapeGlyphs):
92189         (WebCore::TextRunWalker::setGlyphXPositions):
92190         (WebCore::setupForTextPainting):
92191         (WebCore::fontPlatformDataForTextRun):
92192         (WebCore::Font::drawComplexText):
92193         (WebCore::Font::floatWidthForComplexText):
92194         (WebCore::glyphIndexForXPositionInScriptRun):
92195         (WebCore::Font::offsetForPositionForComplexText):
92196         (WebCore::Font::selectionRectForComplexText):
92197         * platform/graphics/chromium/HarfbuzzSkia.cpp: Added.
92198         (WebCore::SkiaScalarToHarfbuzzFixed):
92199         (WebCore::stringToGlyphs):
92200         (WebCore::glyphsToAdvances):
92201         (WebCore::canRender):
92202         (WebCore::getOutlinePoint):
92203         (WebCore::getGlyphMetrics):
92204         (WebCore::getFontMetric):
92205         (WebCore::harfbuzzSkiaGetTable):
92206
92207 2009-06-30  Eric Carlson  <eric.carlson@apple.com>
92208
92209         Reviewed by Simon Fraser.
92210
92211         <rdar://problem/7019799> Slow loading MediaDocument can fall back to plug-in unnecessarily
92212
92213         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
92214         (WebCore::MediaPlayerPrivate::updateStates):
92215             Always fall back to a plug-in if m_hasUnsupportedTracks is set.
92216         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
92217             Set m_hasUnsupportedTracks if we disable a track.
92218
92219 2009-06-30  Nate Chapin  <japhet@chromium.org>
92220
92221         Reviewed by Dimitri Glazkov.
92222
92223         Fix inverted if/else that's causing a layout test in src.chromium.org to fail.
92224
92225         https://bugs.webkit.org/show_bug.cgi?id=26820
92226
92227         * bindings/v8/V8Proxy.cpp:
92228         (WebCore::GCPrologueVisitor::visitDOMWrapper): if (port2), not if (!port2).
92229
92230 2009-06-30  Dan Bernstein  <mitz@apple.com>
92231
92232         Reviewed by Dave Hyatt.
92233
92234         - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap
92235           to Grid" window is clipping
92236
92237         Added an app-specific quirk to revert the behavior of <link> elements
92238         to the way it was before r30673, namely that if the rel attribute
92239         is not "stylesheet" but the type attribute contains "text/css", the
92240         link behaves as a stylesheet link.
92241
92242         * WebCore.base.exp: Exported setTreatsAnyTextCSSLinkAsStylesheet().
92243         * html/HTMLLinkElement.cpp:
92244         (WebCore::HTMLLinkElement::process): Check
92245             Settings::treatsAnyTextCSSLinkAsStylesheet() and if true, allow a
92246             style sheet link if the type contains "text/css".
92247         * page/Settings.cpp:
92248         (WebCore::Settings::Settings):
92249             Initialize m_treatsAnyTextCSSLinkAsStylesheet.
92250         (WebCore::Settings::setTreatsAnyTextCSSLinkAsStylesheet): Added.
92251         * page/Settings.h:
92252         (WebCore::Settings::treatsAnyTextCSSLinkAsStylesheet): Added.
92253
92254 2009-06-30  Adrien Nader  <camaradetux@gmail.com>
92255
92256         Reviewed by Xan Lopez.
92257
92258         Fix typo in GNUMakefile.am: it reads WebCOre instead of WebCore.
92259
92260         * GNUmakefile.am:
92261
92262 2009-06-30  Jan Michael Alonzo  <jmalonzo@webkit.org>
92263
92264         Reviewed by Xan Lopez.
92265
92266         [Gtk] Turn on ENABLE_DATAGRID so we can run the layout tests.
92267
92268         * GNUmakefile.am:
92269
92270 2009-06-30  Raju Kunnath  <raju.kunnath@nokia.com>
92271
92272         Reviewed by Simon Hausmann.
92273
92274         <https://bugs.webkit.org/show_bug.cgi?id=26752>
92275
92276         [Qt] Windows release build issue with Qt4.5 due to -GL flag on msvc2005 and msvc2008. 
92277
92278         * WebCore.pro: Removed -GL compiler option for win32-msvc2005|win32-msvc2008.
92279
92280 2009-06-30  Xan Lopez  <xlopez@igalia.com>
92281
92282         Reviewed by Jan Alonzo.
92283
92284         Initialize member variables in the right order. Fixes compiler
92285         warning.
92286
92287         * platform/image-decoders/bmp/BMPImageReader.cpp:
92288         (WebCore::BMPImageReader::BMPImageReader):
92289
92290 2009-06-29  Xan Lopez  <xlopez@igalia.com>
92291
92292         Reviewed by David Levin.
92293
92294         https://bugs.webkit.org/show_bug.cgi?id=26831
92295         Fix compiler warning in WorkerLoaderProxy.h
92296
92297         Forward declaration of a class within a class is not allowed,
92298         since the compiler can't know if the declaration is legal at that
92299         point. This gives the following compiler warning:
92300
92301         ../../WebCore/workers/WorkerLoaderProxy.h:40: warning: declaration
92302         "class WebCore::ScriptExecutionContext::Task" does not declare
92303         anything
92304
92305         Include the full ScriptExecutionHeader header instead.
92306
92307         * workers/WorkerLoaderProxy.h:
92308
92309 2009-06-29  Xan Lopez  <xlopez@igalia.com>
92310
92311         Reviewed by Jan Alonzo.
92312
92313         Remove unused function.
92314
92315         * plugins/gtk/PluginPackageGtk.cpp:
92316
92317 2009-06-29  Simon Fraser  <simon.fraser@apple.com>
92318
92319         Reviewed by Dan Bernstein.
92320
92321         Change RenderLayer::updateLayerPositions() to use a bitmask instead of two
92322         boolean arguments. FullUpdate is unused at present, but will be used soon.
92323
92324         * page/FrameView.cpp:
92325         (WebCore::FrameView::layout):
92326         * rendering/RenderLayer.cpp:
92327         (WebCore::RenderLayer::updateLayerPositions):
92328         (WebCore::RenderLayer::scrollToOffset):
92329         * rendering/RenderLayer.h:
92330         (WebCore::RenderLayer::):
92331
92332 2009-06-29  Nate Chapin  <japhet@chromium.org>
92333
92334         Reviewed by Dimitri Glazkov.
92335
92336         Fix one more bad merge in V8Proxy.
92337
92338         https://bugs.webkit.org/show_bug.cgi?id=26819
92339
92340         * bindings/v8/V8Proxy.cpp:
92341         (WebCore::V8Proxy::setDOMException): setDOMExceptionHelper() instead of convertToV8Object().
92342
92343 2009-06-29  Sam Weinig  <sam@webkit.org>
92344
92345         Reviewed by Mark Rowe.
92346
92347         Remove more unused scons support.
92348
92349         * SConstruct: Removed.
92350
92351 2009-06-29  Sam Weinig  <sam@webkit.org>
92352
92353         Reviewed by Dave Hyatt.
92354
92355         Fix some incorrect create functions.
92356
92357         * html/DataGridColumn.h:
92358         (WebCore::DataGridColumn::create):
92359         * html/DataGridColumnList.h:
92360         (WebCore::DataGridColumnList::create):
92361
92362 2009-06-29  Sam Weinig  <sam@webkit.org>
92363
92364         Reviewed by Dave Hyatt.
92365
92366         Remove initialize method from DataGridDataSource and add
92367         DOMDataGridDataSource.
92368
92369         * GNUmakefile.am:
92370         * WebCore.pro:
92371         * WebCore.vcproj/WebCore.vcproj:
92372         * WebCore.xcodeproj/project.pbxproj:
92373         * WebCoreSources.bkl:
92374         * bindings/js/JSDataGridDataSource.cpp:
92375         * bindings/js/JSDataGridDataSource.h:
92376         * bindings/js/JSHTMLDataGridElementCustom.cpp:
92377         (WebCore::JSHTMLDataGridElement::setDataSource):
92378         * html/DOMDataGridDataSource.cpp: Added.
92379         (WebCore::DOMDataGridDataSource::DOMDataGridDataSource):
92380         (WebCore::DOMDataGridDataSource::~DOMDataGridDataSource):
92381         * html/DOMDataGridDataSource.h: Added.
92382         (WebCore::DOMDataGridDataSource::create):
92383         (WebCore::DOMDataGridDataSource::isDOMDataGridDataSource):
92384         (WebCore::asDOMDataGridDataSource):
92385         * html/DataGridDataSource.h:
92386         (WebCore::DataGridDataSource::isDOMDataGridDataSource):
92387         (WebCore::DataGridDataSource::isJSDataGridDataSource):
92388         * html/HTMLDataGridElement.cpp:
92389         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
92390         (WebCore::HTMLDataGridElement::setDataSource):
92391         (WebCore::HTMLDataGridElement::dataSource):
92392         * html/HTMLDataGridElement.h:
92393
92394 2009-06-29  Nate Chapin  <japhet@chromium.org>
92395
92396         Reviewed by Dimitri Glazkov.
92397
92398         Fix a couple of bad merge items from my previous V8Proxy patch.
92399
92400         https://bugs.webkit.org/show_bug.cgi?id=26813
92401
92402         * bindings/v8/V8Collection.h:
92403         (WebCore::nodeCollectionNamedPropertyGetter):  Fix a bad function name that slipped through.
92404         * bindings/v8/V8Proxy.cpp:
92405         (WebCore::V8Proxy::setDOMException):  Fix a bad merge that caused a couple of lines of extraneous, breaking code to get in.
92406
92407 2009-06-29  Chris Marrin  <cmarrin@apple.com>
92408
92409         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
92410
92411         https://bugs.webkit.org/show_bug.cgi?id=26706
92412
92413         Fixed crash due to dereference of m_toStyle
92414
92415         * page/animation/ImplicitAnimation.cpp:
92416         (WebCore::ImplicitAnimation::isTargetPropertyEqual):
92417
92418 2009-06-29  Eric Carlson  <eric.carlson@apple.com>
92419
92420         Reviewed by Simon Fraser.
92421
92422         <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded.
92423
92424         * WebCore.base.exp: 
92425             Export _wkQTMovieGetType
92426
92427         * platform/graphics/MediaPlayer.cpp:
92428         (WebCore::MediaPlayer::hasSingleSecurityOrigin):
92429             Move to keep with other non-callback functions.
92430         (WebCore::MediaPlayer::movieLoadType):
92431             New, returns the movie type.
92432         * platform/graphics/MediaPlayer.h:
92433             Declare MovieLoadType enum and movieLoadType method.
92434
92435         * platform/graphics/MediaPlayerPrivate.h:
92436         (WebCore::MediaPlayerPrivateInterface::movieLoadType):
92437             Default implementation of movieLoadType
92438
92439         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
92440         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
92441         (WebCore::MediaPlayerPrivate::createQTMovie):
92442             Don't base m_isStreaming on protocol, there are other types of streaming movies.
92443         (WebCore::MediaPlayerPrivate::maxTimeBuffered):
92444             Don't assume all streams are unbuffered.
92445         (WebCore::MediaPlayerPrivate::updateStates):
92446             Update m_isStreaming once we have metadata.
92447         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
92448             Tracks that are disabled to begin with shouldn't be included in m_enabledTrackCount.
92449         (WebCore::MediaPlayerPrivate::movieLoadType):
92450             New, return movie type.
92451
92452         * platform/mac/WebCoreSystemInterface.h:
92453         * platform/mac/WebCoreSystemInterface.mm:
92454             Add wkQTMovieGetType.
92455
92456 2009-06-29  Alice Liu  <alice.liu@apple.com>
92457
92458         Fixed <rdar://problem/6930280> Reproducible crash at USA Today photo gallery
92459
92460         Reviewed by Anders Carlsson.
92461
92462         No test added because the crash requires a flash plugin
92463
92464         * plugins/win/PluginMessageThrottlerWin.cpp:
92465         Rely on the hWnd of the plugin to tell us whether the PluginView has 
92466         been deleted during execution of its wndProc.
92467         (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
92468
92469 2009-06-29  Dmitry Titov  <dimich@chromium.org>
92470
92471         Reviewed by David Levin.
92472
92473         https://bugs.webkit.org/show_bug.cgi?id=26811
92474          [Chromium] Remove a flag and functions used to enable workers in runtime.
92475
92476         * bindings/v8/WorkerContextExecutionProxy.cpp:
92477         * bindings/v8/WorkerContextExecutionProxy.h:
92478
92479 2009-06-29  Simon Fraser  <simon.fraser@apple.com>
92480
92481         Reviewed by Dave Hyatt.
92482         
92483         <rdar://problem/6976712> Text antialiasing problems when rendering into compositing layers.
92484         
92485         Improve the appearance of text in compositing layers by making use of
92486         CA's layer geometry flipping, rather that doing it ourselves with a flip
92487         transform. This allows CG to use font autohinting in the layer text.
92488
92489         * platform/graphics/GraphicsLayer.h:
92490         (WebCore::GraphicsLayer::setGeometryOrientation):
92491         (WebCore::GraphicsLayer::geometryOrientation):
92492         New methods to set whether this layer uses flipped geometry.
92493         
92494         * platform/graphics/mac/GraphicsLayerCA.h:
92495         * platform/graphics/mac/GraphicsLayerCA.mm:
92496         (WebCore::GraphicsLayerCA::setGeometryOrientation):
92497         (WebCore::GraphicsLayerCA::geometryOrientation):
92498         Subclass in order to call into CA
92499         
92500         (WebCore::GraphicsLayerCA::setContentsLayer):
92501         Now that CA is doing the geometry flipping, we no longer need to flip the content
92502         layers for image and video manually
92503         
92504         * rendering/RenderLayerCompositor.cpp:
92505         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
92506         Turn on flipping on the root layer.
92507
92508 2009-06-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
92509
92510         Reviewed by Adam Treat.
92511
92512         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26246
92513
92514         Implement most WML specific <select> element features.
92515         Add 'iname' / 'ivalue' support and support variable references.
92516
92517         Add two tests covering most select/variable related functionality.
92518         Needs more tests when adding full 'iname' / 'ivalue' support (used in conjuction with onpick).
92519
92520         Tests: http/tests/wml/post-data-to-server.html
92521                wml/select-element-variables.html
92522
92523         * dom/SelectElement.cpp:
92524         (WebCore::SelectElement::optionCount): Refactored from HTMLSelectElement::length() for use within HTML & WML.
92525         * dom/SelectElement.h:
92526         * html/HTMLSelectElement.cpp:
92527         (WebCore::HTMLSelectElement::length): Use new SelectElement::optionCount() function. (no functional changes for HTML).
92528         * wml/WMLCardElement.cpp:
92529         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): Activated commented code taking care of WMLSelectElement initialization.
92530         * wml/WMLSelectElement.cpp: Add a bunch of new code handling WML specific feature processing.
92531         (WebCore::WMLSelectElement::title):
92532         (WebCore::WMLSelectElement::formControlName):
92533         (WebCore::WMLSelectElement::defaultEventHandler):
92534         (WebCore::WMLSelectElement::selectInitialOptions):
92535         (WebCore::WMLSelectElement::calculateDefaultOptionIndices):
92536         (WebCore::WMLSelectElement::selectDefaultOptions):
92537         (WebCore::WMLSelectElement::initializeVariables):
92538         (WebCore::WMLSelectElement::updateVariables):
92539         (WebCore::WMLSelectElement::parseIndexValueString):
92540         (WebCore::WMLSelectElement::valueStringToOptionIndices):
92541         (WebCore::WMLSelectElement::optionIndicesToValueString):
92542         (WebCore::WMLSelectElement::optionIndicesToString):
92543         (WebCore::WMLSelectElement::name):
92544         (WebCore::WMLSelectElement::value):
92545         (WebCore::WMLSelectElement::iname):
92546         (WebCore::WMLSelectElement::ivalue):
92547         * wml/WMLSelectElement.h:
92548
92549 2009-06-29  David Hyatt  <hyatt@apple.com>
92550
92551         Reviewed by Adam Roben.
92552
92553         Put <datagrid> behind an ifdef.
92554
92555         * Configurations/FeatureDefines.xcconfig:
92556         * bindings/js/JSDataGridColumnListCustom.cpp:
92557         * bindings/js/JSDataGridDataSource.cpp:
92558         * bindings/js/JSDataGridDataSource.h:
92559         * bindings/js/JSHTMLDataGridElementCustom.cpp:
92560         * html/DataGridColumn.cpp:
92561         * html/DataGridColumn.h:
92562         * html/DataGridColumn.idl:
92563         * html/DataGridColumnList.cpp:
92564         * html/DataGridColumnList.h:
92565         * html/DataGridColumnList.idl:
92566         * html/DataGridDataSource.h:
92567         * html/HTMLDataGridCellElement.cpp:
92568         * html/HTMLDataGridCellElement.h:
92569         * html/HTMLDataGridCellElement.idl:
92570         * html/HTMLDataGridColElement.cpp:
92571         * html/HTMLDataGridColElement.h:
92572         * html/HTMLDataGridColElement.idl:
92573         * html/HTMLDataGridElement.cpp:
92574         * html/HTMLDataGridElement.h:
92575         * html/HTMLDataGridElement.idl:
92576         * html/HTMLDataGridRowElement.cpp:
92577         * html/HTMLDataGridRowElement.h:
92578         * html/HTMLDataGridRowElement.idl:
92579         * html/HTMLTagNames.in:
92580         * page/DOMWindow.idl:
92581         * rendering/RenderDataGrid.cpp:
92582         * rendering/RenderDataGrid.h:
92583
92584 2009-06-29  Simon Hausmann  <simon.hausmann@nokia.com>
92585
92586         Reviewed by Ariya Hidayat and Adam Roben.
92587
92588         Fix compilation with MINGW. Ported MSVC inline assembly to
92589         GNU inline assembly. Also fixed casting errors where gcc
92590         refused to cast a pointer-to-function to a pointer-to-object,
92591         without an intermediate cast to a non-pointer type.
92592
92593         * plugins/win/PluginViewWin.cpp:
92594         (WebCore::PluginView::hookedBeginPaint):
92595         (WebCore::PluginView::hookedEndPaint):
92596         (WebCore::hook):
92597         (WebCore::setUpOffscreenPaintingHooks):
92598
92599 2009-06-26  John Sullivan  <sullivan@apple.com>
92600
92601         Added Speech submenu to context menu on Mac when there's a non-editable selection
92602         (it was already present when there's an editable selection). 
92603         Also added support for disabling "Stop Speaking" when there is no speaking to stop.
92604
92605         Reviewed by Tim Hatcher.
92606
92607         * loader/EmptyClients.h:
92608         (WebCore::EmptyContextMenuClient::isSpeaking):
92609         implemented this new virtual function to return false
92610         
92611         * page/ContextMenuClient.h:
92612         declared this new pure virtual function
92613         
92614         * platform/ContextMenu.cpp:
92615         (WebCore::ContextMenu::populate):
92616         insert Speech item (after a separator) on Mac when there's selected non-editable text
92617         (WebCore::ContextMenu::checkOrEnableIfNeeded):
92618         enable Stop Speaking item only if the context menu client returns true for isSpeaking()
92619
92620 2009-06-28  Dan Bernstein  <mitz@apple.com>
92621
92622         Reviewed by Simon Fraser.
92623
92624         - fix https://bugs.webkit.org/show_bug.cgi?id=26783
92625           <rdar://problem/7014543> REGRESSION (r45296): Subfolders not displayed
92626           in MobileMe iDisk Web App
92627
92628         Test: added a case to fast/dom/Element/scrollWidth.html
92629
92630         Ensure that scroll{Width, Height} is greater or equal to
92631         client{Width, Height}.
92632
92633         * rendering/RenderBox.cpp:
92634         (WebCore::RenderBox::scrollWidth):
92635         (WebCore::RenderBox::scrollHeight):
92636
92637 2009-06-27  Simon Fraser  <simon.fraser@apple.com>
92638
92639         Reviewed by Eric Seidel.
92640
92641         https://bugs.webkit.org/show_bug.cgi?id=26780
92642         
92643         Do not make compositing layers for non-self-painting RenderLayers,
92644         since these exist only to push a clip onto the clipping stack. If such
92645         a layer gets compositied for some other reason, it should not paint.
92646         
92647         Also ensure that we update composited layer positions correctly
92648         inside overflow:scroll layers. We can't assume that the contents
92649         are child layers, so we have to go up to the compositing ancestor,
92650         and tell it to update all its child layer positions as we do 
92651         after layout.
92652
92653         Tests: compositing/layers-inside-overflow-scroll.html
92654                compositing/self-painting-layers.html
92655
92656         * rendering/RenderLayer.cpp:
92657         (WebCore::RenderLayer::scrollToOffset):
92658         * rendering/RenderLayerBacking.cpp:
92659         (WebCore::RenderLayerBacking::paintIntoLayer):
92660         * rendering/RenderLayerCompositor.cpp:
92661         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
92662         (WebCore::RenderLayerCompositor::needsToBeComposited):
92663
92664 2009-06-28  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>
92665
92666         Reviewed by Eric Seidel.
92667
92668         PurgeableBuffer #defines leave out functions on gtk MacOSX 10.4 build
92669         https://bugs.webkit.org/show_bug.cgi?id=23057
92670
92671         Define these functions for Gtk as well.
92672
92673         * platform/PurgeableBuffer.h:
92674
92675 2009-06-28  Nate Chapin  <japhet@chromium.org>
92676
92677         Reviewed by Dimitri Glazkov.
92678
92679         Update CodeGeneratorV8.pm to match the new api for V8Proxy.
92680
92681         https://bugs.webkit.org/show_bug.cgi?id=26765
92682
92683         * bindings/scripts/CodeGeneratorV8.pm: Match the current version of V8Proxy.
92684
92685 2009-06-28  Nicolas Sylvain  <nsylvain@chromium.org>
92686
92687         Reviewed by Dimitri Glazkov.
92688
92689         If loading a font fails because of the sandbox, we ask the browser process to 
92690         try to load it by calling ensureFontLoaded. If it still fails after 
92691         ensureFontLoaded, we hit a ASSERT_NOT_REACHED. 
92692
92693         This case happens once in a while during browser shutdown. The browser will 
92694         queue a message to the renderer to shutdown, and will then stop answering sync 
92695         messages from the renderer. If the renderer is still loading a page during this 
92696         time, it might try to call the browser process to ask to load a font. The 
92697         browser process will ignore the request, and the font will fail to load, even 
92698         after the second try. 
92699
92700         This is unfortunate, but there is no real risk here, since the renderer will be 
92701         going away as soon as it processes another message. 
92702
92703         This can't be layout tested as it depends on the sandbox. 
92704
92705         https://bugs.webkit.org/show_bug.cgi?id=26743 
92706
92707         * platform/graphics/chromium/FontChromiumWin.cpp:
92708         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
92709         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
92710         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
92711
92712 2009-06-28  John Abd-El-Malek  <jam@chromium.org>
92713
92714         Reviewed by Eric Seidel.
92715
92716         https://bugs.webkit.org/show_bug.cgi?id=15457
92717
92718         Test: plugins/netscape-plugin-map-data-to-src.html
92719
92720         Fix problems with Real or WMP plugins not displaying because "data" was set
92721         on the OBJECT tag instead of "src".  This is based on what Firefox does, see
92722         http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsObjectFrame.cpp#3045
92723
92724         * rendering/RenderPartObject.cpp:
92725         (WebCore::mapDataParamToSrc):
92726         (WebCore::RenderPartObject::updateWidget):
92727
92728 2009-06-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
92729
92730         Reviewed by Jan Alonzo.
92731
92732         [Qt] Build fix after r45290
92733         https://bugs.webkit.org/show_bug.cgi?id=26769
92734
92735         * WebCore.pro:
92736
92737 2009-06-27  Emilio Pozuelo Monfort  <pochu27@gmail.com>
92738
92739         Reviewed by Jan Alonzo.
92740
92741         [GTK] Don't use deprecated GTKsymbols.
92742         https://bugs.webkit.org/show_bug.cgi?id=26583
92743
92744         * plugins/gtk/gtk2xtbin.c:
92745         (gtk_xtbin_class_init):
92746         (gtk_xtbin_new):
92747         (gtk_xtbin_destroy):
92748
92749 2009-06-27  Simon Fraser  <simon.fraser@apple.com>
92750
92751         Reviewed by Dan Bernstein.
92752
92753         https://bugs.webkit.org/show_bug.cgi?id=26780
92754         
92755         Fix up previous change. When computeCompositingRequirements() determines
92756         that the current layer is composited, it needs to inform its parent
92757         by setting compositingState.m_subtreeIsCompositing() to true. That didn't
92758         always happen after the previous patch. Clarified the logic here.
92759         
92760         * rendering/RenderLayerCompositor.cpp:
92761         (WebCore::CompositingState::CompositingState):
92762         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
92763
92764 2009-06-27  Simon Fraser  <simon.fraser@apple.com>
92765
92766         Reviewed by Dan Bernstein.
92767
92768         https://bugs.webkit.org/show_bug.cgi?id=26780
92769         
92770         First part: fix the RenderLayer::hasCompositingDescendant() flag to be set
92771         correctly.
92772
92773         * rendering/RenderLayerCompositor.cpp:
92774         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
92775         Do not unconditionally set compositingState.m_subtreeIsCompositing, because
92776         that can clobber the value from an earlier sibling. Add some more comments.
92777         
92778         Remove a final use of Vector iterators.
92779         
92780         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
92781         Move the normalFlowList() processing outside the test for isStackingContext().
92782
92783 2009-06-27  Dan Bernstein  <mitz@apple.com>
92784
92785         Reviewed by Simon Fraser and Antti Koivisto.
92786
92787         - make paintFillLayerExtended() non-virtual and remove its clipY and
92788           clipH parameters
92789
92790         These parameters were computed and passed along to
92791         paintFillLayerExtended in order to vertically constrain the rect fill to
92792         the damage rect, because Qt cannot paint tall rectangles (see
92793         <http://websvn.kde.org/?view=rev&revision=42721>). Since the damage rect
92794         is passed along in the PaintInfo, the extra parameters are redundant,
92795         and the intersection can just take place in paintFillLayerExtended().
92796
92797         * rendering/InlineFlowBox.cpp:
92798         (WebCore::InlineFlowBox::paintFillLayers):
92799         (WebCore::InlineFlowBox::paintFillLayer):
92800         (WebCore::InlineFlowBox::paintBoxDecorations):
92801         (WebCore::InlineFlowBox::paintMask):
92802         * rendering/InlineFlowBox.h:
92803         * rendering/RenderBox.cpp:
92804         (WebCore::RenderBox::paintRootBoxDecorations):
92805         (WebCore::RenderBox::paintBoxDecorations):
92806         (WebCore::RenderBox::paintMask):
92807         (WebCore::RenderBox::paintMaskImages):
92808         (WebCore::RenderBox::paintFillLayers):
92809         (WebCore::RenderBox::paintFillLayer):
92810         * rendering/RenderBox.h:
92811         * rendering/RenderBoxModelObject.cpp:
92812         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
92813         * rendering/RenderBoxModelObject.h:
92814         * rendering/RenderFieldset.cpp:
92815         (WebCore::RenderFieldset::paintBoxDecorations):
92816         (WebCore::RenderFieldset::paintMask):
92817         * rendering/RenderTable.cpp:
92818         (WebCore::RenderTable::paintBoxDecorations):
92819         (WebCore::RenderTable::paintMask):
92820         * rendering/RenderTableCell.cpp:
92821         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
92822         (WebCore::RenderTableCell::paintMask):
92823
92824 2009-06-27  Ryosuke Niwa  <rniwa@google.com>
92825
92826         Reviewed by Eric Seidel.
92827
92828         https://bugs.webkit.org/show_bug.cgi?id=26762
92829
92830         Clean up for IndentOutdentCommand::indentRegion, and solved most of problems related to the bug 21712.
92831         https://bugs.webkit.org/show_bug.cgi?id=21712
92832
92833         Added few utility functions to htmlediting.h/cpp
92834
92835         isVisibilyAdjacent checks whether the first position is visibly next to the second position.
92836         i.e. there is no visible node between the first and second positions
92837
92838         canMergeLists checks whether two lists can be merged.
92839         It checks the type of list, the editing boundary, and adjacency of the lists.
92840
92841         Tests: editing/execCommand/indent-nested-lists-1.html
92842                editing/execCommand/indent-nested-lists-2.html
92843                editing/execCommand/indent-nested-lists-3.html
92844                editing/execCommand/indent-nested-lists-4.html
92845                editing/execCommand/indent-nested-lists-5.html
92846                editing/execCommand/indent-nested-lists-6.html
92847                editing/execCommand/indent-nested-lists-7.html
92848                editing/execCommand/outdent-nested-lists-1.html
92849                editing/execCommand/outdent-nested-lists-2.html
92850                editing/execCommand/outdent-nested-lists-3.html
92851                editing/execCommand/outdent-nested-lists-4.html
92852
92853         * editing/IndentOutdentCommand.cpp:
92854         (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
92855         (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
92856         (WebCore::IndentOutdentCommand::indentIntoBlockquote):
92857         (WebCore::IndentOutdentCommand::indentRegion):
92858         * editing/IndentOutdentCommand.h:
92859         * editing/htmlediting.cpp:
92860         (WebCore::enclosingListChild):
92861         (WebCore::canMergeLists):
92862         (WebCore::isVisibilyAdjacent):
92863         * editing/htmlediting.h:
92864
92865 2009-06-27  Pavel Feldman  <pfeldman@chromium.org>
92866
92867         Reviewed by Timothy Hatcher.
92868
92869         WebInspector: Fix completion when iterating options using Tab.
92870
92871         https://bugs.webkit.org/show_bug.cgi?id=26722
92872
92873         * inspector/front-end/TextPrompt.js:
92874         (WebInspector.TextPrompt.prototype._completionsReady):
92875
92876 2009-06-27  Gustavo Noronha Silva  <gns@gnome.org>
92877
92878         Reviewed by Holger Freyther.
92879
92880         https://bugs.webkit.org/show_bug.cgi?id=25889
92881         [GTK] scrollbar policy for main frame is not implementable
92882
92883         Override visibleContentRect to handle GTK+'s case, in which
92884         scrollbars or equivalent decoration are painted by the parent
92885         widget.
92886
92887         * platform/ScrollView.cpp:
92888         * platform/gtk/ScrollViewGtk.cpp:
92889         (WebCore::ScrollView::visibleContentRect):
92890
92891 2009-06-27  Daniel Bates  <dbates@intudata.com>
92892
92893         Reviewed by Adam Barth.
92894
92895         https://bugs.webkit.org/show_bug.cgi?id=26708
92896         
92897         Fix addresses false negatives with respect to scheme relative paths, iFrame JavaScript URLs,
92898         and UTF-7 encoded payloads.   
92899
92900         Tests: http/tests/security/xssAuditor/http-equiv-utf-7-encoded.html
92901                http/tests/security/xssAuditor/iframe-javascript-url.html
92902                http/tests/security/xssAuditor/script-tag-utf-7-encoded.html
92903                http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html
92904
92905         * html/HTMLTokenizer.cpp:
92906         (WebCore::HTMLTokenizer::scriptHandler): Moved XSSAuditor check to HTMLTokenizer::parseTag.
92907         (WebCore::HTMLTokenizer::parseTag):
92908         * loader/FrameLoader.cpp:
92909         (WebCore::FrameLoader::loadSubframe): Modified to inform XSSAuditor of parent frame so
92910         as to compare against iFrame javascript URL.
92911         * page/XSSAuditor.cpp: Removed method XSSAuditor::isControlCharacter. Instead, exposed method
92912         isControlCharacter in ResourceResponseBase.cpp.
92913         (WebCore::XSSAuditor::XSSAuditor):
92914         (WebCore::XSSAuditor::decodeURL): Modified to decode string using specified encoder.
92915         (WebCore::XSSAuditor::findInRequest): Generalized to arbitrary frame so as to prevent execution
92916         of iFrame javascript URL.
92917         * page/XSSAuditor.h: Added field m_parentFrame.
92918         * platform/network/ResourceResponseBase.cpp:
92919         (WebCore::isControlCharacter):
92920         * platform/network/ResourceResponseBase.h:
92921
92922 2009-06-27  Oliver Hunt  <oliver@apple.com>
92923
92924         Reviewed by Maciej Stachowiak.
92925
92926         Bug 26771: Canvas is incorrectly tainted when drawing from a video element that uses <source> elements
92927
92928         The drawImage(<video>) logic naively assumes that it just needs
92929         to check the src attribute of the video element when in fact it
92930         needs to look at the url that is being played instead.  Failure
92931         to do this means that video provided through source elements 
92932         taints the canvas.
92933
92934         Test: media/video-canvas-source.html
92935
92936         * html/CanvasRenderingContext2D.cpp:
92937         (WebCore::CanvasRenderingContext2D::checkOrigin):
92938         (WebCore::CanvasRenderingContext2D::drawImage):
92939         * html/CanvasRenderingContext2D.h:
92940
92941 2009-06-26  Brian Weinstein  <bweinstein@apple.com>
92942
92943         Reviewed by Simon Fraser.
92944
92945         https://bugs.webkit.org/show_bug.cgi?id=26695
92946         
92947         Added the ability to do scrollbar hit testing in EventHandler, changed the
92948         signature of a PlatformWheelEvent constructor, and changed scrollbarUnderMouse
92949         to scrollbarUnderPoint, and updated all calls to that function.        
92950
92951         * page/EventHandler.cpp:
92952         (WebCore::EventHandler::hitTestResultAtPoint):
92953         (WebCore::EventHandler::handleMousePressEvent):
92954         (WebCore::EventHandler::handleMouseMoveEvent):
92955         * page/EventHandler.h:
92956         (WebCore::):
92957         * platform/PlatformWheelEvent.h:
92958         * platform/ScrollView.cpp:
92959         (WebCore::ScrollView::scrollbarUnderPoint):
92960         * platform/ScrollView.h:
92961         * platform/chromium/PopupMenuChromium.cpp:
92962         (WebCore::PopupListBox::handleMouseDownEvent):
92963         (WebCore::PopupListBox::handleMouseMoveEvent):
92964         * platform/win/WheelEventWin.cpp:
92965         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
92966
92967
92968 2009-06-26  Simon Fraser  <simon.fraser@apple.com>
92969
92970         Reviewed by Dan Bernstein.
92971
92972         <rdar://problem/7011924> Opacity transitions should not trigger hardware compositing mode
92973         
92974         Don't go into compositing mode just for opacity transitions, but they will be
92975         hardware acclerated if we're already compositing.
92976
92977         * rendering/RenderLayerCompositor.cpp:
92978         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
92979         (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
92980         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
92981         * rendering/RenderLayerCompositor.h:
92982
92983 2009-06-26  Simon Fraser  <simon.fraser@apple.com>
92984
92985         Rubber-stamped by Dave Levin
92986
92987         Rename ioCompState to compositingState to better match WebCore coding style.
92988         
92989         * rendering/RenderLayerCompositor.cpp:
92990         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
92991         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
92992
92993 2009-06-26  Dan Bernstein  <mitz@apple.com>
92994
92995         Reviewed by Mark Rowe.
92996
92997         - revert unintentional project changes from r45277
92998
92999         * WebCore.xcodeproj/project.pbxproj:
93000
93001 2009-06-26  Mark Rowe  <mrowe@apple.com>
93002
93003         Fix the Windows build.
93004
93005         * WebCore.vcproj/WebCore.vcproj: Remove ColorSafari.cpp as
93006         the file was deleted from SVN.
93007
93008 2009-06-26  Simon Fraser  <simon.fraser@apple.com>
93009
93010         Reviewed by Dan Bernstein.
93011
93012         https://bugs.webkit.org/show_bug.cgi?id=26766
93013
93014         Change to use array indexing rather than Vector enumerators; the former
93015         are preferred style.
93016
93017         * rendering/RenderLayerBacking.cpp:
93018         (WebCore::RenderLayerBacking::hasNonCompositingContent):
93019         * rendering/RenderLayerCompositor.cpp:
93020         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
93021         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
93022         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
93023         (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
93024         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
93025         (WebCore::RenderLayerCompositor::layerHas3DContent):
93026
93027 2009-06-26  Dan Bernstein  <mitz@apple.com>
93028
93029         Reviewed by Oliver Hunt.
93030
93031         - fix <rdar://problem/6961476> REGRESSION (r42043): scrollWidth reported
93032           as 1 px
93033
93034         Test: fast/dom/Element/scrollWidth.html
93035
93036         Changed scrollWidth and scrollHeight to use the same logic for
93037         visible overflow boxes that is used for clipped overflow boxes. In
93038         particular, borders are not included and
93039         {leftmost,rightmost,lowest}Position() are used. This logic matches IE8.
93040
93041         * rendering/RenderBox.cpp:
93042         (WebCore::RenderBox::scrollWidth):
93043         (WebCore::RenderBox::scrollHeight):
93044
93045 2009-06-26  Chris Fleizach  <cfleizach@apple.com>
93046
93047         Reviewed by Oliver Hunt.
93048
93049         Bug 26725: aria-hidden, aria-disabled, aria-readonly need to be implemented
93050         https://bugs.webkit.org/show_bug.cgi?id=26725
93051
93052         Tests: accessibility/aria-disabled.html
93053                accessibility/aria-hidden.html
93054                accessibility/aria-readonly.html
93055
93056         * accessibility/AccessibilityRenderObject.cpp:
93057         (WebCore::AccessibilityRenderObject::ariaIsHidden):
93058         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
93059         (WebCore::AccessibilityRenderObject::isEnabled):
93060         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
93061         * accessibility/AccessibilityRenderObject.h:
93062         * html/HTMLAttributeNames.in:
93063
93064 2009-06-26  Brett Wilson  <brettw@chromium.org>
93065
93066         Reviewed by David Levin.
93067
93068         https://bugs.webkit.org/show_bug.cgi?id=26759
93069
93070         GIFImageDecoder is broken.
93071
93072         Make the GIFImageDecoder.repetitionCount function const to match the
93073         base class. The mismatched definitions were causing the function to not
93074         get called.
93075
93076         * platform/image-decoders/gif/GIFImageDecoder.cpp:
93077         (WebCore::GIFImageDecoder::repetitionCount):
93078         * platform/image-decoders/gif/GIFImageDecoder.h:
93079
93080 2009-06-26  Chris Marrin  <cmarrin@apple.com>
93081
93082         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
93083
93084         Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651
93085
93086         The flag should always default to true to avoid it getting set
93087         to false in a build with accelerated compositing turned off
93088         and then disabling accelerated compositing when subsequently
93089         running a build with it turned on.
93090
93091         * page/Settings.cpp:
93092         (WebCore::Settings::Settings):
93093
93094 2009-06-26  Brady Eidson  <beidson@apple.com>
93095
93096         Reviewed by Sam Weinig.
93097
93098         Followup for the fix for <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
93099
93100         Now that other MIME type correction stuff is in our swizzled method, Tiger needs it too!
93101
93102         * platform/network/mac/ResourceHandleMac.mm:
93103         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
93104         * platform/network/mac/WebCoreURLResponse.h:
93105
93106 2009-06-26  Jeremy Orlow  <jorlow@chromium.org>
93107
93108         Reviewed by Darin Fisher.
93109
93110         https://bugs.webkit.org/show_bug.cgi?id=26732
93111
93112         For the final step of https://bugs.webkit.org/show_bug.cgi?id=25376,
93113         combine LocalStorage and SessionStorage into StorageNamespace. The
93114         synching code (for LocalStorage) has already been removed, so these
93115         classes are now very similar.  All they do is essentially contain a
93116         logical grouping of origins that are attached to specific contexts
93117         (be it PageGroups for LocalStorage and Page for SessionStorage).
93118
93119         * GNUmakefile.am:
93120         * WebCore.vcproj/WebCore.vcproj:
93121         * WebCore.xcodeproj/project.pbxproj:
93122         * WebCoreSources.bkl:
93123         * page/Chrome.cpp:
93124         (WebCore::Chrome::createWindow):
93125         * page/DOMWindow.cpp:
93126         (WebCore::DOMWindow::localStorage):
93127         * page/DOMWindow.h:
93128         * page/Page.cpp:
93129         (WebCore::Page::sessionStorage):
93130         (WebCore::Page::setSessionStorage):
93131         * page/Page.h:
93132         * page/PageGroup.cpp:
93133         (WebCore::PageGroup::localStorage):
93134         * page/PageGroup.h:
93135         * storage/LocalStorage.cpp: Removed.
93136         * storage/LocalStorage.h: Removed.
93137         * storage/LocalStorageTask.cpp:
93138         * storage/LocalStorageThread.cpp:
93139         * storage/SessionStorage.cpp: Removed.
93140         * storage/SessionStorage.h: Removed.
93141         * storage/StorageArea.cpp:
93142         (WebCore::StorageArea::create):
93143         (WebCore::StorageArea::StorageArea):
93144         (WebCore::StorageArea::copy):
93145         (WebCore::StorageArea::length):
93146         (WebCore::StorageArea::key):
93147         (WebCore::StorageArea::getItem):
93148         (WebCore::StorageArea::setItem):
93149         (WebCore::StorageArea::removeItem):
93150         (WebCore::StorageArea::clear):
93151         (WebCore::StorageArea::contains):
93152         (WebCore::StorageArea::importItem):
93153         (WebCore::StorageArea::close):
93154         (WebCore::StorageArea::dispatchStorageEvent):
93155         * storage/StorageArea.h:
93156         (WebCore::):
93157         * storage/StorageAreaSync.cpp:
93158         (WebCore::StorageAreaSync::scheduleFinalSync):
93159         * storage/StorageNamespace.cpp: Copied from WebCore/storage/LocalStorage.cpp.
93160         (WebCore::localStorageNamespaceMap):
93161         (WebCore::StorageNamespace::localStorageNamespace):
93162         (WebCore::StorageNamespace::sessionStorageNamespace):
93163         (WebCore::StorageNamespace::StorageNamespace):
93164         (WebCore::StorageNamespace::~StorageNamespace):
93165         (WebCore::StorageNamespace::copy):
93166         (WebCore::StorageNamespace::storageArea):
93167         (WebCore::StorageNamespace::close):
93168         * storage/StorageNamespace.h: Copied from WebCore/storage/LocalStorage.h.
93169
93170 2009-06-26  Nate Chapin  <japhet@chromium.org>
93171
93172         Reviewed by David Levin.
93173
93174         Upstream V8Proxy.  This involved updating a lot of function and variable names to match WebKit style, hence the large size.
93175
93176         https://bugs.webkit.org/show_bug.cgi?id=26623
93177
93178         * bindings/v8/ScheduledAction.cpp:
93179         (WebCore::ScheduledAction::ScheduledAction):
93180         (WebCore::ScheduledAction::~ScheduledAction):
93181         (WebCore::ScheduledAction::execute):
93182         * bindings/v8/ScriptCallStack.cpp:
93183         (WebCore::ScriptCallStack::ScriptCallStack):
93184         * bindings/v8/ScriptController.cpp:
93185         (WebCore::ScriptController::isSafeScript):
93186         (WebCore::ScriptController::gcProtectJSWrapper):
93187         (WebCore::ScriptController::gcUnprotectJSWrapper):
93188         (WebCore::ScriptController::processingUserGesture):
93189         (WebCore::ScriptController::evaluate):
93190         (WebCore::ScriptController::setEventHandlerLineNumber):
93191         (WebCore::ScriptController::bindToWindowObject):
93192         (WebCore::ScriptController::collectGarbage):
93193         (WebCore::ScriptController::haveInterpreter):
93194         (WebCore::createScriptObject):
93195         (WebCore::ScriptController::createScriptObjectForPluginElement):
93196         * bindings/v8/ScriptInstance.cpp:
93197         (WebCore::V8ScriptInstance::clear):
93198         (WebCore::V8ScriptInstance::set):
93199         * bindings/v8/ScriptObject.cpp:
93200         (WebCore::ScriptGlobalObject::set):
93201         * bindings/v8/ScriptObjectQuarantine.cpp:
93202         (WebCore::getQuarantinedScriptObject):
93203         * bindings/v8/ScriptScope.cpp:
93204         (WebCore::ScriptScope::ScriptScope):
93205         * bindings/v8/ScriptValue.h:
93206         (WebCore::ScriptValue::ScriptValue):
93207         (WebCore::ScriptValue::operator=):
93208         (WebCore::ScriptValue::clear):
93209         * bindings/v8/V8AbstractEventListener.cpp:
93210         (WebCore::V8AbstractEventListener::invokeEventHandler):
93211         (WebCore::V8AbstractEventListener::handleEvent):
93212         (WebCore::V8AbstractEventListener::disposeListenerObject):
93213         (WebCore::V8AbstractEventListener::getReceiverObject):
93214         * bindings/v8/V8Collection.cpp:
93215         (WebCore::toOptionsCollectionSetter):
93216         * bindings/v8/V8Collection.h:
93217         (WebCore::getV8Object):
93218         (WebCore::getNamedPropertyOfCollection):
93219         (WebCore::nodeCollectionNamedPropertyGetter):
93220         (WebCore::getIndexedPropertyOfCollection):
93221         (WebCore::nodeCollectionIndexedPropertyGetter):
93222         (WebCore::nodeCollectionIndexedPropertyEnumerator):
93223         (WebCore::collectionIndexedPropertyEnumerator):
93224         (WebCore::collectionStringOrNullIndexedPropertyGetter):
93225         * bindings/v8/V8DOMMap.cpp:
93226         (WebCore::weakDOMObjectCallback):
93227         (WebCore::DOMData::removeObjectsFromWrapperMap):
93228         * bindings/v8/V8Helpers.cpp:
93229         (WebCore::wrapNPObject):
93230         (WebCore::toV8Context):
93231         * bindings/v8/V8LazyEventListener.cpp:
93232         (WebCore::V8LazyEventListener::~V8LazyEventListener):
93233         (WebCore::V8LazyEventListener::getListenerFunction):
93234         (WebCore::V8LazyEventListener::callListenerFunction):
93235         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
93236         * bindings/v8/V8NodeFilterCondition.cpp:
93237         (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
93238         (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
93239         (WebCore::V8NodeFilterCondition::acceptNode):
93240         * bindings/v8/V8ObjectEventListener.cpp:
93241         (WebCore::weakObjectEventListenerCallback):
93242         (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
93243         * bindings/v8/V8Proxy.cpp: Added.
93244         * bindings/v8/V8Proxy.h:
93245         (WebCore::):
93246         (WebCore::GlobalHandleInfo::GlobalHandleInfo):
93247         (WebCore::V8Proxy::):
93248         (WebCore::V8Proxy::V8Proxy):
93249         (WebCore::V8Proxy::frame):
93250         (WebCore::V8Proxy::inlineCode):
93251         (WebCore::V8Proxy::setInlineCode):
93252         (WebCore::V8Proxy::timerCallback):
93253         (WebCore::V8Proxy::setTimerCallback):
93254         (WebCore::V8Proxy::setEventHandlerLineNumber):
93255         (WebCore::V8Proxy::finishedWithEvent):
93256         (WebCore::V8Proxy::wrapCPointer):
93257         (WebCore::V8Proxy::extractCPointer):
93258         (WebCore::V8Proxy::convertDOMWrapperToNative):
93259         (WebCore::V8Proxy::convertDOMWrapperToNode):
93260         (WebCore::V8Proxy::convertToV8Object):
93261         (WebCore::V8Proxy::convertToNativeObject):
93262         (WebCore::V8Proxy::convertToNativeEvent):
93263         (WebCore::V8Proxy::context):
93264         (WebCore::V8Proxy::extractCPointerImpl):
93265         (WebCore::V8Proxy::utilityContext):
93266         (WebCore::V8Proxy::constructDOMObject):
93267         (WebCore::throwError):
93268         (WebCore::toV8):
93269         * bindings/v8/V8Utilities.h:
93270         * bindings/v8/WorkerContextExecutionProxy.cpp:
93271         (WebCore::WorkerContextExecutionProxy::retrieve):
93272         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
93273         (WebCore::WorkerContextExecutionProxy::GetConstructor):
93274         (WebCore::WorkerContextExecutionProxy::ToV8Object):
93275         (WebCore::WorkerContextExecutionProxy::EventToV8Object):
93276         (WebCore::WorkerContextExecutionProxy::toV8):
93277         (WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
93278         (WebCore::WorkerContextExecutionProxy::evaluate):
93279         (WebCore::WorkerContextExecutionProxy::runScript):
93280         * bindings/v8/custom/V8AttrCustom.cpp:
93281         (WebCore::ACCESSOR_SETTER):
93282         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
93283         (WebCore::NAMED_PROPERTY_GETTER):
93284         (WebCore::NAMED_PROPERTY_SETTER):
93285         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
93286         (WebCore::INDEXED_PROPERTY_GETTER):
93287         (WebCore::INDEXED_PROPERTY_SETTER):
93288         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
93289         (WebCore::toV8):
93290         (WebCore::toCanvasStyle):
93291         (WebCore::ACCESSOR_GETTER):
93292         (WebCore::ACCESSOR_SETTER):
93293         (WebCore::CALLBACK_FUNC_DECL):
93294         * bindings/v8/custom/V8ClientRectListCustom.cpp:
93295         (WebCore::INDEXED_PROPERTY_GETTER):
93296         * bindings/v8/custom/V8ClipboardCustom.cpp:
93297         (WebCore::ACCESSOR_GETTER):
93298         (WebCore::CALLBACK_FUNC_DECL):
93299         * bindings/v8/custom/V8CustomBinding.cpp:
93300         (WebCore::allowSettingFrameSrcToJavascriptUrl):
93301         (WebCore::ACCESSOR_GETTER):
93302         (WebCore::INDEXED_ACCESS_CHECK):
93303         (WebCore::NAMED_ACCESS_CHECK):
93304         (WebCore::V8Custom::GetTargetFrame):
93305         * bindings/v8/custom/V8CustomEventListener.cpp:
93306         (WebCore::V8EventListener::V8EventListener):
93307         (WebCore::V8EventListener::~V8EventListener):
93308         (WebCore::V8EventListener::callListenerFunction):
93309         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
93310         (WebCore::V8CustomSQLStatementCallback::handleEvent):
93311         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
93312         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
93313         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
93314         (WebCore::V8CustomSQLTransactionCallback::handleEvent):
93315         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
93316         (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
93317         * bindings/v8/custom/V8CustomVoidCallback.cpp:
93318         (WebCore::V8CustomVoidCallback::handleEvent):
93319         (WebCore::invokeCallback):
93320         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
93321         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
93322         * bindings/v8/custom/V8DOMParserConstructor.cpp:
93323         (WebCore::CALLBACK_FUNC_DECL):
93324         * bindings/v8/custom/V8DOMWindowCustom.cpp:
93325         (WebCore::V8Custom::WindowSetTimeoutImpl):
93326         (WebCore::convertBase64):
93327         (WebCore::ACCESSOR_SETTER):
93328         (WebCore::CALLBACK_FUNC_DECL):
93329         (WebCore::ACCESSOR_GETTER):
93330         (WebCore::createWindow):
93331         (WebCore::INDEXED_PROPERTY_GETTER):
93332         (WebCore::NAMED_PROPERTY_GETTER):
93333         (WebCore::V8Custom::ClearTimeoutImpl):
93334         (WebCore::NAMED_ACCESS_CHECK):
93335         (WebCore::INDEXED_ACCESS_CHECK):
93336         * bindings/v8/custom/V8DatabaseCustom.cpp:
93337         (WebCore::CALLBACK_FUNC_DECL):
93338         * bindings/v8/custom/V8DocumentCustom.cpp:
93339         (WebCore::CALLBACK_FUNC_DECL):
93340         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
93341         (WebCore::ACCESSOR_GETTER):
93342         (WebCore::ACCESSOR_SETTER):
93343         * bindings/v8/custom/V8ElementCustom.cpp:
93344         (WebCore::CALLBACK_FUNC_DECL):
93345         (WebCore::ACCESSOR_SETTER):
93346         (WebCore::ACCESSOR_GETTER):
93347         * bindings/v8/custom/V8EventCustom.cpp:
93348         (WebCore::ACCESSOR_SETTER):
93349         (WebCore::ACCESSOR_GETTER):
93350         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
93351         (WebCore::CALLBACK_FUNC_DECL):
93352         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
93353         (WebCore::getNamedItems):
93354         (WebCore::getItem):
93355         (WebCore::NAMED_PROPERTY_GETTER):
93356         (WebCore::CALLBACK_FUNC_DECL):
93357         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
93358         (WebCore::NAMED_PROPERTY_GETTER):
93359         (WebCore::CALLBACK_FUNC_DECL):
93360         (WebCore::ACCESSOR_GETTER):
93361         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
93362         (WebCore::INDEXED_PROPERTY_GETTER):
93363         (WebCore::NAMED_PROPERTY_GETTER):
93364         (WebCore::CALLBACK_FUNC_DECL):
93365         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
93366         (WebCore::ACCESSOR_SETTER):
93367         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
93368         (WebCore::NAMED_PROPERTY_GETTER):
93369         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
93370         (WebCore::ACCESSOR_SETTER):
93371         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
93372         (WebCore::CALLBACK_FUNC_DECL):
93373         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
93374         (WebCore::ACCESSOR_GETTER):
93375         (WebCore::ACCESSOR_SETTER):
93376         (WebCore::CALLBACK_FUNC_DECL):
93377         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
93378         (WebCore::CALLBACK_FUNC_DECL):
93379         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
93380         (WebCore::CALLBACK_FUNC_DECL):
93381         (WebCore::ACCESSOR_GETTER):
93382         (WebCore::ACCESSOR_SETTER):
93383         (WebCore::INDEXED_PROPERTY_GETTER):
93384         (WebCore::INDEXED_PROPERTY_SETTER):
93385         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
93386         (WebCore::NAMED_PROPERTY_GETTER):
93387         (WebCore::NAMED_PROPERTY_SETTER):
93388         (WebCore::INDEXED_PROPERTY_GETTER):
93389         (WebCore::INDEXED_PROPERTY_SETTER):
93390         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
93391         (WebCore::NAMED_PROPERTY_GETTER):
93392         (WebCore::INDEXED_PROPERTY_SETTER):
93393         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
93394         (WebCore::CALLBACK_FUNC_DECL):
93395         (WebCore::removeElement):
93396         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
93397         (WebCore::CALLBACK_FUNC_DECL):
93398         * bindings/v8/custom/V8LocationCustom.cpp:
93399         (WebCore::ACCESSOR_SETTER):
93400         (WebCore::ACCESSOR_GETTER):
93401         (WebCore::CALLBACK_FUNC_DECL):
93402         (WebCore::INDEXED_ACCESS_CHECK):
93403         (WebCore::NAMED_ACCESS_CHECK):
93404         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
93405         (WebCore::CALLBACK_FUNC_DECL):
93406         * bindings/v8/custom/V8MessagePortCustom.cpp:
93407         (WebCore::ACCESSOR_GETTER):
93408         (WebCore::ACCESSOR_SETTER):
93409         (WebCore::CALLBACK_FUNC_DECL):
93410         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
93411         (WebCore::INDEXED_PROPERTY_GETTER):
93412         (WebCore::NAMED_PROPERTY_GETTER):
93413         * bindings/v8/custom/V8NavigatorCustom.cpp:
93414         (WebCore::ACCESSOR_GETTER):
93415         * bindings/v8/custom/V8NodeCustom.cpp:
93416         (WebCore::CALLBACK_FUNC_DECL):
93417         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
93418         (WebCore::toV8):
93419         (WebCore::CALLBACK_FUNC_DECL):
93420         * bindings/v8/custom/V8NodeListCustom.cpp:
93421         (WebCore::NAMED_PROPERTY_GETTER):
93422         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
93423         (WebCore::CALLBACK_FUNC_DECL):
93424         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
93425         (WebCore::CALLBACK_FUNC_DECL):
93426         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
93427         (WebCore::CALLBACK_FUNC_DECL):
93428         * bindings/v8/custom/V8SVGLengthCustom.cpp:
93429         (WebCore::ACCESSOR_GETTER):
93430         (WebCore::CALLBACK_FUNC_DECL):
93431         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
93432         (WebCore::CALLBACK_FUNC_DECL):
93433         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
93434         (WebCore::NAMED_PROPERTY_GETTER):
93435         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
93436         (WebCore::toV8):
93437         (WebCore::CALLBACK_FUNC_DECL):
93438         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
93439         (WebCore::CALLBACK_FUNC_DECL):
93440         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
93441         (WebCore::CALLBACK_FUNC_DECL):
93442         * bindings/v8/custom/V8WorkerContextCustom.cpp:
93443         (WebCore::ACCESSOR_GETTER):
93444         (WebCore::ACCESSOR_SETTER):
93445         (WebCore::SetTimeoutOrInterval):
93446         (WebCore::CALLBACK_FUNC_DECL):
93447         * bindings/v8/custom/V8WorkerCustom.cpp:
93448         (WebCore::CALLBACK_FUNC_DECL):
93449         (WebCore::getEventListener):
93450         (WebCore::ACCESSOR_GETTER):
93451         (WebCore::ACCESSOR_SETTER):
93452         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
93453         (WebCore::CALLBACK_FUNC_DECL):
93454         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
93455         (WebCore::getEventListener):
93456         (WebCore::ACCESSOR_GETTER):
93457         (WebCore::ACCESSOR_SETTER):
93458         (WebCore::CALLBACK_FUNC_DECL):
93459         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
93460         (WebCore::ACCESSOR_GETTER):
93461         (WebCore::ACCESSOR_SETTER):
93462         (WebCore::CALLBACK_FUNC_DECL):
93463         * bindings/v8/custom/V8XMLSerializerConstructor.cpp:
93464         (WebCore::CALLBACK_FUNC_DECL):
93465         * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp:
93466         (WebCore::CALLBACK_FUNC_DECL):
93467         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
93468         (WebCore::CALLBACK_FUNC_DECL):
93469
93470 2009-06-26  Kevin McCullough  <kmccullough@apple.com>
93471
93472         Reviewed by Tim Hatcher.
93473
93474         <rdar://problem/7011047> Profiler shows the record button 'on' even
93475         though it's finished
93476
93477         I consolidated the creation of the user initiated profile name into
93478         its own function and then called it from console::profile instead of
93479         calling startUserInitiatedProfiling().  This way we don't call
93480         toggleRecordButton() which turns on the record button.
93481
93482         * inspector/InspectorController.cpp:
93483         (WebCore::InspectorController::didCommitLoad):
93484         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
93485         (WebCore::InspectorController::startUserInitiatedProfiling):
93486         (WebCore::InspectorController::stopUserInitiatedProfiling):
93487         * inspector/InspectorController.h:
93488         * page/Console.cpp:
93489         (WebCore::Console::profile):
93490         (WebCore::Console::profileEnd):
93491
93492 2009-06-26  Jeremy Moskovich  <jeremy@chromium.org>
93493
93494         Reviewed by Eric Seidel.
93495
93496         https://bugs.webkit.org/show_bug.cgi?id=26691
93497
93498         Cleanup: Move focusRingColor to RenderTheme.
93499
93500         Most of this CL involves deleting files and removing dead code.
93501
93502         focusRingColor() is now defined in RenderTheme rather than in
93503         misc. places on each port.  The default color is specified as
93504         black in renderTheme and ports can override it in their own
93505         custom renderThemes.
93506
93507         Behavior should be identical except for the following cases,
93508         this lists platform and what the focus ring color used to be
93509         before this cl and the file where it used to be defined:
93510
93511         Android - red
93512         WebCore/platform/android/TemporaryLinkStubs.cpp
93513
93514         Cairo - aqua focus ring color - 0xFF7DADD9
93515         WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
93516
93517         wx - red
93518         WebCore/platform/wx/TemporaryLinkStubs.cpp
93519
93520         QT - black
93521         WebCore/platform/graphics/qt/GraphicsContextQt.cpp
93522
93523         Manual test: manual-tests/focusringcolor-change-on-theme-change.html
93524
93525         * css/CSSStyleSelector.cpp:
93526         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
93527         * manual-tests/focusringcolor-change-on-theme-change.html: Added.
93528         * platform/android/TemporaryLinkStubs.cpp:
93529         * platform/graphics/cairo/GraphicsContextCairo.cpp:
93530         * platform/graphics/chromium/ColorChromium.cpp: Removed.
93531         * platform/graphics/chromium/ColorChromiumMac.mm: Removed.
93532         * platform/graphics/mac/ColorMac.h:
93533         * platform/graphics/mac/ColorMac.mm:
93534         (WebCore::oldAquaFocusRingColor):
93535         (WebCore::setUsesTestModeFocusRingColor):
93536         (WebCore::usesTestModeFocusRingColor):
93537         * platform/graphics/qt/GraphicsContextQt.cpp:
93538         * platform/graphics/skia/GraphicsContextSkia.cpp:
93539         (WebCore::GraphicsContext::drawFocusRing):
93540         * platform/graphics/win/ColorSafari.cpp: Removed.
93541         * platform/wx/TemporaryLinkStubs.cpp:
93542         * rendering/RenderTheme.cpp:
93543         (WebCore::RenderTheme::focusRingColor):
93544         * rendering/RenderTheme.h:
93545         * rendering/RenderThemeChromiumMac.h:
93546         * rendering/RenderThemeChromiumMac.mm:
93547         (WebCore::RenderThemeChromiumMac::focusRingColor):
93548         (WebCore::RenderThemeChromiumMac::systemColor):
93549         * rendering/RenderThemeChromiumSkia.cpp:
93550         (WebCore::RenderThemeChromiumSkia::focusRingColor):
93551         * rendering/RenderThemeChromiumSkia.h:
93552         * rendering/RenderThemeMac.h:
93553         * rendering/RenderThemeMac.mm:
93554         (WebCore::RenderThemeMac::focusRingColor):
93555         (WebCore::RenderThemeMac::systemColor):
93556         * rendering/RenderThemeSafari.cpp:
93557         (WebCore::makeRGBAFromCGColor):
93558         (WebCore::RenderThemeSafari::focusRingColor):
93559         * rendering/RenderThemeSafari.h:
93560
93561 2009-06-26  Dmitry Titov  <dimich@chromium.org>
93562
93563         Reviewed by David Levin.
93564
93565         https://bugs.webkit.org/show_bug.cgi?id=26761
93566         [Chromium] Enable Dedicated Workers in Chromium.
93567
93568         * bindings/v8/custom/V8WorkerCustom.cpp:
93569         (WebCore::CALLBACK_FUNC_DECL):
93570         Remove the check that prevented workers from being created w/o a command-line switch.
93571         The flag itself and methods will be removed in a subsequent patch, after
93572         corresponding change in Chromium.
93573
93574 2009-06-26  Jessie Berlin  <jberlin@apple.com>
93575
93576         Reviewed by Mark Rowe.
93577         
93578         Fix: https://bugs.webkit.org/show_bug.cgi?id=26723
93579         Where the m_mouseDown event was never being set on windows, so the
93580         client X and Y coordinates were always being reported as zero in a
93581         dragstart handler.
93582
93583         Test: editing/selection/drag-start-event-client-x-y.html
93584
93585         * page/EventHandler.cpp:
93586         (WebCore::EventHandler::handleMousePressEvent):
93587         Set the m_mouseDown event when the mouse press is handled.
93588         * page/mac/EventHandlerMac.mm:
93589         (WebCore::EventHandler::mouseDown):
93590         Removed now redundant setting of m_mouseDown.
93591
93592 2009-06-26  Brady Eidson  <beidson@apple.com>
93593
93594         Tiger build fix
93595
93596         * WebCore.xcodeproj/project.pbxproj:
93597         * platform/network/mac/WebCoreURLResponse.mm:
93598         (swizzleMIMETypeMethodIfNecessary):
93599
93600 2009-06-26  Alexey Proskuryakov  <ap@webkit.org>
93601
93602         Reviewed by Sam Weinig.
93603
93604         https://bugs.webkit.org/show_bug.cgi?id=26681
93605         Problem updating applicationCache when server returns 304
93606         
93607         Improve the fix, make the test pass on Tiger.
93608
93609         * loader/appcache/ApplicationCacheGroup.cpp:
93610         (WebCore::ApplicationCacheGroup::didReceiveResponse): Fix another code path to remove the
93611         current item from list.
93612
93613         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): On Tiger,
93614         conditional requests that cannot be cached by network layer cause errors with default cache
93615         policy.
93616
93617 2009-06-26  Brady Eidson  <beidson@apple.com>
93618
93619         Reviewed by Sam Weinig
93620
93621         <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
93622
93623         When we disabled content sniffing for file urls we lost knowledge of many file extensions that we
93624         didn't intend to lose.  Turns out the CoreTypes UTI database doesn't know about every extension Gatekeeper
93625         knew about.
93626
93627         By comparing CoreTypes' database to Gatekeepers, this patch adds a hardcoded list of file extension to MIME
93628         type mappings that are missing in CoreType's database.
93629
93630         Test: platform/mac/fast/loader/file-url-mimetypes.html
93631
93632         * platform/network/mac/ResourceHandleMac.mm:
93633         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Move the MIME Type swizzling code to
93634           WebCoreURLResponse.
93635
93636         * platform/network/mac/ResourceResponseMac.mm:
93637         (WebCore::ResourceResponse::platformLazyInit): _webcore_MIMEType -> MIMEType, as we now have only one place
93638           where we do all MIMEType correction.
93639
93640         * platform/network/mac/WebCoreURLResponse.h: Remove _webcore_MIMEType, as it is now folded into the swizzled
93641           implementation of MIMEType.
93642         * platform/network/mac/WebCoreURLResponse.mm:
93643         (createBinaryExtensionsSet):
93644         (createExtensionToMIMETypeMap):
93645         (swizzleMIMETypeMethodIfNecessary):
93646         (webNSURLResponseMIMEType): If it's a file URL and there's no MIME type, see if the extension exists in the 
93647           extension -> MIME type map before turning to the default MIME type.  Also roll in what was previously
93648           implemented in _webcore_MIMEType.
93649
93650         * svg/graphics/SVGImage.cpp:
93651         (WebCore::SVGImage::~SVGImage): Tweak this ASSERT - SVGImages might get destroyed without ever having a client.
93652
93653 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
93654
93655         Reviewed by Simon Fraser.
93656
93657         Show the fullscreen button only if the backend has support for it.
93658
93659         https://bugs.webkit.org/show_bug.cgi?id=26661
93660
93661         No test since this is not reachable via the DOM.
93662
93663         * html/HTMLMediaElement.h:
93664         (WebCore::HTMLMediaElement::supportsFullscreen): new
93665         * html/HTMLVideoElement.h:
93666         (WebCore::HTMLVideoElement::supportsFullscreen): new
93667         * platform/graphics/MediaPlayer.cpp:
93668         (WebCore::NullMediaPlayerPrivate::supportsFullscreen): new
93669         (WebCore::MediaPlayer::supportsFullscreen): new
93670         * platform/graphics/MediaPlayer.h: new
93671         * platform/graphics/MediaPlayerPrivate.h: new
93672         (WebCore::MediaPlayerPrivateInterface::supportsFullscreen): new
93673         * rendering/MediaControlElements.cpp:
93674         (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): new
93675         * rendering/MediaControlElements.h:
93676
93677 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
93678
93679         Reviewed by Simon Fraser.
93680
93681         <rdar://problem/7007776> Controller doesn't automatically update counters when file
93682         is playing ( http://www.jazzguitar.be/mp3/Michael%20Lewis%20-%20SSSJ.mp3 )
93683
93684         Update the time display when the movie time changes.
93685
93686         * rendering/RenderMedia.cpp:
93687         (WebCore::RenderMedia::updateControls):
93688
93689 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
93690
93691         Reviewed by Simon Fraser.
93692
93693         https://bugs.webkit.org/show_bug.cgi?id=26659
93694
93695         Support hidding a control bar element from the Media element controller.
93696
93697         Update layout tests since the fullscreen button no longer has a renderer.
93698
93699         * rendering/MediaControlElements.cpp:
93700         (WebCore::MediaTextDisplayElement::update): call updateStyle() so everything
93701         is updated properly.
93702         (WebCore::MediaControlInputElement::MediaControlInputElement):
93703         (WebCore::MediaControlInputElement::update): call updateStyle()
93704         (WebCore::MediaControlInputElement::updateStyle): create the renderer properly
93705         or not depending on what rendererIsNeeded() return.
93706         * rendering/MediaControlElements.h:
93707
93708 2009-06-26  Kevin McCullough  <kmccullough@apple.com>
93709
93710         Reviewed by Oliver Hunt.
93711
93712         <rdar://problem/6968137> Profiler title numbers increment even after a
93713         reload.
93714
93715         - Now the numbers are reset when the profiles are.
93716
93717         * inspector/InspectorController.cpp:
93718         (WebCore::InspectorController::didCommitLoad):
93719
93720 2009-06-26  Adele Peterson  <adele@apple.com>
93721
93722         Reviewed by Darin Adler.
93723
93724         Fix for <rdar://problem/7000796>
93725         REGRESSION(34681): Breaking up quoted text makes new, unquoted text blue after certain steps; repros with some messages
93726
93727         Test: editing/inserting/break-blockquote-after-delete.html
93728
93729         Keep track of whether the typing style should be preserved after the TypingCommand is applied.  When adding onto an open
93730         typing command, keep that flag up to date.
93731
93732         In this case, an InsertParagraphSeparatorInQuotedContent command, which should not preserve typing style, 
93733         was following an open Delete command, which does preserve the typing style.  So we were applying the original
93734         typing style (from before the delete, so blue text) to the cursor in the unquoted area after breaking up the blockquote.
93735
93736         * editing/TypingCommand.cpp:
93737         (WebCore::TypingCommand::TypingCommand):
93738         (WebCore::TypingCommand::typingAddedToOpenCommand):
93739         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
93740         (WebCore::TypingCommand::insertLineBreak):
93741         (WebCore::TypingCommand::insertParagraphSeparator):
93742         (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
93743         (WebCore::TypingCommand::deleteKeyPressed):
93744         (WebCore::TypingCommand::forwardDeleteKeyPressed):
93745         (WebCore::TypingCommand::deleteSelection):
93746         (WebCore::TypingCommand::updatePreservesTypingStyle):
93747         * editing/TypingCommand.h: (WebCore::TypingCommand::preservesTypingStyle):
93748
93749 2009-06-26  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
93750
93751         Reviewed by Simon Hausmann.
93752
93753         Add support for saving and loading of QWebHistory to and from a QByteArray.
93754
93755         This includes streaming operators for QWebHistory. for convenience.
93756
93757         New autotests that test QWebHistory and QWebHistoryItem serialization.
93758
93759         * WebCore.pro:
93760         * history/HistoryItem.h:
93761         (WebCore::HistoryItem::dailyVisitCounts):
93762         (WebCore::HistoryItem::weeklyVisitCounts):
93763         * history/qt/HistoryItemQt.cpp: Added.
93764         (WebCore::HistoryItem::restoreState):
93765         (WebCore::HistoryItem::saveState):
93766
93767 2009-06-26  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
93768
93769         Reviewed by Simon Hausmann.
93770
93771         Add support for QDataStream operators to String and IntPoint.
93772
93773         * platform/graphics/IntPoint.h:
93774         (WebCore::operator<<):
93775         (WebCore::operator>>):
93776         * platform/text/PlatformString.h:
93777         * platform/text/qt/StringQt.cpp:
93778         (WebCore::operator<<):
93779         (WebCore::operator>>):
93780
93781 2009-06-26  Ben Murdoch  <benm@google.com>
93782
93783         Reviewed by Darin Fisher.
93784
93785         Add #if ENABLE(DOM_STORAGE) to the V8 custom bindings for local/session storage.
93786         https://bugs.webkit.org/show_bug.cgi?id=26757
93787
93788         * bindings/v8/custom/V8StorageCustom.cpp
93789
93790 2009-06-26  Yongjun Zhang  <yongjun.zhang@nokia.com>
93791
93792         Reviewed by Eric Seidel.
93793
93794         Test: platform/qt/fast/events/event-sender-keydown-frame.html
93795
93796         Bug 20303: [Qt] Key events are not working in frames.
93797
93798         Merge scrolling handling code in qt and win port, move it to
93799         EventHandler.
93800
93801         * page/EventHandler.cpp:
93802         (WebCore::EventHandler::scrollRecursively):
93803         * page/EventHandler.h:
93804
93805 2009-06-26  Rob Buis  <rwlbuis@gmail.com>
93806
93807         Reviewed by Eric Seidel.
93808
93809         https://bugs.webkit.org/show_bug.cgi?id=26682
93810         Bug 26682: It should be possible to add image to SVG DOM programmatically (using JavaScript)
93811
93812         Make sure the xlink:href animated property setting syncs the corresponding attribute with the right namespace.
93813
93814         Test: svg/custom/createImageElement.svg
93815
93816         * svg/SVGAnimatedProperty.h:
93817         (WebCore::synchronizeProperty):
93818
93819 2009-06-26  Takeshi Yoshino  <tyoshino@google.com>
93820
93821         Reviewed by Timothy Hatcher.
93822
93823         Bug 26156: In view-source mode, always render the contents using HTMLViewSourceDocument
93824         https://bugs.webkit.org/show_bug.cgi?id=26156
93825
93826         When in view-source mode, render the contents using HTMLViewSourceDocument
93827         regardless it's applicable for any plugin or not.
93828
93829         Chromium tells WebCore to render the contents of specified URL when
93830         view-source: prefix is added to the URL. But currently, DOMImplementation
93831         ignores inViewSourceMode() when the MIME type is indicating that the contents
93832         are neither texts nor HTML family documents.
93833
93834         For example, we can check the contents of asf file without launching media
93835         player. Rendering contents for view-source:-specified input is not what user
93836         expects.
93837
93838         http://code.google.com/p/chromium/issues/detail?id=10545
93839
93840         I want to fix this issue by this patch. IMHO, regardless of this Chromium
93841         specific issue, I think we should force use of HTMLViewSourceDocument when
93842         inViewSourceMode() is specified.
93843
93844         Test: fast/frames/viewsource-on-image-file.html
93845
93846         * dom/DOMImplementation.cpp:
93847         (WebCore::DOMImplementation::createDocument):
93848         * html/HTMLViewSourceDocument.cpp:
93849         (WebCore::HTMLViewSourceDocument::createTokenizer):
93850         * html/HTMLViewSourceDocument.h:
93851
93852 2009-06-26  Xan Lopez  <xlopez@igalia.com>
93853
93854         Reviewed by Jan Alonzo.
93855
93856         https://bugs.webkit.org/show_bug.cgi?id=25529
93857         [Gtk] Expected states not exposed to assistive technologies
93858
93859         Add support for VISIBLE, EDITABLE and SENSITIVE states.
93860
93861         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
93862         (setAtkStateSetFromCoreObject):
93863
93864 2009-06-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
93865
93866         Reviewed by Darin Adler.
93867
93868         "Pointer to incomplete class type is not allowed" error with RVCT
93869         https://bugs.webkit.org/show_bug.cgi?id=26721
93870
93871         Based on Norbert Leser's work.
93872
93873         * dom/Document.cpp:
93874         (WebCore::Document::setFocusedNode):
93875         * dom/Node.cpp:
93876         (WebCore::Node::dispatchMouseEvent):
93877         * dom/Node.h: Remove the default value for PassRefPtr<Event> args,
93878         to eliminate dependency on the Event class definition
93879
93880 2009-06-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
93881
93882         Reviewed by Maciej Stachowiak.
93883
93884         [Qt] Build fix after r45183
93885         https://bugs.webkit.org/show_bug.cgi?id=26748
93886
93887         * WebCore.pro:
93888
93889 2009-06-25  Alexey Proskuryakov  <ap@webkit.org>
93890
93891         Reviewed by Darin Adler.
93892
93893         https://bugs.webkit.org/show_bug.cgi?id=26681
93894         <rdar://problem/7003461> Problem updating applicationCache when server returns 304
93895
93896         Test: http/tests/appcache/update-cache.html
93897
93898         * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveResponse):
93899         We're already done with the resource, don't try to load it again.
93900
93901 2009-06-25  Simon Fraser  <simon.fraser@apple.com>
93902
93903         Reviewed by Oliver Hunt.
93904         
93905         <rdar://problem/6990481>
93906         
93907         Handle perspective computation on non-layer objects.
93908
93909         Test: transforms/3d/general/perspective-non-layer.html
93910
93911         * rendering/RenderObject.cpp:
93912         (WebCore::RenderObject::getTransformFromContainer):
93913
93914 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
93915
93916         Reviewed by Eric Seidel.
93917
93918         https://bugs.webkit.org/show_bug.cgi?id=26653
93919
93920         Use flex box in the mediaControls.css style, to nicely scale if a button gets
93921         dynamically added or removed.
93922
93923         Media tests results are affected by this changes.
93924
93925         * css/mediaControls.css:
93926         * css/mediaControlsQT.css:
93927
93928 2009-06-25  Albert J. Wong  <ajwong@chromium.org>
93929
93930         Reviewed by Darin Fisher.
93931
93932         https://bugs.webkit.org/show_bug.cgi?id=26724
93933
93934         Move relavent part of setDefaultFontSize from RenderThemeChromiumWin
93935         up into RenderThemeChromiumSkia.
93936
93937         * rendering/RenderThemeChromiumSkia.cpp:
93938         (WebCore::RenderThemeChromiumSkia::setDefaultFontSize):
93939         * rendering/RenderThemeChromiumSkia.h:
93940         * rendering/RenderThemeChromiumWin.cpp:
93941         (WebCore::RenderThemeChromiumWin::setDefaultFontSize):
93942         * rendering/RenderThemeChromiumWin.h:
93943
93944 2009-06-25  Matt Perry  <mpcomplete@chromium.org>
93945
93946         Reviewed by Darin Fisher.
93947
93948         https://bugs.webkit.org/show_bug.cgi?id=26733
93949
93950         Add V8-only methods to FrameLoaderClient that V8 can use to send
93951         out notifications when it creates/destroys a script context.
93952
93953         * loader/EmptyClients.h:
93954         (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
93955         (WebCore::EmptyFrameLoaderClient::didDestroyScriptContext):
93956         * loader/FrameLoaderClient.h:
93957         (WebCore::FrameLoaderClient::didCreateScriptContext):
93958         (WebCore::FrameLoaderClient::didDestroyScriptContext):
93959
93960 2009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
93961
93962         Reviewed by David Levin.
93963
93964         Correct a few typos that snuck in when I was reformatting CodeGeneratorV8.pm
93965         to match WebKit style.
93966
93967         * bindings/scripts/CodeGeneratorV8.pm: Corrected lots of typos.
93968
93969 2009-06-25  Adam Langley  <agl@google.com>
93970
93971         TBRed: fix for Chromium tree.
93972
93973         Add missing include for r45199.
93974
93975         https://bugs.webkit.org/show_bug.cgi?id=26736
93976
93977         r45199 added a reference to throwError without including V8Proxy.h
93978
93979         * bindings/v8/WorkerScriptController.cpp:
93980
93981 2009-06-25  Adam Langley  <agl@google.com>
93982
93983         TBRed: fix for Chromium tree.
93984
93985         https://bugs.webkit.org/show_bug.cgi?id=26735
93986
93987         Fix V8IsolatedWorld to point to the correct include file.
93988
93989         The deprecated v8_index.h was removed from the Chromium tree in r19291
93990         and upstreamed into WebKit with r45193. However V8IsolatedWorld
93991         slipped in between the cracks and broke the build.
93992
93993         * bindings/v8/V8IsolatedWorld.h: update with new header location.
93994
93995 2009-06-25  Chris Marrin  <cmarrin@apple.com>
93996
93997         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
93998
93999         https://bugs.webkit.org/show_bug.cgi?id=26651
94000         
94001         Preference is named "WebKitAcceleratedCompositingEnabled"
94002         and is a boolean value. When false, prevents compositing layers from
94003         being created, which prevents hardware animation from running.
94004         Also forces video to do software rendering. Added a cache for
94005         the flag in RenderLayerCompositing and made it all work
94006         on-the-fly when the flag is changed while a page is loaded.
94007
94008         * WebCore.base.exp:
94009         * page/FrameView.cpp:
94010         (WebCore::FrameView::updateCompositingLayers):
94011         * page/Settings.cpp:
94012         (WebCore::setNeedsReapplyStylesInAllFrames):
94013         (WebCore::Settings::Settings):
94014         (WebCore::Settings::setAcceleratedCompositingEnabled):
94015         * page/Settings.h:
94016         (WebCore::Settings::acceleratedCompositingEnabled):
94017         * rendering/RenderLayer.cpp:
94018         (WebCore::RenderLayer::hasAcceleratedCompositing):
94019         (WebCore::RenderLayer::updateTransform):
94020         (WebCore::RenderLayer::currentTransform):
94021         * rendering/RenderLayer.h:
94022         * rendering/RenderLayerBacking.cpp:
94023         (WebCore::RenderLayerBacking::updateLayerTransform):
94024         * rendering/RenderLayerCompositor.cpp:
94025         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
94026         (WebCore::RenderLayerCompositor::enableCompositingMode):
94027         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
94028         (WebCore::RenderLayerCompositor::updateCompositingLayers):
94029         (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
94030         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
94031         (WebCore::RenderLayerCompositor::needsToBeComposited):
94032         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
94033         * rendering/RenderLayerCompositor.h:
94034         (WebCore::RenderLayerCompositor::hasAcceleratedCompositing):
94035         * rendering/RenderObject.h:
94036         (WebCore::makeMatrixRenderable):
94037
94038 2009-06-25  Jian Li  <jianli@chromium.org>
94039
94040         Reviewed by Dimitri Glazkov.
94041
94042         Bug 26701: Implement the missing code for "FIXME: Need to return an
94043         exception" in WorkerScriptController::evaluate for v8 bindings.
94044         https://bugs.webkit.org/show_bug.cgi?id=26701
94045
94046         * bindings/v8/WorkerScriptController.cpp:
94047         (WebCore::WorkerScriptController::evaluate):
94048
94049 2009-06-25  Nate Chapin  <japhet@chromium.org>
94050
94051         Reviewed by Dimitri Glazkov.
94052
94053         Upstream V8Index.
94054
94055         https://bugs.webkit.org/show_bug.cgi?id=26495
94056
94057         * bindings/v8/V8Index.cpp: Added.
94058         (WebCore::V8ClassIndex::GetFactory): Moved from src.chromium.org.
94059         (WebCore::V8ClassIndex::GetCache): Moved from src.chromium.org.
94060         * bindings/v8/V8Index.h:
94061         (WebCore::V8ClassIndex::): Moved from src.chromium.org.
94062         (WebCore::V8ClassIndex::ToInt): Moved from src.chromium.org.
94063         (WebCore::V8ClassIndex::FromInt): Moved from src.chromium.org.
94064
94065 2009-06-25  Adam Langley  <agl@google.com>
94066
94067         Reviewed by Darin Fisher.
94068
94069         https://bugs.webkit.org/show_bug.cgi?id=26529
94070
94071         This is hopefully the last step before our renderers can run
94072         cleanly in a chroot.
94073
94074         WebKit needs to be able to ask for the correct font to use in
94075         the case that the current font doesn't include glyphs for
94076         certain code points. Currently we make a fontconfig call in our
94077         WebKit port to handle this.
94078
94079         This patch changes this so that the call is sent our via
94080         ChromiumBridge.
94081
94082         http://codereview.chromium.org/132007
94083
94084         This should not affect any layout tests.
94085
94086         * platform/chromium/ChromiumBridge.h:
94087         * platform/graphics/chromium/FontCacheLinux.cpp:
94088         (WebCore::FontCache::getFontDataForCharacters):
94089
94090 2009-06-25  Albert J. Wong  <ajwong@chromium.org>
94091
94092         Reviewed by David Levin.
94093
94094         https://bugs.webkit.org/show_bug.cgi?id=26566
94095         Upstream these files from the chromium v8 code.  No tests were
94096         affected because this is essentially a code move.
94097
94098         * bindings/v8/NPV8Object.cpp: Added.
94099         (allocV8NPObject):
94100         (freeV8NPObject):
94101         (listFromVariantArgs):
94102         (npIdentifierToV8Identifier):
94103         (npCreateV8ScriptObject):
94104         (NPN_Invoke):
94105         (NPN_InvokeDefault):
94106         (NPN_Evaluate):
94107         (NPN_EvaluateHelper):
94108         (NPN_GetProperty):
94109         (NPN_SetProperty):
94110         (NPN_RemoveProperty):
94111         (NPN_HasProperty):
94112         (NPN_HasMethod):
94113         (NPN_SetException):
94114         (NPN_Enumerate):
94115         (NPN_Construct):
94116         * bindings/v8/NPV8Object.h: Added.
94117         (PrivateIdentifier::):
94118         * bindings/v8/V8NPUtils.cpp: Added.
94119         (convertV8ObjectToNPVariant):
94120         (convertNPVariantToV8Object):
94121         (getStringIdentifier):
94122         * bindings/v8/V8NPUtils.h: Added.
94123
94124 2009-06-25  Shinichiro Hamaji  <hamaji@chromium.org>
94125
94126         Reviewed by Dimitri Glazkov.
94127
94128         https://bugs.webkit.org/show_bug.cgi?id=26436
94129
94130         Windows Chromium bug fix: save context of destination canvas in
94131         TransparencyWin::compositeTextComposite() before the function
94132         modifies the context.
94133
94134         Test: fast/canvas/translate-text.html
94135
94136         * platform/graphics/chromium/TransparencyWin.cpp:
94137         (WebCore::TransparencyWin::compositeTextComposite):
94138
94139 2009-06-25  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
94140
94141         Reviewed by Timothy Hatcher.
94142
94143         Show the filename and first line for "(program)" in the Profiler/Debugger
94144         https://bugs.webkit.org/show_bug.cgi?id=25475
94145
94146         Add support to associate a sourceURL with an eval()'d string
94147         via a @sourceURL comment.  Currently the sourceURL is only available
94148         in the script debugger, not in the console or profiler, but it's
94149         most needed in the script debugger.
94150
94151         * English.lproj/localizedStrings.js: added new "(program): %s" string
94152         * inspector/front-end/Script.js:
94153         (WebInspector.Script): if no sourceURL is available for the Script,
94154         search for a comment of the form //@ sourceURL=(url) to use
94155         as the sourceURL instead.
94156         * manual-tests/inspector/named-evals.html: Added.
94157
94158 2009-06-25  John Gregg  <johnnyg@google.com>
94159
94160         Reviewed by Sam Weinig.
94161
94162         Bug 23721: Changing dropdown's selectedIndex within onchange handler fires another onchange
94163         https://bugs.webkit.org/show_bug.cgi?id=23721
94164
94165         onchange events fire when a SELECT element has
94166         focus and the selectedIndex is updated by script in some way--either
94167         during another onchange, onkeypress, onfocus, or timer--and then
94168         focus is lost. 
94169
94170         Fixed by making a separate method for user-driven selectedIndex 
94171         changes, leaving scripts to use one which doesn't cause onchange to
94172         be queued.
94173         
94174         Test: fast/forms/select-script-onchange.html
94175
94176         * dom/SelectElement.cpp: check if the pending change is user driven
94177         before calling onchange
94178         (WebCore::SelectElement::menuListOnChange):
94179         (WebCore::SelectElement::setSelectedIndex):
94180         * dom/SelectElement.h: store whether the pending change is user driven
94181         (WebCore::SelectElementData::userDrivenChange):
94182         (WebCore::SelectElementData::setUserDrivenChange):
94183         * html/HTMLSelectElement.cpp: split into two methods -- script version
94184         [non-user-driven] corresponds to IDL defined property name
94185         (WebCore::HTMLSelectElement::setSelectedIndex):
94186         (WebCore::HTMLSelectElement::setSelectedIndexByUser):
94187         * html/HTMLSelectElement.h: 
94188         * rendering/RenderMenuList.cpp: use ByUser method when coming through
94189         the renderer
94190         (WebCore::RenderMenuList::valueChanged):
94191
94192 2009-06-25  Jeremy Orlow  <jorlow@chromium.org>
94193
94194         Reviewed by Darin Fisher.
94195
94196         https://bugs.webkit.org/show_bug.cgi?id=26698
94197
94198         Combined LocalStorageArea and SessionStorageArea into StorageArea since
94199         (after my other refactorings) there are no longer substantial
94200         differences between the two.
94201
94202         * GNUmakefile.am:
94203         * WebCore.vcproj/WebCore.vcproj:
94204         * WebCore.xcodeproj/project.pbxproj:
94205         * WebCoreSources.bkl:
94206         * storage/LocalStorage.cpp:
94207         (WebCore::LocalStorage::storageArea):
94208         * storage/LocalStorage.h:
94209         * storage/LocalStorageArea.cpp: Removed.
94210         * storage/LocalStorageArea.h: Removed.
94211         * storage/SessionStorage.cpp:
94212         (WebCore::SessionStorage::copy):
94213         (WebCore::SessionStorage::storageArea):
94214         * storage/SessionStorage.h:
94215         * storage/SessionStorageArea.cpp: Removed.
94216         * storage/SessionStorageArea.h: Removed.
94217         * storage/StorageArea.cpp:
94218         (WebCore::StorageArea::createLocalStorage):
94219         (WebCore::StorageArea::StorageArea):
94220         (WebCore::StorageArea::createSessionStorage):
94221         (WebCore::StorageArea::copy):
94222         (WebCore::StorageArea::setItem):
94223         (WebCore::StorageArea::removeItem):
94224         (WebCore::StorageArea::clear):
94225         (WebCore::StorageArea::scheduleFinalSync):
94226         (WebCore::StorageArea::blockUntilImportComplete):
94227         (WebCore::StorageArea::dispatchStorageEvent):
94228         * storage/StorageArea.h:
94229         * storage/StorageAreaSync.cpp:
94230         (WebCore::StorageAreaSync::StorageAreaSync):
94231         (WebCore::StorageAreaSync::scheduleFinalSync):
94232         (WebCore::StorageAreaSync::syncTimerFired):
94233         (WebCore::StorageAreaSync::performImport):
94234         * storage/StorageAreaSync.h:
94235         * storage/StorageSyncManager.h:
94236
94237 2009-06-25  Dan Bernstein  <mitz@apple.com>
94238
94239         Reviewed by Darin Adler.
94240
94241         - fix https://bugs.webkit.org/show_bug.cgi?id=26671
94242           <rdar://problem/7001880> Safari 4.0 crashes in
94243           WebCore::DOMTimer::fired()
94244
94245         Test: fast/dom/style-sheet-candidate-remove-unrendered-document.html
94246
94247         When a "style sheet candidate" element is removed from a document,
94248         call Document::removeStyleSheetCandidateNode() regardless of whether
94249         the document is rendered. Otherwise, the document's style sheet
94250         candidate set can end up containing stale references.
94251
94252         * dom/ProcessingInstruction.cpp:
94253         (WebCore::ProcessingInstruction::removedFromDocument):
94254         * html/HTMLLinkElement.cpp:
94255         (WebCore::HTMLLinkElement::removedFromDocument):
94256         * html/HTMLStyleElement.cpp:
94257         (WebCore::HTMLStyleElement::removedFromDocument):
94258
94259 2009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
94260
94261         Reviewed by Darin Fisher.
94262
94263         Update CodeGeneratorV8.pm to sync up with the changes downstream.
94264
94265         * bindings/scripts/CodeGeneratorV8.pm: Added HTMLFrameSetElement check,
94266           FileList as a ref-counted type, and DataGridColumn as typeCanFailConversion.
94267
94268 2009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
94269
94270         Unreviewed, build fix.
94271
94272         Add FileList.h include to fix Chromium build.
94273
94274         * platform/chromium/ClipboardChromium.cpp: Added FileList.h include.
94275
94276 2009-06-25  Joseph Pecoraro  <joepeck02@gmail.com>
94277
94278         Reviewed by Jan Alonzo.
94279
94280         Bug 26489: Web Inspector: Typo in DatabaseQuery Error Message
94281         https://bugs.webkit.org/show_bug.cgi?id=26489
94282
94283         Fixed a Typo in a Web Inspector error message.
94284
94285         * English.lproj/localizedStrings.js:
94286         * inspector/front-end/DatabaseQueryView.js:
94287         (WebInspector.DatabaseQueryView.prototype._queryError):
94288
94289 2009-06-25  Simon Hausmann  <simon.hausmann@nokia.com>
94290
94291         Fix the Qt build, add missing StorageAreaSync files to the build.
94292
94293         * WebCore.pro:
94294
94295 2009-06-25  Simon Hausmann  <simon.hausmann@nokia.com>
94296
94297         Reviewed by and done with Tor Arne Vestbø.
94298
94299         Fix shortcut keyboard handling with plugins on the Qt/Mac build.
94300
94301         When we receive shortcut events like Ctrl+V then the text in the QKeyEvent is
94302         empty. If we're asked to disambiguate the event into a Char keyboard event,
94303         we try to detect this situation and still set the text, to ensure that the
94304         general event handling sends a key press event after this disambiguation.
94305
94306         * platform/qt/PlatformKeyboardEventQt.cpp:
94307         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
94308
94309 2009-06-25  Eric Seidel  <eric@webkit.org>
94310
94311         Build fix only, no review.
94312
94313         Add FileList.h and NotImplemented.h includes in an attempt to fix bots.
94314
94315         * platform/gtk/ClipboardGtk.cpp:
94316         * platform/qt/ClipboardQt.cpp:
94317         * platform/win/ClipboardWin.cpp:
94318         * platform/wx/ClipboardWx.cpp:
94319
94320 2009-05-21  Eric Seidel  <eric@webkit.org>
94321
94322         Reviewed by Maciej Stachowiak.
94323
94324         Expose files in the clipboard in ondrop events
94325         https://bugs.webkit.org/show_bug.cgi?id=25916
94326
94327         Make it possible for applications like gmail to implement
94328         drag and drop of attachments onto email messages.
94329
94330         This patch exposes an event.dataTransfer.files accessor
94331         on the drop event.  No information is exposed during dragover.
94332         This follows the HTML 5 drag and drop security model:
94333         http://www.w3.org/TR/html5/editing.html#security-risks-in-the-drag-and-drop-model
94334         The test http/tests/security/clipboard/clipboard-file-access.html
94335         verifies this behavior.
94336
94337         Internet Explorer shows historical documentation of supporting
94338         getData('File') as a way of exposing files on the pasteboard.  The current version of their docs:
94339         http://msdn.microsoft.com/en-us/library/ms537658(VS.85).aspx
94340         has removed this reference (as far as I can tell IE never implemented it)
94341         I have a printed copy of that URL from 2008 on my desk describing getData('File') in IE.
94342         IE does not follow the HTML5 clipboard security model and always allows access to the full clipboard, even on dragover.
94343
94344         I choose not to use IE's getData('File') and instead added .files
94345         so that the accessor could have a type, matching WebKit's existing
94346         .files accessor on HTMLInputElement.
94347
94348         Mozilla has equivalent file access:
94349         event.dataTransfer.mozGetDataAt("application/x-moz-file", 0);
94350         which also does not return a typed value.
94351         https://developer.mozilla.org/En/DragDrop/Recommended_Drag_Types#Dragging_Files
94352
94353         This is only implemented for Mac WebKit.  All other platforms (including Apple's Win WebKit)
94354         have incomplete Clipboard implementations and will require experts from those platforms
94355         to add this functionality.  Right now they all have Clipboard*::files() methods which call notImplemented();
94356
94357         Test: http/tests/security/clipboard/clipboard-file-access.html
94358
94359         * dom/Clipboard.h:
94360         * dom/Clipboard.idl:
94361         * platform/chromium/ClipboardChromium.cpp:
94362         (WebCore::ClipboardChromium::files):
94363         * platform/chromium/ClipboardChromium.h:
94364         * platform/gtk/ClipboardGtk.cpp:
94365         (WebCore::ClipboardGtk::files):
94366         * platform/gtk/ClipboardGtk.h:
94367         * platform/mac/ClipboardMac.h:
94368         * platform/mac/ClipboardMac.mm:
94369         (WebCore::absoluteURLsFromPasteboardFilenames):
94370         (WebCore::absoluteURLsFromPasteboard):
94371         (WebCore::ClipboardMac::files):
94372         * platform/qt/ClipboardQt.cpp:
94373         (WebCore::ClipboardQt::files):
94374         * platform/qt/ClipboardQt.h:
94375         * platform/win/ClipboardWin.cpp:
94376         (WebCore::ClipboardWin::files):
94377         * platform/win/ClipboardWin.h:
94378         * platform/wx/ClipboardWx.cpp:
94379         (WebCore::ClipboardWx::files):
94380         * platform/wx/ClipboardWx.h:
94381
94382 2009-06-25  Eric Seidel  <eric@webkit.org>
94383
94384         No review, only completing revert of r45144.
94385
94386         Add back files deleted by r45144.
94387
94388         * storage/LocalStorageArea.cpp: Added.
94389         (WebCore::LocalStorageArea::create):
94390         (WebCore::LocalStorageArea::LocalStorageArea):
94391         (WebCore::LocalStorageArea::scheduleFinalSync):
94392         (WebCore::LocalStorageArea::itemChanged):
94393         (WebCore::LocalStorageArea::itemRemoved):
94394         (WebCore::LocalStorageArea::areaCleared):
94395         (WebCore::LocalStorageArea::blockUntilImportComplete):
94396         (WebCore::LocalStorageArea::dispatchStorageEvent):
94397         * storage/LocalStorageArea.h: Added.
94398         * storage/SessionStorageArea.cpp: Added.
94399         (WebCore::SessionStorageArea::copy):
94400         (WebCore::SessionStorageArea::SessionStorageArea):
94401         (WebCore::SessionStorageArea::itemChanged):
94402         (WebCore::SessionStorageArea::itemRemoved):
94403         (WebCore::SessionStorageArea::areaCleared):
94404         (WebCore::SessionStorageArea::blockUntilImportComplete):
94405         (WebCore::SessionStorageArea::dispatchStorageEvent):
94406         * storage/SessionStorageArea.h: Added.
94407         (WebCore::SessionStorageArea::create):
94408
94409 2009-06-25  Eric Seidel  <eric@webkit.org>
94410
94411         No review, reverting r45144 only.
94412
94413         Roll out r45144 after 18 test failures appeared on the bots.
94414         https://bugs.webkit.org/show_bug.cgi?id=26698
94415
94416         * GNUmakefile.am:
94417         * WebCore.vcproj/WebCore.vcproj:
94418         * WebCore.xcodeproj/project.pbxproj:
94419         * WebCoreSources.bkl:
94420         * storage/LocalStorage.cpp:
94421         (WebCore::LocalStorage::storageArea):
94422         * storage/LocalStorage.h:
94423         * storage/SessionStorage.cpp:
94424         (WebCore::SessionStorage::copy):
94425         (WebCore::SessionStorage::storageArea):
94426         * storage/SessionStorage.h:
94427         * storage/StorageArea.cpp:
94428         (WebCore::StorageArea::StorageArea):
94429         (WebCore::StorageArea::~StorageArea):
94430         (WebCore::StorageArea::setItem):
94431         (WebCore::StorageArea::removeItem):
94432         (WebCore::StorageArea::clear):
94433         * storage/StorageArea.h:
94434         * storage/StorageAreaSync.cpp:
94435         (WebCore::StorageAreaSync::StorageAreaSync):
94436         (WebCore::StorageAreaSync::scheduleFinalSync):
94437         (WebCore::StorageAreaSync::syncTimerFired):
94438         (WebCore::StorageAreaSync::performImport):
94439         * storage/StorageAreaSync.h:
94440         * storage/StorageSyncManager.h:
94441
94442 2009-06-24  Jeremy Orlow  <jorlow@chromium.org>
94443
94444         Reviewed by Darin Fisher.
94445
94446         https://bugs.webkit.org/show_bug.cgi?id=26698
94447
94448         Combined LocalStorageArea and SessionStorageArea into StorageArea since
94449         (after my other refactorings) there are no longer substantial
94450         differences between the two.
94451
94452         * GNUmakefile.am:
94453         * WebCore.vcproj/WebCore.vcproj:
94454         * WebCore.xcodeproj/project.pbxproj:
94455         * WebCoreSources.bkl:
94456         * storage/LocalStorage.cpp:
94457         (WebCore::LocalStorage::storageArea):
94458         * storage/LocalStorage.h:
94459         * storage/LocalStorageArea.cpp: Removed.
94460         * storage/LocalStorageArea.h: Removed.
94461         * storage/SessionStorage.cpp:
94462         (WebCore::SessionStorage::copy):
94463         (WebCore::SessionStorage::storageArea):
94464         * storage/SessionStorage.h:
94465         * storage/SessionStorageArea.cpp: Removed.
94466         * storage/SessionStorageArea.h: Removed.
94467         * storage/StorageArea.cpp:
94468         (WebCore::StorageArea::createLocalStorage):
94469         (WebCore::StorageArea::StorageArea):
94470         (WebCore::StorageArea::createSessionStorage):
94471         (WebCore::StorageArea::copy):
94472         (WebCore::StorageArea::setItem):
94473         (WebCore::StorageArea::removeItem):
94474         (WebCore::StorageArea::clear):
94475         (WebCore::StorageArea::scheduleFinalSync):
94476         (WebCore::StorageArea::blockUntilImportComplete):
94477         (WebCore::StorageArea::dispatchStorageEvent):
94478         * storage/StorageArea.h:
94479         * storage/StorageAreaSync.cpp:
94480         (WebCore::StorageAreaSync::StorageAreaSync):
94481         (WebCore::StorageAreaSync::scheduleFinalSync):
94482         (WebCore::StorageAreaSync::syncTimerFired):
94483         (WebCore::StorageAreaSync::performImport):
94484         * storage/StorageAreaSync.h:
94485         * storage/StorageSyncManager.h:
94486
94487 2009-06-24  Dan Bernstein  <mitz@apple.com>
94488
94489         Reviewed by Simon Fraser.
94490
94491         - fix <rdar://problem/7001817> REGRESSION (r41902): Base position track
94492           at UCSC Genome Browser doesn't work because image map prevents img
94493           from hit-testing
94494
94495         Test: fast/replaced/image-map-2.html
94496
94497         * rendering/RenderImage.cpp:
94498         (WebCore::RenderImage::nodeAtPoint): Do not reset 'inside' to false if
94499         the image map failed the hit test.
94500
94501 2009-06-22  Adam Barth  <abarth@webkit.org>
94502
94503         Reviewed by Dimitri Glazkov.
94504
94505         https://bugs.webkit.org/show_bug.cgi?id=26366
94506
94507         Refactor V8DOMMap to support isolated worlds.
94508
94509         * bindings/v8/ScriptController.cpp:
94510         (WebCore::ScriptController::evaluateInNewWorld):
94511         * bindings/v8/ScriptController.h:
94512         * bindings/v8/V8DOMMap.cpp:
94513         (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap):
94514         (WebCore::DOMDataStore::allStores):
94515         (WebCore::DOMDataStore::allStoresMutex):
94516         (WebCore::DOMDataStore::domData):
94517         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
94518         (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
94519         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
94520         (WebCore::):
94521         (WebCore::MainThreadDOMData::MainThreadDOMData):
94522         (WebCore::MainThreadDOMData::getStore):
94523         (WebCore::ChildThreadDOMData::ChildThreadDOMData):
94524         (WebCore::ChildThreadDOMData::getStore):
94525         (WebCore::DOMDataStore::DOMDataStore):
94526         (WebCore::DOMDataStore::~DOMDataStore):
94527         (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
94528         (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
94529         (WebCore::forget):
94530         (WebCore::getDOMNodeMap):
94531         (WebCore::getDOMObjectMap):
94532         (WebCore::getActiveDOMObjectMap):
94533         (WebCore::getDOMSVGElementInstanceMap):
94534         (WebCore::getDOMSVGObjectWithContextMap):
94535         (WebCore::DOMData::getCurrent):
94536         (WebCore::DOMData::handleWeakObject):
94537         (WebCore::DOMData::ensureDeref):
94538         (WebCore::weakDOMObjectCallback):
94539         (WebCore::weakActiveDOMObjectCallback):
94540         (WebCore::weakNodeCallback):
94541         (WebCore::weakSVGElementInstanceCallback):
94542         (WebCore::weakSVGObjectWithContextCallback):
94543         (WebCore::DOMData::derefObject):
94544         (WebCore::DOMData::derefDelayedObjects):
94545         (WebCore::DOMData::derefDelayedObjectsInCurrentThread):
94546         (WebCore::DOMData::removeObjectsFromWrapperMap):
94547         (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
94548         (WebCore::visitDOMNodesInCurrentThread):
94549         (WebCore::visitDOMObjectsInCurrentThread):
94550         (WebCore::visitActiveDOMObjectsInCurrentThread):
94551         (WebCore::visitDOMSVGElementInstancesInCurrentThread):
94552         (WebCore::visitSVGObjectsInCurrentThread):
94553         * bindings/v8/V8DOMMap.h:
94554         (WebCore::DOMDataStoreHandle::getStore):
94555         * bindings/v8/V8IsolatedWorld.cpp: Added.
94556         (WebCore::getIsolatedWorldKey):
94557         (WebCore::contextWeakReferenceCallback):
94558         (WebCore::V8IsolatedWorld::evaluate):
94559         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
94560         (WebCore::V8IsolatedWorld::~V8IsolatedWorld):
94561         (WebCore::V8IsolatedWorld::getEntered):
94562         * bindings/v8/V8IsolatedWorld.h: Added.
94563         (WebCore::V8IsolatedWorld::getDOMDataStore):
94564
94565 2009-06-24  Mikhail Naganov  <mnaganov@chromium.org>
94566
94567         Reviewed by Timothy Hatcher.
94568
94569         Bug 26604: Search doesn't work in Web Inspector Profiler
94570         https://bugs.webkit.org/show_bug.cgi?id=26604
94571
94572         Seems like search was damaged in revision 42808.
94573
94574         * inspector/front-end/ProfileView.js:
94575         (WebInspector.ProfileView.prototype.refresh):
94576         Here and in other functions: nodes we're searching in are profile data grid
94577         nodes, so there is no more need for '_dataGridNode' references.
94578         (WebInspector.ProfileView.prototype.searchCanceled):
94579         (WebInspector.ProfileView.prototype.performSearch.matchesQuery):
94580         Fixed accidental semicolon that caused 'matchesQuery' always return true.
94581         (WebInspector.ProfileView.prototype.performSearch):
94582         To perform search correctly in the case of bottom up tree, we need to populate
94583         the tree, because there's no 1-to-1 correspondence between profile nodes and
94584         data grid nodes in this case.
94585         (WebInspector.ProfileView.prototype._jumpToSearchResult):
94586
94587 2009-06-24  Simon Fraser  <simon.fraser@apple.com>
94588
94589         Reviewed by Darin Adler.
94590         
94591         <rdar://problem/6450239&6574516>
94592     
94593         Fix flashing issues caused by compositing layers rendering content before
94594         a deferred layout has happened. Because the -viewWillDraw machinery doesn't
94595         work for composited layers, we need to use scheduleViewUpdate() to queue
94596         up a layout via the run loop observer in WebKit, whenever we know we
94597         are going to be painting soon.
94598
94599         * rendering/RenderLayerBacking.cpp:
94600         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
94601         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
94602
94603 2009-06-24  David Levin  <levin@chromium.org>
94604
94605         Fix all builds.
94606
94607         * ForwardingHeaders/wtf/FastAllocBase.h: Added.
94608
94609 2009-06-24  Jeremy Orlow  <jorlow@chromium.org>
94610
94611         Reviewed by Darin Fisher.
94612
94613         https://bugs.webkit.org/show_bug.cgi?id=26658
94614
94615         Split the syncing portions of LocalStorageArea into StorageAreaSync.
94616         This name will make more sense in the next patch (in this set) when
94617         LocalStorageArea and SessionStorageArea are merged to become simply
94618         StorageArea.  (Thus the synching portion of StorageArea is in
94619         StorageAreaSync.)
94620
94621         This looks like a big patch, but really all it's doing is splitting
94622         code and patching split-related things up.
94623
94624         * GNUmakefile.am:
94625         * WebCore.vcproj/WebCore.vcproj:
94626         * WebCore.xcodeproj/project.pbxproj:
94627         * WebCoreSources.bkl:
94628         * storage/LocalStorageArea.cpp:
94629         (WebCore::LocalStorageArea::create):
94630         (WebCore::LocalStorageArea::LocalStorageArea):
94631         (WebCore::LocalStorageArea::scheduleFinalSync):
94632         (WebCore::LocalStorageArea::itemChanged):
94633         (WebCore::LocalStorageArea::itemRemoved):
94634         (WebCore::LocalStorageArea::areaCleared):
94635         (WebCore::LocalStorageArea::blockUntilImportComplete):
94636         * storage/LocalStorageArea.h:
94637         * storage/LocalStorageTask.cpp:
94638         (WebCore::LocalStorageTask::LocalStorageTask):
94639         * storage/LocalStorageTask.h:
94640         (WebCore::LocalStorageTask::createImport):
94641         (WebCore::LocalStorageTask::createSync):
94642         * storage/LocalStorageThread.cpp:
94643         (WebCore::LocalStorageThread::scheduleImport):
94644         (WebCore::LocalStorageThread::scheduleSync):
94645         * storage/LocalStorageThread.h:
94646         * storage/SessionStorageArea.cpp:
94647         (WebCore::SessionStorageArea::blockUntilImportComplete):
94648         * storage/SessionStorageArea.h:
94649         * storage/StorageArea.h:
94650         * storage/StorageAreaSync.cpp: Copied from WebCore/storage/LocalStorageArea.cpp.
94651         * storage/StorageAreaSync.h: Copied from WebCore/storage/LocalStorageArea.h.
94652         * storage/StorageSyncManager.cpp:
94653         (WebCore::StorageSyncManager::scheduleImport):
94654         (WebCore::StorageSyncManager::scheduleSync):
94655         * storage/StorageSyncManager.h:
94656
94657 2009-06-24  Adam Treat  <adam.treat@torchmobile.com>
94658
94659         Fix Qt build.
94660
94661         * WebCore.pro:
94662
94663 2009-06-24  David Levin  <levin@chromium.org>
94664
94665         Reviewed by David Hyatt.
94666
94667         Bug 26696: Member functions in DataGridColumnList should return pointers instead of PassRefPtr.
94668         https://bugs.webkit.org/show_bug.cgi?id=26696
94669
94670         * html/DataGridColumnList.cpp:
94671         (WebCore::DataGridColumnList::itemWithName):
94672         (WebCore::DataGridColumnList::add):
94673         * html/DataGridColumnList.h:
94674         (WebCore::DataGridColumnList::item):
94675         (WebCore::DataGridColumnList::primaryColumn):
94676         (WebCore::DataGridColumnList::sortColumn):
94677
94678 2009-06-24  Sam Weinig  <sam@webkit.org>
94679
94680         Reviewed by Dave "Messy" Hyatt.
94681
94682         Little bit of style cleanup.
94683
94684         * html/DataGridColumn.cpp:
94685         * html/DataGridColumn.h:
94686         * html/DataGridColumn.idl:
94687         * html/DataGridColumnList.cpp:
94688         * html/DataGridColumnList.h:
94689         * html/DataGridColumnList.idl:
94690         * html/HTMLDataGridCellElement.cpp:
94691         * html/HTMLDataGridCellElement.h:
94692         * html/HTMLDataGridCellElement.idl:
94693         * html/HTMLDataGridColElement.cpp:
94694         * html/HTMLDataGridColElement.h:
94695         * html/HTMLDataGridColElement.idl:
94696         * html/HTMLDataGridElement.h:
94697         * html/HTMLDataGridElement.idl:
94698         * html/HTMLDataGridRowElement.cpp:
94699         * html/HTMLDataGridRowElement.h:
94700         * html/HTMLDataGridRowElement.idl:
94701
94702 2009-06-24  Chris Fleizach  <cfleizach@apple.com>
94703
94704         Reviewed by Oliver Hunt.
94705
94706         Bug 26668: AX: need a way to retrieve the language for an element
94707         
94708         Provides a way to retrieve the language associated with a specific accessibility element.
94709
94710         Test: accessibility/language-attribute.html
94711
94712         * accessibility/AccessibilityObject.cpp:
94713         (WebCore::AccessibilityObject::language):
94714         * accessibility/AccessibilityObject.h:
94715         * accessibility/AccessibilityRenderObject.cpp:
94716         (WebCore::AccessibilityRenderObject::language):
94717         * accessibility/AccessibilityRenderObject.h:
94718         * accessibility/mac/AccessibilityObjectWrapper.mm:
94719         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
94720
94721 2009-06-24  Brady Eidson  <beidson@apple.com>
94722
94723         Reviewed by Dan Bernstein.
94724         
94725         <rdar://problem/6893811> Instead of downloading files linked from Google Earth, file contents displayed in browser window as text.
94726
94727         * platform/network/mac/WebCoreURLResponse.mm:
94728         (createBinaryExtensionsSet): Add '.kmz' to the list of known-to-be-binary extensions.
94729
94730 2009-06-24  Nicolas Weber  <thakis@chromium.org>
94731
94732         Reviewed by Eric Seidel.
94733
94734         https://bugs.webkit.org/show_bug.cgi?id=26685
94735         Accomodate for backwards-incompatible skia api changes.
94736
94737         * platform/graphics/skia/GraphicsContextSkia.cpp:
94738         (WebCore::GraphicsContext::clearRect):
94739         (WebCore::GraphicsContext::setCompositeOperation):
94740         * platform/graphics/skia/ImageBufferSkia.cpp:
94741         (WebCore::ImageBuffer::ImageBuffer):
94742         * platform/graphics/skia/ImageSkia.cpp:
94743         (WebCore::paintSkBitmap):
94744         (WebCore::Image::drawPattern):
94745         * platform/graphics/skia/PlatformContextSkia.cpp:
94746         (PlatformContextSkia::State::State):
94747         (PlatformContextSkia::setupPaintCommon):
94748         (PlatformContextSkia::setXfermodeMode):
94749         (PlatformContextSkia::applyClipFromImage):
94750         * platform/graphics/skia/PlatformContextSkia.h:
94751         * platform/graphics/skia/SkiaUtils.cpp:
94752         (WebCore::):
94753         (WebCore::WebCoreCompositeToSkiaComposite):
94754         * platform/graphics/skia/SkiaUtils.h:
94755
94756 2009-06-24  Jan Michael Alonzo  <jmalonzo@webkit.org>
94757
94758         Gtk build fix. Add files that were added in r45093 and r45096
94759
94760         * GNUmakefile.am:
94761
94762 2009-06-24  Brady Eidson  <beidson@apple.com>
94763
94764         Fix 64-bit SnowLeopard build.
94765
94766         * html/DataGridColumnList.cpp:
94767         (WebCore::DataGridColumnList::remove):
94768         (WebCore::DataGridColumnList::move):
94769
94770 2009-06-24  Rob Buis  <rwlbuis@gmail.com>
94771
94772         Reviewed by Eric Seidel.
94773
94774         https://bugs.webkit.org/show_bug.cgi?id=26392
94775         Bug 26392: In html, modification of xlink:href of an newly inserted svg image does not work.
94776         https://bugs.webkit.org/show_bug.cgi?id=26328
94777         Bug 26328: changing href attribute of svg images does not work when changing display attribute as well
94778
94779         React to href updates even when there is no renderer, i.e. display=none.
94780
94781         Tests: svg/custom/js-update-image-and-display.svg
94782                svg/custom/js-update-image-and-display2.svg
94783                svg/custom/js-update-image-and-display3.svg
94784
94785         * svg/SVGImageElement.cpp:
94786         (WebCore::SVGImageElement::svgAttributeChanged):
94787
94788 2009-06-24  David Hyatt  <hyatt@apple.com>
94789
94790         Reviewed by Sam Weinig.
94791
94792         https://bugs.webkit.org/show_bug.cgi?id=26687
94793
94794         Add basic back-end column support to datagrid.
94795
94796         Added fast/dom/HTMLDataGridElement/ column tests.
94797
94798         * DerivedSources.cpp:
94799         * DerivedSources.make:
94800         * WebCore.pro:
94801         * WebCore.vcproj/WebCore.vcproj:
94802         * WebCore.xcodeproj/project.pbxproj:
94803         * WebCoreSources.bkl:
94804         * html/DataGridColumn.cpp: Added.
94805         (WebCore::DataGridColumn::setPrimary):
94806         * html/DataGridColumn.h: Added.
94807         (WebCore::DataGridColumn::create):
94808         (WebCore::DataGridColumn::id):
94809         (WebCore::DataGridColumn::setId):
94810         (WebCore::DataGridColumn::label):
94811         (WebCore::DataGridColumn::setLabel):
94812         (WebCore::DataGridColumn::type):
94813         (WebCore::DataGridColumn::setType):
94814         (WebCore::DataGridColumn::sortable):
94815         (WebCore::DataGridColumn::setSortable):
94816         (WebCore::DataGridColumn::sortDirection):
94817         (WebCore::DataGridColumn::setSortDirection):
94818         (WebCore::DataGridColumn::primary):
94819         (WebCore::DataGridColumn::detachFromColumnList):
94820         (WebCore::DataGridColumn::DataGridColumn):
94821         * html/DataGridColumn.idl: Added.
94822         * html/DataGridColumnList.cpp: Added.
94823         (WebCore::DataGridColumnList::~DataGridColumnList):
94824         (WebCore::DataGridColumnList::itemWithName):
94825         (WebCore::DataGridColumnList::add):
94826         (WebCore::DataGridColumnList::remove):
94827         (WebCore::DataGridColumnList::move):
94828         (WebCore::DataGridColumnList::clear):
94829         (WebCore::DataGridColumnList::primaryColumnChanged):
94830         * html/DataGridColumnList.h: Added.
94831         (WebCore::DataGridColumnList::create):
94832         (WebCore::DataGridColumnList::length):
94833         (WebCore::DataGridColumnList::item):
94834         (WebCore::DataGridColumnList::primaryColumn):
94835         (WebCore::DataGridColumnList::sortColumn):
94836         * html/DataGridColumnList.idl: Added.
94837         * html/HTMLDataGridColElement.cpp:
94838         (WebCore::HTMLDataGridColElement::sortable):
94839         (WebCore::HTMLDataGridColElement::setSortable):
94840         (WebCore::HTMLDataGridColElement::sortDirection):
94841         (WebCore::HTMLDataGridColElement::setSortDirection):
94842         * html/HTMLDataGridColElement.h:
94843         * html/HTMLDataGridColElement.idl:
94844         * html/HTMLDataGridElement.cpp:
94845         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
94846         * html/HTMLDataGridElement.h:
94847         (WebCore::HTMLDataGridElement::columns):
94848         * html/HTMLDataGridElement.idl:
94849         * rendering/RenderDataGrid.cpp:
94850         (WebCore::RenderDataGrid::paintObject):
94851         (WebCore::RenderDataGrid::paintColumnHeaders):
94852         (WebCore::RenderDataGrid::rebuildColumns):
94853         * rendering/RenderDataGrid.h:
94854         (WebCore::RenderDataGrid::gridElement):
94855
94856 2009-06-24  Jessie Berlin  <jberlin@apple.com>
94857
94858         Reviewed by Adam Roben.
94859
94860         Partially fixes: https://bugs.webkit.org/show_bug.cgi?id=24735
94861         (<rdar://problem/5015942>)
94862         Where on windows it was not possible to set an element as the drag
94863         image using setDragImage on the dataTransfer object.
94864         
94865         Does not "fix" the case of dragging a link where the default link image
94866         is still used, even when the -webkit-user-drag is set to "element". This
94867         is the same behavior as is found on OS X.
94868         
94869         Added a manual test because it is not possible to check that what is
94870         contained in the image snapshot is indeed the requested element.
94871
94872         * dom/Clipboard.h:
94873         (WebCore::Clipboard::dragImageElement):
94874         Made getting the raw pointer from the RefPtr a const operation.
94875         * manual-tests/drag-with-div-or-image-as-data-image.html: Added.
94876         * platform/win/ClipboardWin.cpp:
94877         (WebCore::ClipboardWin::createDragImage):
94878         Get an image of the rendered element and its subtree.
94879
94880 2009-06-24  Darin Fisher  <darin@chromium.org>
94881
94882         Reviewed by David Levin.
94883
94884         https://bugs.webkit.org/show_bug.cgi?id=26683
94885         Fix Chromium build bustage: Add custom binding for HTMLDataGridElement.dataSource
94886
94887         This change just adds a stub implementation for now to help fix the build.
94888
94889         * bindings/v8/custom/V8CustomBinding.h:
94890         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Added.
94891
94892 2009-06-24  David Kilzer  <ddkilzer@apple.com>
94893
94894         Build fixes for ENABLE(PLUGIN_PROXY_FOR_VIDEO)
94895
94896         Reviewed by Adam Roben.
94897
94898         * html/HTMLMediaElement.cpp:
94899         (WebCore::HTMLMediaElement::deliverNotification): Removed
94900         ExceptionCode parameter from togglePlayState().
94901         (WebCore::HTMLMediaElement::initialURL): Don't convert a KURL
94902         object to a String when assigning to a KURL variable.
94903
94904 2009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
94905
94906         Reviewed by Adam Treat.
94907
94908         Save memory by not storing attribute values in member variables, if not absolutely needed.
94909         Also fixes bugs where we're substituting variables too early (noticeable with the upcoming <select> element).
94910
94911         * wml/WMLDoElement.cpp:
94912         (WebCore::WMLDoElement::parseMappedAttribute):
94913         (WebCore::WMLDoElement::label):
94914         * wml/WMLDoElement.h:
94915         * wml/WMLFieldSetElement.cpp:
94916         (WebCore::WMLFieldSetElement::insertedIntoDocument):
94917         * wml/WMLFieldSetElement.h:
94918         * wml/WMLOptGroupElement.cpp:
94919         (WebCore::WMLOptGroupElement::title):
94920         (WebCore::WMLOptGroupElement::parseMappedAttribute):
94921         (WebCore::WMLOptGroupElement::groupLabelText):
94922         * wml/WMLOptGroupElement.h:
94923         * wml/WMLPostfieldElement.cpp:
94924         (WebCore::WMLPostfieldElement::name):
94925         (WebCore::WMLPostfieldElement::value):
94926         (WebCore::WMLPostfieldElement::encodeData):
94927         * wml/WMLPostfieldElement.h:
94928         * wml/WMLSetvarElement.cpp:
94929         (WebCore::WMLSetvarElement::parseMappedAttribute):
94930         (WebCore::WMLSetvarElement::name):
94931         (WebCore::WMLSetvarElement::value):
94932         * wml/WMLSetvarElement.h:
94933         * wml/WMLTimerElement.cpp:
94934         (WebCore::WMLTimerElement::parseMappedAttribute):
94935         (WebCore::WMLTimerElement::insertedIntoDocument):
94936         (WebCore::WMLTimerElement::timerFired):
94937         (WebCore::WMLTimerElement::start):
94938         (WebCore::WMLTimerElement::value):
94939         * wml/WMLTimerElement.h:
94940
94941 2009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
94942
94943         Reviewed by Adam Roben.
94944
94945         Forgot to initialize m_task member variable. Results in crashes sometimes.
94946
94947         * wml/WMLAnchorElement.cpp:
94948         (WebCore::WMLAnchorElement::WMLAnchorElement):
94949
94950 2009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
94951
94952         Not reviewed. Forgot to include within last patch.
94953
94954         * manual-tests/wml/card-title-attr.wml: Added.
94955
94956 2009-06-24  Wajahat Siddiqui <wajahatmeister@gmail.com>
94957  
94958         Reviewed by Nikolas Zimmermann.
94959
94960         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26474
94961         Adding WML <card> title attribute handling.
94962
94963         * wml/WMLElement.h: marking parseValueSubstitutingVariableReferences and parseValueForbiddingVariableReferences as const
94964         * wml/WMLElement.cpp:
94965         * wml/WMLCardElement.h: 
94966         (WebCore::WMLCardElement::title):
94967         * wml/WMLCardElement.cpp:
94968         * wml/manual-test/card-title-attr.wml: Manual test  
94969  
94970 2009-06-24  Simon Hausmann  <simon.hausmann@nokia.com>
94971
94972         Reviewed by Tor Arne Vestbø.
94973
94974         Fix the build without ENABLE_VIDEO.
94975
94976         * html/CanvasRenderingContext2D.cpp: Add #if ENABLE guards.
94977         * html/CanvasRenderingContext2D.h: Ditto.
94978
94979 2009-06-24  Siddhartha Chattopadhyay  <sidchat@google.com>
94980
94981         Reviewed by Eric Seidel.
94982
94983         Fix for https://bugs.webkit.org/show_bug.cgi?id=26200 which I introduced earlier. I had
94984         the smartReplace set TRUE initially, which was wrong since the purpose of this call is
94985         to just replace the selection, and place the caret at the end of the selection it replaced.
94986
94987         * editing/Editor.cpp:
94988         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
94989         * manual-tests/textarea-caret-position-after-auto-spell-correct.html: Added.
94990
94991 2009-06-24  Kevin Watters  <kevinwatters@gmail.com>
94992
94993         Reviewed by Kevin Ollivier.
94994
94995         Don't use an unsigned int for intervalInMS because we sometimes initialize
94996         it with a negative value.
94997
94998         * platform/wx/SharedTimerWx.cpp:
94999         (WebCore::setSharedTimerFireTime):
95000
95001 2009-06-24  Eric Seidel  <eric@webkit.org>
95002
95003         No review, build fix only.
95004
95005         The previous checkin had an improper merge.  This fixes the build.
95006
95007         * page/DragController.cpp:
95008         (WebCore::DragController::tryDocumentDrag):
95009
95010 2009-06-05  Eric Seidel  <eric@webkit.org>
95011
95012         Reviewed by Oliver Hunt.
95013
95014         https://bugs.webkit.org/show_bug.cgi?id=25922
95015         JS setting dropEffect = "none" causes tryDHTMLDrag
95016         to return DragOperationNone.  Which is also the value
95017         tryDHTMLDrag previously used to indicate JS did not
95018         want to handle the drag.
95019
95020         Make it possible for the DragController::try* methods
95021         to return a bool to indicate if javascript accepted
95022         or rejected the drag event, separate from the DragOperation.
95023
95024         Tests:
95025         - fast/events/drag-to-navigate.html
95026         - fast/events/prevent-drag-to-navigate.html
95027
95028         * page/DragController.cpp:
95029         (WebCore::DragController::dragEnteredOrUpdated):
95030         (WebCore::DragController::tryDocumentDrag):
95031         (WebCore::defaultOperationForDrag):
95032         (WebCore::DragController::tryDHTMLDrag):
95033         * page/DragController.h:
95034
95035 2009-06-23  Oliver Hunt  <oliver@apple.com> and Eric Carlson  <eric.carlson@apple.com>
95036
95037         Reviewed by Sam Weinig and Dave Hyatt.
95038
95039         <rdar://problem/6164797> Add Canvas API to allow drawing of <video> frames
95040         <https://bugs.webkit.org/show_bug.cgi?id=25920>
95041
95042         Add support for drawing the contents of the video element to the canvas
95043         in accordance with the current HTML5 draft.
95044
95045         Test: media/video-canvas.html
95046
95047         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
95048         (WebCore::JSCanvasRenderingContext2D::drawImage):
95049           Standard custom bindings stuff we need to do for all canvas methods.
95050         * html/CanvasRenderingContext2D.cpp:
95051         (WebCore::size): Helper function for finding the size of a video element
95052         (WebCore::CanvasRenderingContext2D::checkOrigin): moved up in the file.
95053         (WebCore::CanvasRenderingContext2D::drawImage): The various overloads of HTML5's drawImage(<video>)
95054         * html/CanvasRenderingContext2D.h:
95055         * html/HTMLMediaElement.h:
95056         (WebCore::HTMLMediaElement::hasSingleSecurityOrigin):
95057           hasSingleSecurityOrigin is needed for security, currently all implementations are trivial
95058           as we force QT to maintain a single origin.
95059         * html/HTMLVideoElement.cpp:
95060         (WebCore::HTMLVideoElement::paint): 
95061             Paint routine on video so we don't have to look at MediaPlayer directly
95062         * html/HTMLVideoElement.h:
95063         * platform/graphics/MediaPlayer.cpp:
95064         (WebCore::NullMediaPlayerPrivate::hasSingleSecurityOrigin):
95065         (WebCore::MediaPlayer::hasSingleSecurityOrigin):
95066             Default implementations of hasSingleSecurityOrigin
95067         * platform/graphics/MediaPlayer.h:
95068         * platform/graphics/MediaPlayerPrivate.h:
95069         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
95070         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
95071         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
95072             A video may need a player now even if it is not visible.
95073         (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
95074             Always return true due to restrictions we've placed on QT.
95075         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
95076         (WebCore::MediaPlayerPrivate::paint):
95077             Jump through some hoops to allow windows QT to draw to an intermediate buffer.
95078             In the long term we'd like to cache the HDC, but this will do for now.
95079         (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
95080         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
95081             As for Mac we force QT to only allow same origin loads.
95082
95083 2009-06-23  Adam Langley  <agl@google.com>
95084
95085         Reviewed by Eric Seidel.
95086
95087         Chromium: Fix crash with inherited font-size in <option>
95088
95089         https://bugs.webkit.org/show_bug.cgi?id=26656
95090         http://code.google.com/p/chromium/issues/detail?id=14853
95091
95092         In r42597 (https://bugs.webkit.org/show_bug.cgi?id=25244), I changed
95093         the <select> handing for Chromium to fix a rendering bug. However,
95094         although the font-size is correctly ignored, getRowHeight wasn't
95095         updated and so was calculating the height of the rows in an
95096         inconsistent manner. This can lead to a crash.
95097
95098         * manual-tests/optgroup-empty-and-nested.html: adding test case for crash
95099         * platform/chromium/PopupMenuChromium.cpp:
95100         (WebCore::PopupListBox::getRowHeight):
95101
95102 2009-06-23  Brady Eidson  <beidson@apple.com>
95103
95104         Patch by Antti Koivisto.
95105         Reviewed by Brady Eidson.
95106
95107         <rdar://problem/6988010> Failed resources not reloaded when built against Tiger SDK
95108
95109         A latent bug that cache revalidation uncovered.  When a CachedResource failed to load,
95110         it should always be revalidated upon reload.
95111
95112         * loader/CachedResource.cpp:
95113         (WebCore::CachedResource::canUseCacheValidator):
95114         (WebCore::CachedResource::mustRevalidate):
95115
95116 2009-06-23  Dan Bernstein  <mitz@apple.com>
95117
95118         Reviewed by Darin Adler.
95119
95120         - fix <rdar://problem/6634228> Crash in [NSScroller mouseDown:] beneath
95121           EventHandler::passMouseDownEventToWidget()
95122
95123         * page/mac/EventHandlerMac.mm:
95124         (WebCore::EventHandler::passMouseDownEventToWidget): Surround the
95125         -mouseDown: call with calls to Widget::beforeMouseDown() and
95126         Widget::afterMouseDown(), which prevent the widget's view hierarchy from
95127         being removed from its parent view while the scroller is tracking the
95128         mouse.
95129
95130 2009-06-23  Sam Weinig  <sam@webkit.org>
95131
95132         Reviewed by Dave Hyatt.
95133
95134         Fix for https://bugs.webkit.org/show_bug.cgi?id=26516
95135         Add initial implementation of DataGridDataSource
95136
95137         - Initial implementation only supports the initialize callback function.
95138
95139         Test: fast/dom/HTMLDataGridElement/DataGridDataSource-basic.html
95140
95141         * WebCore.xcodeproj/project.pbxproj:
95142         * GNUmakefile.am:
95143         * WebCore.pro:
95144         * WebCore.vcproj/WebCore.vcproj:
95145         * WebCore.xcodeproj/project.pbxproj:
95146         * WebCoreSources.bkl:
95147         * bindings/js/JSDataGridDataSource.cpp: Added.
95148         (WebCore::JSDataGridDataSource::JSDataGridDataSource):
95149         (WebCore::JSDataGridDataSource::~JSDataGridDataSource):
95150         (WebCore::JSDataGridDataSource::initialize):
95151         * bindings/js/JSDataGridDataSource.h: Added.
95152         (WebCore::JSDataGridDataSource::create):
95153         (WebCore::JSDataGridDataSource::isJSDataGridDataSource):
95154         (WebCore::JSDataGridDataSource::jsDataSource):
95155         (WebCore::asJSDataGridDataSource):
95156         * bindings/js/JSHTMLDataGridElementCustom.cpp: Added.
95157         (WebCore::JSHTMLDataGridElement::listener):
95158         (WebCore::JSHTMLDataGridElement::setListener):
95159         * html/DataGridDataSource.h: Added.
95160         (WebCore::DataGridDataSource::~DataGridDataSource):
95161         (WebCore::DataGridDataSource::isJSDataGridDataSource):
95162         * html/HTMLDataGridElement.cpp:
95163         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
95164         (WebCore::HTMLDataGridElement::setDataSource):
95165         (WebCore::HTMLDataGridElement::initializationTimerFired):
95166         * html/HTMLDataGridElement.h:
95167         (WebCore::HTMLDataGridElement::dataSource):
95168         * html/HTMLDataGridElement.idl:
95169
95170 2009-06-23  Ryosuke Niwa  <rniwa@google.com>
95171
95172         Reviewed by Justin Garcia.
95173
95174         Undo the changeset 21212 to fix the regression bug 14062.
95175         The changeset 21212 attempted to fix rdar://problem/5002441.
95176         The changeset 21212 modified InsertTextCommand::input so as to convert
95177         all spaces in text to non-breaking spaces for rdar://problem/5002441.
95178         However, the bug was originally caused by rebalanceWhitespaceAt
95179         and this workaround introduced a regression bug 14062.
95180         Because rebalanceWhitespaceAt appears to behave correctly now,
95181         the workaround introduced in 21212 is no longer needed.
95182
95183         Test: editing/inserting/space-after-removeformat.html
95184
95185         * editing/InsertTextCommand.cpp:
95186         (WebCore::InsertTextCommand::input):
95187
95188 2009-06-23  Beth Dakin  <bdakin@apple.com>
95189
95190         Reviewed by Dave Hyatt.
95191
95192         Fix for https://bugs.webkit.org/show_bug.cgi?id=26523 <col> 
95193         elements width can't be changed with javascript
95194
95195         This patch both fixes setting the width attribute directly in 
95196         JavaScript, and setting the width on the style attribute. 
95197
95198         * html/HTMLTableColElement.cpp:
95199         (WebCore::HTMLTableColElement::parseMappedAttribute): If we have a 
95200         new width, call setNeedsLayoutAndPrefWidthsRecalc()
95201
95202         Call calcPrefWidths() on the table cols.
95203         * rendering/AutoTableLayout.cpp:
95204         (WebCore::AutoTableLayout::recalcColumn):
95205         * rendering/FixedTableLayout.cpp:
95206         (WebCore::FixedTableLayout::calcWidthArray):
95207         
95208         Call layoutIfNeeded on the table cols.
95209         * rendering/RenderTable.cpp:
95210         (WebCore::RenderTable::layout):
95211
95212         * rendering/RenderTableCol.cpp:
95213         (WebCore::RenderTableCol::clippedOverflowRectForRepaint): Use new 
95214         table() convenience function.
95215         (WebCore::RenderTableCol::calcPrefWidths): Just call 
95216         setPrefWidthsDirty(false) on ourself and our children.
95217         (WebCore::RenderTableCol::table):
95218         * rendering/RenderTableCol.h:
95219
95220 2009-06-23  Ojan Vafai  <ojan@chromium.org>
95221
95222         Reviewed by Dan Bernstein.
95223
95224         Add logic to CSSStyleDeclaration::diff to deal with font-sizes that are 
95225         keyword values. When diff is called on a CSSStyleDeclaration, we check
95226         the keywordSize to see if font-size matches a keyword value.
95227         
95228         This ensures that when we diff a CSSMutableStyleDeclaration returned from
95229         copyInheritableProperties on a CSSComputedStyleDeclaration that we 
95230         correctly identify matching font-sizes.
95231         
95232         https://bugs.webkit.org/show_bug.cgi?id=26279
95233
95234         Test: editing/inserting/font-size-clears-from-typing-style.html
95235
95236         * css/CSSComputedStyleDeclaration.cpp:
95237         (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
95238         * css/CSSComputedStyleDeclaration.h:
95239         * css/CSSStyleDeclaration.cpp:
95240         (WebCore::CSSStyleDeclaration::cssPropertyMatches):
95241         (WebCore::CSSStyleDeclaration::diff):
95242         * css/CSSStyleDeclaration.h:
95243
95244 2009-06-23  Kevin McCullough  <kmccullough@apple.com>
95245
95246         Reviewed by Darin Adler.
95247
95248         <rdar://problem/6994790> CrashTracer: [USER] 8 crashes in Mail trying to
95249         add a blank line to pasted Facebook content (under
95250         CompositeEditCommand::positionAvoidingSpecialElementBoundary)
95251
95252         - Just added null checks and I will create a new bug to prevent the
95253         bad behavior.
95254
95255         * editing/CompositeEditCommand.cpp:
95256         (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
95257
95258 2009-06-23  Simon Fraser  <simon.fraser@apple.com>
95259
95260         Build fix.
95261
95262         Wrap shouldDoSoftwarePaint() in #if USE(ACCELERATED_COMPOSITING) to avoid warning when 
95263         ACCELERATED_COMPOSITING is not defined.
95264
95265         * rendering/RenderLayer.cpp:
95266
95267 2009-06-23  Simon Fraser  <simon.fraser@apple.com>
95268
95269         Reviewed by Dave Hyatt.
95270         
95271         https://bugs.webkit.org/show_bug.cgi?id=24863
95272         
95273         Fix reflection painting on elements with compositing layers.
95274
95275         Test: compositing/reflections/reflection-on-composited.html
95276
95277         * rendering/RenderLayer.h:
95278         Add a new PaintLayerPaintingReflection flag which is set while painting inside
95279         reflections.
95280         (WebCore::RenderLayer::setPaintingInsideReflection):
95281         Add a setter so that RenderLayerBacking can call it.
95282
95283         * rendering/RenderLayer.cpp:
95284         (WebCore::shouldDoSoftwarePaint):
95285         Utility to clarify the logic of when a composited layer should do a software paint.
95286         
95287         (WebCore::RenderLayer::paintLayer):
95288         Use shouldDoSoftwarePaint() to determine when to software-paint a reflected layer.
95289         Remove transform-related tests from the reflection-painting if test because they appear
95290         to be unnecessary.
95291
95292         * rendering/RenderLayerBacking.cpp:
95293         (WebCore::RenderLayerBacking::paintIntoLayer):
95294         Add the code to paint reflections to the composited layer painting method.
95295         
95296         * rendering/RenderReplica.cpp:
95297         (WebCore::RenderReplica::paint):
95298         Set the PaintLayerPaintingReflection flag.
95299
95300 2009-06-23  Antti Koivisto  <antti@apple.com>
95301
95302         Reviewed by Darin Adler.
95303         
95304         https://bugs.webkit.org/show_bug.cgi?id=26643
95305         Memory cache should respect Cache-Control: no-store
95306         
95307         Make resources with Cache-Control: no-store uncacheable in the memory cache.
95308         They get evicted immediately when all clients are gone and are always
95309         reloaded from the server.
95310
95311         Conforms to RFC2616 14.9.2 and seems also match Firefox behavior.
95312
95313         * loader/CachedResource.cpp:
95314         (WebCore::CachedResource::removeClient):
95315         (WebCore::CachedResource::canUseCacheValidator):
95316         (WebCore::CachedResource::mustRevalidate):
95317         * platform/network/ResourceResponseBase.cpp:
95318         (WebCore::ResourceResponseBase::ResourceResponseBase):
95319         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
95320         (WebCore::ResourceResponseBase::cacheControlContainsNoStore):
95321         * platform/network/ResourceResponseBase.h:
95322
95323 2009-06-23  Brady Eidson  <beidson@apple.com>
95324
95325         Windows build fix.
95326
95327         * platform/graphics/win/QTMovieWin.cpp:
95328         (QTMovieWin::play):
95329         (QTMovieWin::pause):
95330         (QTMovieWin::setRate):
95331         (QTMovieWin::setCurrentTime):
95332
95333 2009-06-23  Kevin McCullough  <kmccullough@apple.com>
95334
95335         Reviewed by Adele Peterson.
95336
95337         <rdar://problem/6902203> REGRESSION: 'Return' insertion point incorrect
95338         after manually quoting blank line then hitting return
95339
95340         If the insertion point is both the begining and ending visible position
95341         then we need to insert at the end instead of the begining, which is what
95342         would normally happen if the insertion point was as the begining.
95343
95344         * editing/BreakBlockquoteCommand.cpp:
95345         (WebCore::BreakBlockquoteCommand::doApply):
95346
95347 2009-06-23  Brady Eidson  <beidson@apple.com>
95348
95349         Reviewed by Sam Weinig, and looked over by Eric Carlson.
95350
95351         <rdar://problem/6980466> Media elements should provide option for changing pitch correction
95352
95353         Introduce a new boolean property to HTMLMediaElement called webkitPreservesPitch for script to control this.
95354
95355         * html/HTMLMediaElement.cpp:
95356         (WebCore::HTMLMediaElement::HTMLMediaElement): Currently the platforms that have a flexible pitch preservation 
95357           property (Quicktime on Mac and Win) have had it on by default, so continue that default for now.
95358         (WebCore::HTMLMediaElement::loadResource):
95359         (WebCore::HTMLMediaElement::webkitPreservesPitch):
95360         (WebCore::HTMLMediaElement::setWebkitPreservesPitch):
95361         * html/HTMLMediaElement.h:
95362         * html/HTMLMediaElement.idl:
95363
95364         * platform/graphics/MediaPlayer.cpp:
95365         (WebCore::NullMediaPlayerPrivate::setPreservesPitch):
95366         (WebCore::MediaPlayer::MediaPlayer):
95367         (WebCore::MediaPlayer::preservesPitch):
95368         (WebCore::MediaPlayer::setPreservesPitch):
95369         * platform/graphics/MediaPlayer.h:
95370         * platform/graphics/MediaPlayerPrivate.h:
95371         (WebCore::MediaPlayerPrivateInterface::setPreservesPitch):
95372
95373         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
95374         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
95375         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
95376         (WebCore::MediaPlayerPrivate::createQTMovie): Rework to allow recreation of the movie with almost the
95377           exact same attributes as before, with pitch preservation being the difference.
95378         (WebCore::MediaPlayerPrivate::setPreservesPitch): Recreate the QTMovie if the flag actually changes.
95379         (WebCore::MediaPlayerPrivate::updateStates): Restore current time and rate if this is a recreated movie.
95380         (WebCore::MediaPlayerPrivate::timeChanged): Clear the time-to-be-restored, as this callback means it
95381           has been effectively overwritten.
95382
95383         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
95384         (WebCore::MediaPlayerPrivate::load):
95385         (WebCore::MediaPlayerPrivate::setPreservesPitch):
95386         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
95387         * platform/graphics/win/QTMovieWin.cpp:
95388         (QTMovieWinPrivate::QTMovieWinPrivate):
95389         (QTMovieWinPrivate::~QTMovieWinPrivate):
95390         (QTMovieWinPrivate::task): Restore current time and rate if this is a re-created movie.
95391         (QTMovieWin::play): Clear the time-to-be-restored, as this effectively overwrites it.
95392         (QTMovieWin::pause): Ditto.
95393         (QTMovieWin::setRate): Ditto.
95394         (QTMovieWin::setCurrentTime): Ditto.
95395         (QTMovieWin::setPreservesPitch): Recreate the Movie if the flag actually changes.
95396         (QTMovieWin::load): Rework to allow recreation of the Movie with similar state as the movie before it, 
95397           but changing the pitch preservation flag.
95398         * platform/graphics/win/QTMovieWin.h:
95399
95400 2009-06-23  Eric Carlson  <eric.carlson@apple.com>
95401
95402         Reviewed by Simon Fraser.
95403
95404         <rdar://problem/6998286> Crash after leaving page with <video>
95405         
95406         Don't try to post events after going into the page cache.
95407
95408         * html/HTMLMediaElement.cpp:
95409         (WebCore::HTMLMediaElement::documentWillBecomeInactive): Cancel pending events and stop
95410         event timers so we won't try to post events after going into the cache.
95411
95412 2009-06-23  Jeremy Orlow  <jorlow@chromium.org>
95413
95414         Reviewed by Brady Eidson.
95415
95416         Simplify the interaction between LocalStorageArea/SessionStorageArea
95417         and StorageArea by creating a "blockUntilImportComplete()" function
95418         rather than bouncing back and forth between the child and parent
95419         classes in a somewhat unintuitive manner.
95420
95421         This patch also paves the way for LocalStorageArea and
95422         SessionStorageArea being merged into one.  It's part of several in a
95423         set which are separating syncing (to disk) code from the rest of the
95424         implementation so that local storage and session storage's code can be
95425         unified.
95426
95427         https://bugs.webkit.org/show_bug.cgi?id=25376
95428
95429         * storage/LocalStorageArea.cpp:
95430         (WebCore::LocalStorageArea::blockUntilImportComplete):
95431         * storage/LocalStorageArea.h:
95432         * storage/StorageArea.cpp:
95433         (WebCore::StorageArea::length):
95434         (WebCore::StorageArea::key):
95435         (WebCore::StorageArea::getItem):
95436         (WebCore::StorageArea::setItem):
95437         (WebCore::StorageArea::removeItem):
95438         (WebCore::StorageArea::clear):
95439         (WebCore::StorageArea::contains):
95440         * storage/StorageArea.h:
95441         (WebCore::StorageArea::blockUntilImportComplete):
95442
95443 2009-06-23  Simon Fraser  <simon.fraser@apple.com>
95444
95445         Reviewed by Dave Hyatt
95446
95447         First part of https://bugs.webkit.org/show_bug.cgi?id=26652
95448         
95449         * rendering/RenderLayer.cpp:
95450         (WebCore::RenderLayer::paint):
95451         (WebCore::RenderLayer::paintLayer):
95452         * rendering/RenderLayer.h:
95453         (WebCore::RenderLayer::):
95454         * rendering/RenderReplica.cpp:
95455         (WebCore::RenderReplica::paint):
95456         Replace the 3 boolean params to RenderLayer::paintLayer() with a bit mask for readability.
95457         
95458         * rendering/RenderLayerBacking.cpp:
95459         (WebCore::RenderLayerBacking::paintIntoLayer):
95460         (WebCore::RenderLayerBacking::paintContents):
95461         * rendering/RenderLayerBacking.h:
95462         Remove the unused 'haveTransparency' param to paintIntoLayer().
95463
95464 2009-06-23  Simon Fraser  <simon.fraser@apple.com>
95465
95466         Reviewed by Darin Adler.
95467
95468         <rdar://problem/6997929> Assertion at WebCore::RenderLayer::updateClipRects with hardware acceleration
95469
95470         The updatingControlTints() painting pass goes through compositing layer boundaries,
95471         so we need to ensure we don't cache clip rects computed with the wrong root by
95472         setting temporaryClipRects to true.
95473         
95474         * rendering/RenderLayer.cpp:
95475         (WebCore::RenderLayer::paintLayer):
95476         
95477         * rendering/RenderLayerBacking.cpp:
95478         (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
95479         Remove a printf that I left in by mistake.
95480
95481 2009-06-23  Anders Carlsson  <andersca@apple.com>
95482
95483         Reviewed by Darin Adler.
95484
95485         WebCore side of <rdar://problem/6946094>.
95486         
95487         * platform/win/ClipboardWin.cpp:
95488         (WebCore::ClipboardWin::setExternalDataObject):
95489         * platform/win/ClipboardWin.h:
95490
95491 2009-06-23  Darin Fisher  <darin@chromium.org>
95492
95493         Reviewed by Darin Adler.
95494
95495         https://bugs.webkit.org/show_bug.cgi?id=26650
95496
95497         Add setFormContentType and setFormData since it is awkward for Chromium
95498         to use setFormInfoFromRequest to set the underlying members.  Also, add
95499         a clearChildren method that Chromium needs.  These methods are used as
95500         part of the Chromium code that serializes a HistoryItem for storing in
95501         the browser's session history.
95502
95503         * history/HistoryItem.cpp:
95504         * history/HistoryItem.h:
95505
95506 2009-06-23  Eric Carlson  <eric.carlson@apple.com>
95507
95508         Reviewed by Darin Adler.
95509
95510         <rdar://problem/6978938> Need HTML 5 event attributes for media elements
95511
95512         Test: media/event-attributes.html
95513
95514         * html/HTMLAttributeNames.in: Add media event attribute names.
95515         * html/HTMLMediaElement.cpp:
95516         (WebCore::HTMLMediaElement::parseMappedAttribute): Handle media event attributes.
95517
95518 2009-06-23  Thiago Macieira  <thiago.macieira@nokia.com>
95519
95520         Reviewed by Simon Hausmann.
95521
95522         Fix Qt build with Phonon.
95523
95524         The #include <phonon> header no longer exists. And the <Phonon> or
95525         <Phonon/Phonon> headers have never existed (neither for us nor for the
95526         Phonon sources). You have to select each and every header that you do
95527         want now.
95528
95529         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
95530
95531 2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
95532
95533         Reviewed by Simon Hausmann.
95534
95535         Remove duplicated code in Qt & GTK logging initialization
95536
95537         We now share the getChannelFromName() function in Logging.cpp
95538
95539         * platform/gtk/LoggingGtk.cpp:
95540         * platform/qt/LoggingQt.cpp:
95541
95542 2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
95543
95544         Reviewed by Simon Hausmann.
95545
95546         Rename the plugin logging channel to plural form 'Plugins'
95547
95548         This matches both the other logging channel names, as well as the
95549         WebKit logging channel used by Safari/Mac for plugins.
95550
95551         * platform/Logging.cpp:
95552         * platform/Logging.h:
95553         * platform/gtk/LoggingGtk.cpp:
95554         * platform/mac/LoggingMac.mm:
95555         * platform/qt/LoggingQt.cpp:
95556         * platform/win/LoggingWin.cpp:
95557         * plugins/PluginDebug.h:
95558         * plugins/gtk/PluginPackageGtk.cpp:
95559         * plugins/mac/PluginPackageMac.cpp:
95560         * plugins/mac/PluginViewMac.cpp:
95561         * plugins/qt/PluginPackageQt.cpp:
95562
95563 2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
95564
95565         Reviewed by Simon Hausmann.
95566
95567         Fix NPAPI mouse translation issues on Mac
95568
95569         The WindowRef we pass to the plugin refers to the the top level window,
95570         so the x and y positions have to be relative to this position, but we
95571         have to manually compensate for title bar decorations and other parents
95572         of the QWebView since contentsToWindow() only traverses to the QWebView.
95573
95574         Previously we did this compensation when passing on mouse coordinates to
95575         the plugin, which caused various issues with translations such as not
95576         being able to close the Flash settings dialog, or the hand cursor not
95577         appearing over links.
95578
95579         We now do the compensation as part of the call to NPP_SetWindow, and
95580         then pass mouse coordinates in global context without any compensation,
95581         similar to how both Safari and Mozilla does it.
95582
95583         * plugins/mac/PluginViewMac.cpp:
95584         (WebCore::PluginView::updatePluginWidget):
95585         (WebCore::PluginView::globalMousePosForPlugin):
95586
95587 2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
95588
95589         Rubber-stamped by Simon Hausmann.
95590
95591         [Qt] Resolve absolute path to library install_name manually
95592
95593         Since our target.path is set to the Qt directory (to be able
95594         to do 'make install') the 'absolute_library_soname' option
95595         to QMake did not do the right thing.
95596
95597         We now compute the absolute path manually using DESTDIR.
95598
95599         * WebCore.pro:
95600
95601 2009-06-22  Simon Fraser  <simon.fraser@apple.com>
95602
95603         Reviewed by Oliver Hunt.
95604
95605         <rdar://problem/6991146> Scrollbars in hardware layers don't change to the
95606         inactive look in background windows
95607
95608         * rendering/RenderLayer.cpp:
95609         (WebCore::RenderLayer::paintLayer):
95610         Don't short-circuit the "painting" pass that is used to udpate control tints.
95611
95612 2009-06-22  Dimitri Glazkov  <dglazkov@chromium.org>
95613
95614         Reviewed by Sam Weinig.
95615
95616         https://bugs.webkit.org/show_bug.cgi?id=26567
95617         Upstream V8 bindings code generator. With this change, also added interface ancestor
95618         traversal to IDL parser, which is necessary for V8 bindings. The traversal is used
95619         to determine whether an interface is a Node to facilitate proper casting and storage
95620         in V8DOMMap.
95621
95622         * bindings/scripts/CodeGenerator.pm: Added parent traversal sub, needed
95623             by V8 bindings.
95624         * bindings/scripts/CodeGeneratorV8.pm: Added.
95625         * bindings/scripts/IDLParser.pm: Modified to allow limited parsing for
95626             parent traversal cases.
95627
95628 2009-06-22  Sam Weinig  <sam@webkit.org>
95629
95630         Reviewed by Gavin Barraclough.
95631
95632         Add event handler attribute getter/setters to HTMLFrameSetElement
95633         as specified in HTML 5.  These match the ones on HTMLBodyElement.
95634
95635         * dom/Node.h:
95636         * html/HTMLFrameSetElement.cpp:
95637         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
95638         (WebCore::HTMLFrameSetElement::onblur):
95639         (WebCore::HTMLFrameSetElement::setOnblur):
95640         (WebCore::HTMLFrameSetElement::onerror):
95641         (WebCore::HTMLFrameSetElement::setOnerror):
95642         (WebCore::HTMLFrameSetElement::onfocus):
95643         (WebCore::HTMLFrameSetElement::setOnfocus):
95644         (WebCore::HTMLFrameSetElement::onload):
95645         (WebCore::HTMLFrameSetElement::setOnload):
95646         (WebCore::HTMLFrameSetElement::onbeforeunload):
95647         (WebCore::HTMLFrameSetElement::setOnbeforeunload):
95648         (WebCore::HTMLFrameSetElement::onmessage):
95649         (WebCore::HTMLFrameSetElement::setOnmessage):
95650         (WebCore::HTMLFrameSetElement::onoffline):
95651         (WebCore::HTMLFrameSetElement::setOnoffline):
95652         (WebCore::HTMLFrameSetElement::ononline):
95653         (WebCore::HTMLFrameSetElement::setOnonline):
95654         (WebCore::HTMLFrameSetElement::onresize):
95655         (WebCore::HTMLFrameSetElement::setOnresize):
95656         (WebCore::HTMLFrameSetElement::onstorage):
95657         (WebCore::HTMLFrameSetElement::setOnstorage):
95658         (WebCore::HTMLFrameSetElement::onunload):
95659         (WebCore::HTMLFrameSetElement::setOnunload):
95660         * html/HTMLFrameSetElement.h:
95661         * html/HTMLFrameSetElement.idl:
95662
95663 2009-06-22  Darin Adler  <darin@apple.com>
95664
95665         Reviewed by Sam Weinig.
95666
95667         Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type
95668         https://bugs.webkit.org/show_bug.cgi?id=25425
95669
95670         * bindings/scripts/CodeGeneratorJS.pm: Added handling for ReflectURL.
95671         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
95672
95673         * dom/Element.cpp:
95674         (WebCore::Element::getURLAttribute): Added. For use implementing getters
95675         for ReflectURL.
95676         * dom/Element.h: Added getURLAttribute.
95677
95678         * html/HTMLImageElement.idl: Use Reflect and ReflectURL.
95679
95680 2009-06-22  Jian Li  <jianli@chromium.org>
95681
95682         Reviewed by Dimitri Glazkov.
95683
95684         Bug 26626: Make WorkerContextExecutionProxy::toV8Object handle exception
95685         objects.
95686         https://bugs.webkit.org/show_bug.cgi?id=26626
95687
95688         * bindings/v8/WorkerContextExecutionProxy.cpp:
95689         (WebCore::WorkerContextExecutionProxy::ToV8Object):
95690
95691 2009-06-22  David Hyatt  <hyatt@apple.com>
95692
95693         Reviewed by Sam Weinig.
95694
95695         Add RenderDataGrid to the build.  Give it some basic default styling (that more or less matches a listbox).  It has a default size
95696         of 300x150.
95697
95698         * GNUmakefile.am:
95699         * WebCore.pro:
95700         * WebCore.vcproj/WebCore.vcproj:
95701         * WebCore.xcodeproj/project.pbxproj:
95702         * WebCoreSources.bkl:
95703         * css/html4.css:
95704         * html/HTMLDataGridElement.cpp:
95705         (WebCore::HTMLDataGridElement::createRenderer):
95706         * html/HTMLDataGridElement.h:
95707         * html/HTMLDataGridElement.idl:
95708         * rendering/RenderDataGrid.cpp: Added.
95709         (WebCore::RenderDataGrid::RenderDataGrid):
95710         (WebCore::RenderDataGrid::~RenderDataGrid):
95711         (WebCore::RenderDataGrid::calcPrefWidths):
95712         (WebCore::RenderDataGrid::paintObject):
95713         (WebCore::RenderDataGrid::valueChanged):
95714         (WebCore::RenderDataGrid::invalidateScrollbarRect):
95715         (WebCore::RenderDataGrid::isActive):
95716         * rendering/RenderDataGrid.h: Added.
95717         (WebCore::RenderDataGrid::renderName):
95718         (WebCore::RenderDataGrid::canHaveChildren):
95719         (WebCore::RenderDataGrid::scrollbarCornerPresent):
95720
95721 2009-06-22  Simon Fraser  <simon.fraser@apple.com>
95722
95723         Reviewed by Dave Hyatt.
95724
95725         https://bugs.webkit.org/show_bug.cgi?id=26430
95726         <rdar://problem/6944442> Elements jump around when they become composited (WWDC checkers demo)
95727         <rdar://problem/6989006> Lots of time spent in RenderLayerCompositor::calculateCompositedBounds()
95728             during window resize when using hardware layers
95729         
95730         Fix an ordering dependency which caused the compositing position of a layer
95731         to be affected by some later sibling, which affected the compositing ancestor's
95732         composited bounds.
95733         
95734         The fix is to only update the compositing positions of layers in some subtree
95735         when updateAfterLayout() has been called on all the layers in that subtree,
95736         from the ancestor down.
95737         
95738         Also cache the composited bounds of a RenderLayerBacking, now that we can
95739         guarantee that those bounds are accurate.
95740         
95741         Test: compositing/sibling-positioning.html
95742
95743         * rendering/RenderLayer.cpp:
95744         (WebCore::RenderLayer::updateLayerPositions):
95745         (WebCore::RenderLayer::hitTestLayer):
95746         * rendering/RenderLayerBacking.cpp:
95747         (WebCore::RenderLayerBacking::RenderLayerBacking):
95748         (WebCore::RenderLayerBacking::updateAfterLayout):
95749         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
95750         (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
95751         (WebCore::RenderLayerBacking::paintContents):
95752         (WebCore::RenderLayerBacking::compositedBounds):
95753         (WebCore::RenderLayerBacking::setCompositedBounds):
95754         * rendering/RenderLayerBacking.h:
95755         * rendering/RenderLayerCompositor.cpp:
95756         (WebCore::RenderLayerCompositor::updateBacking):
95757         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
95758         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
95759         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
95760         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
95761         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
95762         (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
95763         * rendering/RenderLayerCompositor.h:
95764
95765 2009-06-22  Jeremy Orlow  <jorlow@chromium.org>
95766
95767         Reviewed by Darin Fisher.
95768
95769         First step in https://bugs.webkit.org/show_bug.cgi?id=25376
95770
95771         Add StorageSyncManager.cpp/h
95772
95773         * GNUmakefile.am:
95774         * WebCore.pro:
95775         * WebCore.vcproj/WebCore.vcproj:
95776         * WebCore.xcodeproj/project.pbxproj:
95777         * WebCoreSources.bkl:
95778
95779         In preparation for combining SessionStorage and LocalStorage into a
95780         single StorageManager, move the syncing bits out of LocalStorage and
95781         into its own class.
95782
95783         The next step is to combine LocalStorageArea and SessionStorageArea
95784         into one.  Then SessionStorage and LocalStorage can be combined.
95785
95786         Note that combining them will cut down on code paths that must be
95787         proxied, eliminate virtual dispatch, and allow Chromium to (eventually)
95788         write historical sessionStorage to disk when memory is getting tight.
95789
95790         Also remove a couple bits of cruft including code for quotas which is
95791         unnecessary (since a meta-data db is unnecessary since you can just
95792         count bytes as you read the local storage databases into memory).
95793
95794         * storage/LocalStorage.cpp:
95795         (WebCore::LocalStorage::LocalStorage):
95796         (WebCore::LocalStorage::storageArea):
95797         (WebCore::LocalStorage::close):
95798         * storage/LocalStorage.h:
95799         * storage/LocalStorageArea.cpp:
95800         (WebCore::LocalStorageArea::LocalStorageArea):
95801         (WebCore::LocalStorageArea::scheduleFinalSync):
95802         (WebCore::LocalStorageArea::syncTimerFired):
95803         (WebCore::LocalStorageArea::performImport):
95804         * storage/LocalStorageArea.h:
95805         (WebCore::LocalStorageArea::create):
95806         * storage/LocalStorageTask.cpp:
95807         (WebCore::LocalStorageTask::performTask):
95808         * storage/LocalStorageTask.h:
95809         (WebCore::LocalStorageTask::):
95810         (WebCore::LocalStorageTask::createImport):
95811         * storage/LocalStorageThread.cpp:
95812         * storage/LocalStorageThread.h:
95813         * storage/SessionStorage.h:
95814         * storage/StorageSyncManager.cpp: Copied from WebCore/storage/LocalStorage.cpp.
95815         (WebCore::StorageSyncManager::create):
95816         (WebCore::StorageSyncManager::StorageSyncManager):
95817         (WebCore::StorageSyncManager::fullDatabaseFilename):
95818         (WebCore::StorageSyncManager::close):
95819         (WebCore::StorageSyncManager::scheduleImport):
95820         (WebCore::StorageSyncManager::scheduleSync):
95821         * storage/StorageSyncManager.h: Copied from WebCore/storage/LocalStorage.h.
95822         (WebCore::):
95823
95824 2009-06-22  Darin Fisher  <darin@chromium.org>
95825
95826         Reviewed by Dimitri Glazkov.
95827
95828         https://bugs.webkit.org/show_bug.cgi?id=26622
95829         Add ChromiumDataObject::copy()
95830
95831         * platform/chromium/ChromiumDataObject.cpp:
95832         * platform/chromium/ChromiumDataObject.h:
95833
95834 2009-06-22  Timothy Hatcher  <timothy@apple.com>
95835
95836         Add a silhouette image for the enable view of the Resource panel.
95837
95838         Reviewed by Kevin McCullough.
95839
95840         * inspector/front-end/Images/resourcesSilhouette.png: Added.
95841         * inspector/front-end/inspector.css:
95842
95843 2009-06-22  Kyle Prete  <kylep@chromium.org>
95844
95845         Reviewed by Dimitri Glazkov.
95846
95847         https://bugs.webkit.org/show_bug.cgi?id=26552
95848         Add V8 JS bindings for Audio Constructor.
95849
95850         * bindings/v8/custom/V8CustomBinding.h:
95851         Added a callback declaration for audio ctor to macro.
95852         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
95853         Added the whole file.
95854
95855 2009-06-22  Alexey Proskuryakov  <ap@webkit.org>
95856
95857         Reviewed by David Levin.
95858
95859         https://bugs.webkit.org/show_bug.cgi?id=26600
95860         StringImpl::copy() no longer copies empty string correctly
95861
95862         * platform/text/StringImpl.cpp:
95863         (WebCore::StringImpl::ustring): Changed method calling syntax to look less like calling a
95864         static method.
95865         (WebCore::StringImpl::copy): Reverted part of r41917 that caused the problem.
95866
95867 2009-06-22  Xiaomei Ji  <xji@chromium.org>
95868
95869         Reviewed by Eric Seidel
95870
95871         Not auto-testable since it involves sending a keyboard event to
95872         the popup, which is not possible (eventSender sends the key
95873         events through webview, we want to go through the webwidget).
95874
95875         This patch is one part of the fix for issue "keyboard selection in
95876         Hebrew select element does not work in Windows". The other part of the
95877         fix is in chromium's webkit/glue layer.
95878         https://bugs.webkit.org/show_bug.cgi?id=25899
95879
95880         * manual-tests/keyboard_select_non_english.html: Added.
95881         * platform/chromium/PopupMenuChromium.cpp:
95882         (WebCore::isCharacterTypeEvent): Added. Check whether the event is a 
95883         character type event. "Char" in Windows or "KeyDown" in Mac is character
95884         type event.
95885         (WebCore::PopupListBox::typeAheadFind): Since m_lastCharTime is used to
95886         indicate whether user types multiple characters continuely as a search
95887         prefix or not, it should be only assigned when the event is character 
95888         type event. 
95889
95890 2009-06-22  Kevin McCullough  <kmccullough@apple.com>
95891
95892         Reviewed by Darin Adler.
95893
95894         <rdar://problem/6115819> Notify of profile start in console
95895
95896         Put a message in the console that announces that a profile has started,
95897         similar to how a console message announces that a profile has finished.
95898
95899         * inspector/InspectorController.cpp:
95900         (WebCore::InspectorController::addProfile): Use renamed function.
95901         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
95902         Renamed.
95903         (WebCore::InspectorController::addStartProfilingMessageToConsole):
95904         New function that logs the message about the profile starting.
95905         (WebCore::InspectorController::startUserInitiatedProfiling): Ditto
95906         * inspector/InspectorController.h:
95907         * inspector/front-end/ProfilesPanel.js: Print the "run" of the profile's
95908         title if there are multiple profiles, and take into account the fact
95909         that titles are displayed twice as much now.
95910         (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
95911         * page/Console.cpp:
95912         (WebCore::Console::profile): Call new function.
95913
95914 2009-06-22  David Hyatt  <hyatt@apple.com>
95915
95916         Reviewed by Sam Weinig.
95917
95918         https://bugs.webkit.org/show_bug.cgi?id=26615
95919
95920         Add IDL interface for datagrid cell elements.  Add a few more properties to the datagrid itself that
95921         correspond to ones you find on <select> elements.
95922
95923         Add an expanded property to row elements.
95924
95925         * DerivedSources.cpp:
95926         * DerivedSources.make:
95927         * GNUmakefile.am:
95928         * WebCore.pro:
95929         * WebCore.vcproj/WebCore.vcproj:
95930         * WebCore.xcodeproj/project.pbxproj:
95931         * WebCoreSources.bkl:
95932         * html/HTMLAttributeNames.in:
95933         * html/HTMLDataGridCellElement.cpp: Added.
95934         (WebCore::HTMLDataGridCellElement::HTMLDataGridCellElement):
95935         (WebCore::HTMLDataGridCellElement::label):
95936         (WebCore::HTMLDataGridCellElement::setLabel):
95937         (WebCore::HTMLDataGridCellElement::focused):
95938         (WebCore::HTMLDataGridCellElement::setFocused):
95939         (WebCore::HTMLDataGridCellElement::checked):
95940         (WebCore::HTMLDataGridCellElement::setChecked):
95941         (WebCore::HTMLDataGridCellElement::indeterminate):
95942         (WebCore::HTMLDataGridCellElement::setIndeterminate):
95943         (WebCore::HTMLDataGridCellElement::progress):
95944         (WebCore::HTMLDataGridCellElement::setProgress):
95945         * html/HTMLDataGridCellElement.h: Added.
95946         (WebCore::HTMLDataGridCellElement::endTagRequirement):
95947         (WebCore::HTMLDataGridCellElement::tagPriority):
95948         * html/HTMLDataGridCellElement.idl: Added.
95949         * html/HTMLDataGridElement.cpp:
95950         (WebCore::HTMLDataGridElement::autofocus):
95951         (WebCore::HTMLDataGridElement::setAutofocus):
95952         (WebCore::HTMLDataGridElement::disabled):
95953         (WebCore::HTMLDataGridElement::setDisabled):
95954         (WebCore::HTMLDataGridElement::size):
95955         (WebCore::HTMLDataGridElement::setSize):
95956         * html/HTMLDataGridElement.h:
95957         * html/HTMLDataGridElement.idl:
95958         * html/HTMLDataGridRowElement.cpp:
95959         (WebCore::HTMLDataGridRowElement::checkDTD):
95960         (WebCore::HTMLDataGridRowElement::expanded):
95961         (WebCore::HTMLDataGridRowElement::setExpanded):
95962         * html/HTMLDataGridRowElement.h:
95963         * html/HTMLDataGridRowElement.idl:
95964         * html/HTMLElementsAllInOne.cpp:
95965         * html/HTMLTagNames.in:
95966
95967 2009-06-22  Sam Weinig  <sam@webkit.org>
95968
95969         Reviewed by Mark Rowe.
95970
95971         Add event handler attribute getter/setters to HTMLBodyElement
95972         as specified in HTML 5.
95973
95974         - Removes erroneous inclusion of the onresize and onunload event
95975         handler attributes in Element and Document.
95976
95977         * dom/Document.cpp:
95978         (WebCore::Document::getWindowAttributeEventListener):
95979         * dom/Document.h:
95980         * dom/Document.idl:
95981         * dom/Element.idl:
95982         * dom/Node.cpp:
95983         * dom/Node.h: onblur, onerror, onfocus, and onload all need to be declared
95984         virtual, since their behavior for HTMLBodyElement differs from the base
95985         implementation.
95986         * html/HTMLBodyElement.cpp:
95987         (WebCore::HTMLBodyElement::onblur):
95988         (WebCore::HTMLBodyElement::setOnblur):
95989         (WebCore::HTMLBodyElement::onerror):
95990         (WebCore::HTMLBodyElement::setOnerror):
95991         (WebCore::HTMLBodyElement::onfocus):
95992         (WebCore::HTMLBodyElement::setOnfocus):
95993         (WebCore::HTMLBodyElement::onload):
95994         (WebCore::HTMLBodyElement::setOnload):
95995         (WebCore::HTMLBodyElement::onbeforeunload):
95996         (WebCore::HTMLBodyElement::setOnbeforeunload):
95997         (WebCore::HTMLBodyElement::onmessage):
95998         (WebCore::HTMLBodyElement::setOnmessage):
95999         (WebCore::HTMLBodyElement::onoffline):
96000         (WebCore::HTMLBodyElement::setOnoffline):
96001         (WebCore::HTMLBodyElement::ononline):
96002         (WebCore::HTMLBodyElement::setOnonline):
96003         (WebCore::HTMLBodyElement::onresize):
96004         (WebCore::HTMLBodyElement::setOnresize):
96005         (WebCore::HTMLBodyElement::onstorage):
96006         (WebCore::HTMLBodyElement::setOnstorage):
96007         (WebCore::HTMLBodyElement::onunload):
96008         (WebCore::HTMLBodyElement::setOnunload):
96009         * html/HTMLBodyElement.h:
96010         * html/HTMLBodyElement.idl:
96011
96012 2009-06-22  Alexey Proskuryakov  <ap@webkit.org>
96013
96014         Reviewed by Darin Adler.
96015
96016         https://bugs.webkit.org/show_bug.cgi?id=26601
96017         Remove disabled code for appcache dynamic entries
96018
96019         This also removes code for DOM 3 Core DOMStringList, which we don't use for anything else yet.
96020
96021         * DerivedSources.cpp:
96022         * DerivedSources.make:
96023         * GNUmakefile.am:
96024         * WebCore.pro:
96025         * WebCore.vcproj/WebCore.vcproj:
96026         * WebCore.xcodeproj/project.pbxproj:
96027         * WebCoreSources.bkl:
96028         * bindings/js/JSDOMStringListCustom.cpp: Removed.
96029         * bindings/v8/custom/V8CustomBinding.h:
96030         * bindings/v8/custom/V8DOMStringListCustom.cpp: Removed.
96031         * dom/DOMStringList.cpp: Removed.
96032         * dom/DOMStringList.h: Removed.
96033         * dom/DOMStringList.idl: Removed.
96034         * dom/StaticStringList.cpp: Removed.
96035         * dom/StaticStringList.h: Removed.
96036         * loader/DocumentLoader.cpp:
96037         (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
96038         * loader/appcache/ApplicationCache.cpp:
96039         (WebCore::ApplicationCache::addResource):
96040         * loader/appcache/ApplicationCache.h:
96041         * loader/appcache/ApplicationCacheGroup.cpp:
96042         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
96043         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
96044         * loader/appcache/ApplicationCacheResource.cpp:
96045         (WebCore::ApplicationCacheResource::dumpType):
96046         * loader/appcache/ApplicationCacheResource.h:
96047         (WebCore::ApplicationCacheResource::):
96048         * loader/appcache/ApplicationCacheStorage.cpp:
96049         (WebCore::ApplicationCacheStorage::storeUpdatedType):
96050         * loader/appcache/DOMApplicationCache.cpp:
96051         * loader/appcache/DOMApplicationCache.h:
96052         * loader/appcache/DOMApplicationCache.idl:
96053         * page/DOMWindow.idl:
96054
96055 2009-06-22  Steve Falkenburg  <sfalken@apple.com>
96056
96057         Windows build fix.
96058
96059         * DerivedSources.cpp:
96060         * html/HTMLElementsAllInOne.cpp:
96061
96062 2009-06-22  Alexey Proskuryakov  <ap@webkit.org>
96063
96064         Reviewed by John Sullivan.
96065
96066         <rdar://problem/6956606> REGRESSION (S4Beta -> Final): After the password is input,
96067         Japanese can't be input.
96068
96069         WebKit uses a per-frame input context for most editable fields, and application's global
96070         context for password fields, manually controlling secure input state and the list of available
96071         input sources.
96072
96073         We were setting TSMDocument property to disable non-Roman input methods after focus changed
96074         to a password field, but before selection was updated. This resulted in the property being
96075         applied to a wrong TSMDocument in some cases, because TSMGetActiveDocument() uses input
96076         context cached by +[NSApplication updateWindows], we change context based on selection,
96077         not on focus.
96078
96079         * page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry): Since there is only one
96080         context that we use for password fields - the global one - there is no need to get the active
96081         one.
96082
96083 2009-06-22  David Levin  <levin@chromium.org>
96084
96085         Reviewed by David Hyatt and Eric Seidel.
96086
96087         REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction.
96088         https://bugs.webkit.org/show_bug.cgi?id=26326
96089
96090         Test: scrollbars/scrollbar-crash-on-refresh.html
96091
96092         * dom/Document.cpp:
96093         (WebCore::Document::detach):
96094         Gives the FrameView a change to do any necessary cleanup on
96095         Document::detach() which is where the renderArena gets detroyed.
96096         * page/FrameView.cpp:
96097         (WebCore::FrameView::detachCustomScrollbars):
96098         Gets rid of any custom scrollbars (if the docment supplied them).
96099         * page/FrameView.h:
96100         * platform/Scrollbar.h:
96101         (WebCore::Scrollbar::isCustomScrollbar):
96102         * rendering/RenderObject.cpp:
96103         (WebCore::RenderObject::destroy):
96104         Removed the check for document()->frame().  If frame() is 0 in this code,
96105         then the call to animation() is also incorrect (since it does document()->frame()->animation()).
96106         * rendering/RenderScrollbar.h:
96107         (WebCore::RenderScrollbar::isCustomScrollbar):
96108
96109 2009-06-22  Dan Bernstein  <mitz@apple.com>
96110
96111         Reviewed by Simon Fraser.
96112
96113         - fix https://bugs.webkit.org/show_bug.cgi?id=23606
96114           <rdar://problem/6537777> CSS gradient not repainted when image load
96115           completes
96116
96117         Test: fast/repaint/background-generated.html
96118
96119         * rendering/RenderObject.cpp:
96120         (WebCore::mustRepaintFillLayers): Return true if the layer does not
96121         specify a size and the image uses the container size.
96122
96123 2009-06-22  David Hyatt  <hyatt@apple.com>
96124
96125         Reviewed by Sam Weinig.
96126
96127         https://bugs.webkit.org/show_bug.cgi?id=26607
96128
96129         Add IDL for HTMLDataGridRowElement.
96130
96131         * DerivedSources.make:
96132         * GNUmakefile.am:
96133         * WebCore.pro:
96134         * WebCore.vcproj/WebCore.vcproj:
96135         * WebCore.xcodeproj/project.pbxproj:
96136         * WebCoreSources.bkl:
96137         * html/HTMLAttributeNames.in:
96138         * html/HTMLDataGridColElement.cpp:
96139         (WebCore::HTMLDataGridColElement::primary):
96140         (WebCore::HTMLDataGridColElement::setPrimary):
96141         * html/HTMLDataGridColElement.h:
96142         * html/HTMLDataGridColElement.idl:
96143         * html/HTMLDataGridElement.cpp:
96144         (WebCore::HTMLDataGridElement::checkDTD):
96145         (WebCore::HTMLDataGridElement::multiple):
96146         (WebCore::HTMLDataGridElement::setMultiple):
96147         * html/HTMLDataGridElement.h:
96148         * html/HTMLDataGridElement.idl:
96149         * html/HTMLDataGridRowElement.cpp: Added.
96150         (WebCore::HTMLDataGridRowElement::HTMLDataGridRowElement):
96151         (WebCore::HTMLDataGridRowElement::selected):
96152         (WebCore::HTMLDataGridRowElement::setSelected):
96153         (WebCore::HTMLDataGridRowElement::focused):
96154         (WebCore::HTMLDataGridRowElement::setFocused):
96155         * html/HTMLDataGridRowElement.h: Added.
96156         (WebCore::HTMLDataGridRowElement::tagPriority):
96157         * html/HTMLDataGridRowElement.idl: Added.
96158         * html/HTMLTagNames.in:
96159
96160 2009-06-19  Yael Aharon <yael.aharon@nokia.com>
96161
96162         Reviewed by Holger Freyther.
96163
96164         https://bugs.webkit.org/show_bug.cgi?id=26556
96165
96166         Fix a crash in case that the QNetworkReply::readReady signal is
96167         "stuck" in deferred mode due to JavaScript alert, and in the meantime,
96168         QNetworkreply::finished signal is received and processed before
96169         QNetworkReply::readReady is processed.
96170
96171         * manual-tests/qt/unload-alert.html: Added.
96172         * platform/network/qt/QNetworkReplyHandler.cpp:
96173         (WebCore::QNetworkReplyHandler::setLoadMode):
96174         (WebCore::QNetworkReplyHandler::finish):
96175         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
96176         (WebCore::QNetworkReplyHandler::forwardData):
96177         (WebCore::QNetworkReplyHandler::start):
96178         (WebCore::QNetworkReplyHandler::sendQueuedItems):
96179         * platform/network/qt/QNetworkReplyHandler.h:
96180         (WebCore::QNetworkReplyHandler::):
96181
96182 2009-06-22  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
96183
96184         Fix the Qt build.
96185
96186         * WebCore.pro:
96187
96188 2009-06-21  Darin Adler  <darin@apple.com>
96189
96190         Reviewed by Sam Weinig.
96191
96192         Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type
96193         https://bugs.webkit.org/show_bug.cgi?id=25425
96194
96195         * bindings/scripts/CodeGeneratorJS.pm: Tweaked mechanism for includes to be a bit
96196         more consistent and to make SVGElement.h be included in the header rather than in
96197         every implementation file that includes the header. Added code to use getAttribute
96198         and setAttribute directly when the [Reflect] extended attribute is used.
96199
96200         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
96201
96202         * html/HTMLElement.idl: Used [Reflect] for all the attributes in this class that
96203         reflect content attributes. Restricting this to one class for now to keep the
96204         patch small and start out slowly.
96205
96206 2009-06-21  Sam Weinig  <sam@webkit.org>
96207
96208         Reviewed by Oliver Hunt.
96209
96210         Fix for https://bugs.webkit.org/show_bug.cgi?id=26596
96211         Only expose event handler attributes to elements and documents.
96212
96213         Test: fast/dom/event-attribute-availability.html
96214
96215         * dom/Document.idl:
96216         * dom/Element.idl:
96217         * dom/Node.cpp:
96218         * dom/Node.h:
96219         * dom/Node.idl:
96220
96221 2009-06-21  Daniel Bates  <dbates@intudata.com>
96222
96223         Reviewed by Adam Barth.
96224
96225         https://bugs.webkit.org/show_bug.cgi?id=26580
96226         
96227         Fix to enable XSSAuditor on child windows.
96228         
96229         Test: http/tests/security/xssAuditor/link-opens-new-window.html
96230         
96231         * page/XSSAuditor.cpp:
96232         (WebCore::XSSAuditor::XSSAuditor):
96233         (WebCore::XSSAuditor::isEnabled):
96234         (WebCore::XSSAuditor::canEvaluate):
96235         (WebCore::XSSAuditor::canCreateInlineEventListener):
96236         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
96237         (WebCore::XSSAuditor::canLoadObject):
96238         * page/XSSAuditor.h: Removed method setXSSAuditorEnabled, and field m_isEnabled.
96239         Moved implementation of isEnabled to XSSAuditor.cpp and changed implementation
96240         to query Settings.
96241
96242 2009-06-21  David Levin  <levin@chromium.org>
96243
96244         Reviewed by NOBODY.
96245
96246         Speculative windows build fix (idea by Mark Rowe).
96247
96248         * WebCore.vcproj/WebCore.vcproj:
96249
96250 2009-06-21  David Levin  <levin@chromium.org>
96251
96252         Reviewed by NOBODY (Speculative gtk build fix).
96253
96254         * GNUmakefile.am:
96255
96256 2009-06-21  David Levin  <levin@chromium.org>
96257
96258         Reviewed by NOBODY.
96259
96260         Speculative tiger build fix and a windows build fix.
96261         More fixes may still be in order.
96262
96263         * WebCore.vcproj/WebCoreCommon.vsprops:
96264         * dom/default/PlatformMessagePortChannel.h:
96265         (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
96266
96267 2009-06-21  David Levin  <levin@chromium.org>
96268
96269         Reviewed by NOBODY (Speculative tiger build fix).
96270
96271         * dom/default/PlatformMessagePortChannel.h:
96272         (WebCore::PlatformMessagePortChannel::MessagePortQueue::~MessagePortQueue):
96273
96274 2009-06-21  Drew Wilson  <atwilson@google.com>
96275
96276         Reviewed by David Levin.
96277
96278         <https://bugs.webkit.org/show_bug.cgi?id=26448>
96279         
96280         Added optimized GC for MessagePorts when the entangled port is run by the same thread.
96281         Fixed bug in isProxyFor() that was not properly throwing an exception when trying to clone the entangled port.
96282
96283         * bindings/js/JSDOMBinding.cpp:
96284         (WebCore::markActiveObjectsForContext):
96285         Now marks remotely entangled ports as in-use, in addition to those with pending activity.
96286         * bindings/js/JSMessagePortCustom.cpp:
96287         (WebCore::JSMessagePort::mark):
96288         Now checks if the entangled port is local (run by same thread) and if so mark()s it.
96289         * dom/MessagePort.cpp:
96290         (WebCore::MessagePort::postMessage):
96291         (WebCore::MessagePort::disentangle):
96292         Removes cloned ports from the ScriptExecutionContext - this allows cloned ports to be GC'd as otherwise they look like remotely entangled ports.
96293         (WebCore::MessagePort::start):
96294         (WebCore::MessagePort::locallyEntangledPort):
96295         Added API for fetching the entangled port if it is run by the same thread
96296         * dom/MessagePort.h:
96297         * dom/MessagePortProxyWrapper.h:
96298         * dom/default/MessagePortProxy.cpp:
96299         (WebCore::MessagePortProxyWrapper::locallyEntangledPort):
96300         Added API for fetching the entangled port if it is run by the same thread        
96301         (WebCore::MessagePortProxy::hasPendingActivity):
96302         Changed definition of hasPendingActivity() to be stricter - only returns true if there are pending messages.
96303         (WebCore::MessagePortProxy::locallyEntangledPort):
96304         * dom/default/MessagePortProxy.h:
96305
96306 2009-06-21  Drew Wilson  <atwilson@google.com>
96307
96308         Reviewed by David Levin.
96309
96310         <https://bugs.webkit.org/show_bug.cgi?id=25043>
96311         Removed obsolete MessagePort.startConversation(), active and onclose APIs.
96312
96313         Refactored MessagePortProxy into MessagePortChannel and a platform-dependent PlatformMessagePortChannel
96314         implementation. Modified APIs to simplify cross-process implementations by moving the messaging code
96315         entirely into the platform-dependent proxy.
96316
96317         Created a thread-safe default PlatformMessagePortChannel implementation.
96318
96319         Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how
96320         cross-thread MessagePorts work.
96321         
96322         * GNUMakefile.am:
96323         * WebCore.vcproj/WebCore.vcproj:
96324         * WebCore.xcodeproj/project.pbxproj:
96325             Added MessagePortChannel/PlatformMessagePortChannel files.
96326         * bindings/js/JSMessagePortCustom.cpp:
96327         (WebCore::JSMessagePort::mark):
96328             Changed ports to not mark their entangled pair as reachable, per the spec.
96329         * bindings/v8/custom/V8MessagePortCustom.cpp:
96330         * dom/MessageChannel.cpp:
96331         (WebCore::MessageChannel::MessageChannel):
96332             Updated to use PlatformMessagePortChannel::createChannel() to entangle the ports.
96333         * dom/MessagePort.cpp:
96334         (WebCore::MessagePort::MessagePort):
96335         (WebCore::MessagePort::~MessagePort):
96336         (WebCore::MessagePort::postMessage):
96337         (WebCore::MessagePort::disentangle):
96338         (WebCore::MessagePort::messageAvailable):
96339         (WebCore::MessagePort::start):
96340         (WebCore::MessagePort::close):
96341         (WebCore::MessagePort::entangle):
96342         (WebCore::MessagePort::contextDestroyed):
96343         (WebCore::MessagePort::dispatchMessages):
96344         (WebCore::MessagePort::setOnmessage):
96345         (WebCore::MessagePort::hasPendingActivity):
96346             Changed these APIs to delegate to new PlatformMessagePortChannel APIs.
96347         * dom/MessagePort.h:
96348             Renamed isQueueOpen() to started().
96349         * dom/MessagePort.idl:
96350             Removed startConversation and onclose.
96351         * dom/MessagePortProxy.h: Removed.
96352         * dom/MessagePortChannel.cpp: Added.
96353         (WebCore::MessagePortChannel::EventData::create):
96354         (WebCore::MessagePortChannel::EventData::EventData):
96355         (WebCore::MessagePortChannel::~MessagePortChannel):
96356         * dom/MessagePortChannel.h: Added.
96357         (WebCore::MessagePortChannel::EventData::message):
96358         (WebCore::MessagePortChannel::EventData::channel):
96359             Changed EventData to hold a reference to a MessagePortChannel object instead of a MessagePort to enable cross-thread messaging.
96360         (WebCore::MessagePortChannel::MessagePortChannel):
96361         (WebCore::MessagePortChannel::create):        
96362         * dom/ScriptExecutionContext.cpp:
96363         (WebCore:ScriptExecutionContext::dispatchMessagePortEvents):
96364             Renamed isQueueOpen() to started().
96365         * dom/default/PlatformMessagePortChannel.cpp: Added.
96366         (WebCore::MessagePortChannel::entangleIfOpen):
96367         (WebCore::MessagePortChannel::disentangle):
96368         (WebCore::MessagePortChannel::postMessageToRemote):
96369         (WebCore::MessagePortChannel::tryGetMessageFromRemote):
96370         (WebCore::MessagePortChannel::close):
96371         (WebCore::MessagePortChannel::isConnectedTo):
96372         (WebCore::MessagePortChannel::hasPendingActivity):
96373         (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
96374         (WebCore::PlatformMessagePortChannel::~PlatformMessagePortChannel):
96375         (WebCore::PlatformMessagePortChannel::createChannel):
96376         (WebCore::PlatformMessagePortChannel::entangleIfOpen):
96377         (WebCore::PlatformMessagePortChannel::disentangle):
96378         (WebCore::PlatformMessagePortChannel::setRemotePort):
96379         (WebCore::PlatformMessagePortChannel::remotePort):
96380         (WebCore::PlatformMessagePortChannel::entangledChannel):
96381         (WebCore::PlatformMessagePortChannel::setEntangledChannel):
96382         (WebCore::PlatformMessagePortChannel::postMessageToRemote):
96383         (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
96384         (WebCore::PlatformMessagePortChannel::isConnectedTo):
96385         (WebCore::PlatformMessagePortChannel::close):
96386         (WebCore::PlatformMessagePortChannel::closeInternal):
96387         (WebCore::PlatformMessagePortChannel::hasPendingActivity):
96388         * dom/default/PlatformMessagePortChannel.h: Added.
96389         (WebCore::PlatformMessagePortChannel::MessagePortQueue::create):
96390         (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
96391         (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
96392         (WebCore::PlatformMessagePortChannel::MessagePortQueue::isEmpty):
96393         (WebCore::PlatformMessagePortChannel::MessagePortQueue::MessagePortQueue):
96394         * page/DOMWindow.cpp:
96395         (WebCore::PostMessageTimer::PostMessageTimer):
96396             Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how cross-thread MessagePorts work.
96397         (WebCore::PostMessageTimer::event):
96398         (WebCore::DOMWindow::postMessage):
96399         (WebCore::DOMWindow::postMessageTimerFired):
96400
96401 2009-06-21  Dan Bernstein  <mitz@apple.com>
96402
96403         Reviewed by Sam Weinig.
96404
96405         - fix https://bugs.webkit.org/show_bug.cgi?id=15383
96406           <rdar://problem/5682745> resize: vertical does not restrict to vertical
96407           resize
96408
96409         Test: fast/css/resize-single-axis.html
96410
96411         * rendering/RenderLayer.cpp:
96412         (WebCore::RenderLayer::resize): Ignore movement along the non-resizing
96413         axis.
96414
96415 2009-06-21  Sam Weinig  <sam@webkit.org>
96416
96417         Reviewed by Eric Seidel
96418
96419         Fix for https://bugs.webkit.org/show_bug.cgi?id=26578
96420         event.currentTarget for listener registered on window should point to the window object like in Firefox
96421
96422         Test: fast/events/event-trace.html
96423
96424         * dom/Node.cpp:
96425         (WebCore::Node::dispatchGenericEvent): Make the DOMWindow the currentTarget when events are dispatched
96426         to it. We previously used the document because DOMWindow was not yet an EventTarget.
96427
96428 2009-06-21  Dan Bernstein  <mitz@apple.com>
96429
96430         Reviewed by Sam Weinig.
96431
96432         - fix https://bugs.webkit.org/show_bug.cgi?id=9694
96433           resize value not compared
96434
96435         Test: fast/css/resize-value-compared.html
96436
96437         * rendering/style/StyleRareInheritedData.cpp:
96438         (WebCore::StyleRareInheritedData::operator==): Compare the resize
96439         member.
96440
96441 2009-06-19  Alice Liu  <alice.liu@apple.com>
96442
96443         Fix https://bugs.webkit.org/show_bug.cgi?id=26568 
96444         Repro crash animating GIF if previously used in a closed window's back/forward list
96445         Also filed as <rdar://problem/6978362>
96446
96447         Reviewed by Maciej Stachowiak.
96448
96449         Can't test this bug with an automated layout test since it requires b/f caching 
96450         * manual-tests/animated-gif-bfcache-crash.html: Added.
96451         * manual-tests/resources/containsAnimatedGif.html: Added.
96452
96453         Adding checks for hostWindow() since there is no guarantee that the Page is alive
96454         * platform/ScrollView.cpp:
96455         (WebCore::ScrollView::scrollRectIntoViewRecursively):
96456         (WebCore::ScrollView::contentsToScreen):
96457         (WebCore::ScrollView::screenToContents):
96458         (WebCore::ScrollView::wheelEvent):
96459
96460 2009-06-20  Sam Weinig  <sam@webkit.org>
96461
96462         Reviewed by Adam Barth.
96463
96464         Fix for https://bugs.webkit.org/show_bug.cgi?id=26554
96465         Shadowing of top and parent
96466
96467         * page/DOMWindow.idl:
96468
96469 2009-06-20  Mark Rowe  <mrowe@apple.com>
96470
96471         Reviewed by Dan Bernstein.
96472
96473         Fix <https://bugs.webkit.org/show_bug.cgi?id=15106>.
96474         Bug 15106: REGRESSION: Can't drag text as element when user-select is set to none
96475
96476         We allow selections to begin within an element that has -webkit-user-select: none set,
96477         unless the element is draggable as dragging should take priority over starting a selection.
96478
96479         Test: editing/selection/user-drag-element-and-user-select-none.html
96480
96481         * dom/Node.cpp:
96482         (WebCore::Node::canStartSelection):
96483
96484 2009-06-20  Darin Adler  <darin@apple.com>
96485
96486         Reviewed by Dan Bernstein.
96487
96488         Bug 26528: REGRESSION (r44674): Assertion in TextIterator::pushFullyClippedState while counting matches for "a" on apple.com
96489         https://bugs.webkit.org/show_bug.cgi?id=26528
96490         rdar://problem/6985329
96491
96492         * editing/TextIterator.cpp:
96493         (WebCore::TextIterator::handleReplacedElement): When entering a text control,
96494         start at the top of the shadow tree (by calling shadowTreeRootNode). Also
96495         remove assumption that innerTextElement will never be 0 since RenderTextControl
96496         doesn't really guarantee this.
96497
96498 2009-06-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
96499
96500         Reviewed by NOBODY.
96501
96502         Speculative Qt build fix - add HTMLDataGridColElement to the build script.
96503
96504         * WebCore.pro:
96505
96506 2009-06-19  Adam Barth  <abarth@webkit.org>
96507
96508         Reviewed by Darin Adler.
96509
96510         https://bugs.webkit.org/show_bug.cgi?id=26561
96511
96512         Remove a memcpy by retrieving the already existing copy of a string
96513         instead of making a new one.
96514
96515         * bindings/js/ScriptSourceCode.h:
96516         (WebCore::ScriptSourceCode::ScriptSourceCode):
96517         (WebCore::ScriptSourceCode::source):
96518         * bindings/js/StringSourceProvider.h:
96519         (WebCore::StringSourceProvider::source):
96520
96521 2009-06-19  Brian Weinstein  <bweinstein@apple.com>
96522
96523         Reviewed by Steve Falkenburg.
96524         
96525         https://bugs.webkit.org/show_bug.cgi?id=26488
96526         No Support for Single Finger or Two Finger Panning in Windows 7
96527         
96528         The code in WebCore allows us to interpret a Pan gesture as
96529         a mousewheel event, and we are able to reuse the scrolling code.
96530         Another constructor was created in WheelEventWin which takes data
96531         better suited to the pan guesture than what was currently there. 
96532         
96533         Unable to add tests to simulate touch behavior/gestures.
96534
96535         * platform/PlatformWheelEvent.h:
96536         * platform/win/WheelEventWin.cpp:
96537
96538 2009-06-19  Chris Marrin  <cmarrin@apple.com>
96539
96540         Fixed a build error, which only shows up in the i386 compile
96541
96542         * platform/graphics/mac/GraphicsLayerCA.mm:
96543         (WebCore::GraphicsLayerCA::animateTransform):
96544
96545 2009-06-19  Simon Fraser  <simon.fraser@apple.com>
96546
96547         Reviewed by Oliver Hunt.
96548
96549         <rdar://problem/6988385> REGRESSION: In full page video player, movie's
96550         video track becomes detached from its controller.
96551         
96552         When in the media document, the MediaPlayer should not report that it
96553         is capable of hardware acceleration, because it renders via a QTMovieView
96554         which is already accelerated.
96555
96556         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
96557         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
96558
96559 2009-06-19  Kevin Ollivier  <kevino@theolliviers.com>
96560
96561         Adding XSSAuditor.cpp to the wx build.
96562
96563         * WebCoreSources.bkl:
96564
96565 2009-06-19  Chris Marrin  <cmarrin@apple.com>
96566
96567         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
96568
96569         https://bugs.webkit.org/show_bug.cgi?id=26544
96570
96571         If I am doing a Matrix hardware animation and any matrix is singular, I revert to software.
96572         This is not really testable, since we can't see what the hardware animation is doing.
96573
96574         * platform/graphics/mac/GraphicsLayerCA.mm:
96575         (WebCore::GraphicsLayerCA::animateTransform):
96576
96577 2009-06-19  Geoffrey Garen  <ggaren@apple.com>
96578
96579         Reviewed by Maciej Stachowiak.
96580         
96581         An additional fix for Bug 26532: Native functions do not correctly unlink
96582         from optimised callsites when they're collected
96583         <https://bugs.webkit.org/show_bug.cgi?id=26532> | <rdar://problem/6625385>
96584
96585         Use "NativeFunctionWrapper" instead of "PrototypeFunction" in cross-frame
96586         accessors, so the type of object you get to wrap a function is the same,
96587         regardless of whether the access to the function is cross-frame.
96588         
96589         This is faster and more idiomatic than what we had before. It also would
96590         have avoided Bug 26532 because it would have prevented a conflicting
96591         PrototypeFunction from being allocated to wrap postMessage, where a
96592         NativeFunctionWrapper had been allocated previously.
96593         
96594         * bindings/js/JSDOMBinding.cpp:
96595         (WebCore::objectToStringFunctionGetter):
96596         * bindings/js/JSDOMWindowCustom.cpp:
96597         (WebCore::nonCachingStaticFunctionGetter):
96598         * bindings/js/JSHistoryCustom.cpp:
96599         (WebCore::nonCachingStaticBackFunctionGetter):
96600         (WebCore::nonCachingStaticForwardFunctionGetter):
96601         (WebCore::nonCachingStaticGoFunctionGetter):
96602         * bindings/js/JSLocationCustom.cpp:
96603         (WebCore::nonCachingStaticReplaceFunctionGetter):
96604         (WebCore::nonCachingStaticReloadFunctionGetter):
96605         (WebCore::nonCachingStaticAssignFunctionGetter):
96606
96607 2009-06-19  Simon Fraser  <simon.fraser@apple.com>
96608
96609         Reviewed by John Sullivan
96610
96611         <rdar://problem/6953673> Crash in RenderLayerCompositor::setCompositingParent
96612         
96613         Fix a crash that could occur in complex content due to timing issues
96614         when doing a partial layer tree rebuild which is required when painting;
96615         setCompositingParent() could be called with a parent which has not been made
96616         compositing yet.
96617
96618 2009-06-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
96619
96620         Build fix. Adding missing HTMLDataGrid* files to the build.
96621
96622         * GNUmakefile.am:
96623
96624 2009-06-19  Peter Kasting  <pkasting@google.com>
96625
96626         Reviewed by Eric Seidel.
96627
96628         https://bugs.webkit.org/show_bug.cgi?id=26460 part three
96629         Make BMPImageReader a standalone class that is used by ICOImageDecoder
96630         and BMPImageDecoder to decode individual BMPs within a file.  These
96631         decoders now inherit directly from ImageDecoder.
96632         
96633         This also makes these decoders decode on-demand in isSizeAvailable() and
96634         frameBufferAtIndex(), like the other decoders, instead of when setData()
96635         is called, like before.  This should provide a speedup on pages
96636         containing BMPs that aren't immediately onscreen.
96637
96638         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
96639         (WebCore::BMPImageDecoder::BMPImageDecoder):
96640         (WebCore::BMPImageDecoder::setData):
96641         (WebCore::BMPImageDecoder::isSizeAvailable):
96642         (WebCore::BMPImageDecoder::frameBufferAtIndex):
96643         (WebCore::BMPImageDecoder::decodeWithCheckForDataEnded):
96644         (WebCore::BMPImageDecoder::decode):
96645         (WebCore::BMPImageDecoder::processFileHeader):
96646         * platform/image-decoders/bmp/BMPImageDecoder.h:
96647         (WebCore::BMPImageDecoder::readUint32):
96648         * platform/image-decoders/bmp/BMPImageReader.cpp:
96649         (WebCore::BMPImageReader::BMPImageReader):
96650         (WebCore::BMPImageReader::decodeBMP):
96651         (WebCore::BMPImageReader::readInfoHeaderSize):
96652         (WebCore::BMPImageReader::processInfoHeader):
96653         (WebCore::BMPImageReader::readInfoHeader):
96654         (WebCore::BMPImageReader::processBitmasks):
96655         (WebCore::BMPImageReader::processColorTable):
96656         (WebCore::BMPImageReader::processRLEData):
96657         (WebCore::BMPImageReader::processNonRLEData):
96658         (WebCore::BMPImageReader::setFailed):
96659         * platform/image-decoders/bmp/BMPImageReader.h:
96660         (WebCore::BMPImageReader::readUint16):
96661         (WebCore::BMPImageReader::readUint32):
96662         (WebCore::BMPImageReader::setBuffer):
96663         (WebCore::BMPImageReader::setData):
96664         (WebCore::BMPImageReader::):
96665         (WebCore::BMPImageReader::pastEndOfImage):
96666         (WebCore::BMPImageReader::readCurrentPixel):
96667         (WebCore::BMPImageReader::setRGBA):
96668         * platform/image-decoders/ico/ICOImageDecoder.cpp:
96669         (WebCore::ICOImageDecoder::ICOImageDecoder):
96670         (WebCore::ICOImageDecoder::setData):
96671         (WebCore::ICOImageDecoder::isSizeAvailable):
96672         (WebCore::ICOImageDecoder::size):
96673         (WebCore::ICOImageDecoder::frameBufferAtIndex):
96674         (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded):
96675         (WebCore::ICOImageDecoder::decode):
96676         (WebCore::ICOImageDecoder::processDirectory):
96677         (WebCore::ICOImageDecoder::processDirectoryEntries):
96678         (WebCore::ICOImageDecoder::readDirectoryEntry):
96679         (WebCore::ICOImageDecoder::processImageType):
96680         * platform/image-decoders/ico/ICOImageDecoder.h:
96681         (WebCore::ICOImageDecoder::readUint16):
96682         (WebCore::ICOImageDecoder::readUint32):
96683
96684 2009-06-19  Adam Barth  <abarth@webkit.org>
96685
96686         Reviewed by Dimitri Glazkov.
96687
96688         https://bugs.webkit.org/show_bug.cgi?id=26555
96689
96690         Fix the Chromium canary bot.  Turns out ScriptSourceCode doesn't have
96691         the same API in V8 and JSC.
96692
96693         * WebCore/bindings/js/ScriptController.cpp:
96694         * WebCore/bindings/js/ScriptSourceCode.h:
96695         * WebCore/bindings/v8/ScriptController.cpp:
96696         * WebCore/page/XSSAuditor.cpp:
96697         * WebCore/page/XSSAuditor.h:
96698
96699 2009-06-19  David Hyatt  <hyatt@apple.com>
96700
96701         Reviewed by Anders Carlsson.
96702
96703         https://bugs.webkit.org/show_bug.cgi?id=26547
96704         
96705         Implement the IDL interface for HTMLDataGridColElement.
96706
96707         * DerivedSources.cpp:
96708         * DerivedSources.make:
96709         * GNUmakefile.am:
96710         * WebCore.pro:
96711         * WebCore.vcproj/WebCore.vcproj:
96712         * WebCore.xcodeproj/project.pbxproj:
96713         * WebCoreSources.bkl:
96714         * html/HTMLAttributeNames.in:
96715         * html/HTMLDataGridColElement.cpp: Added.
96716         (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
96717         (WebCore::HTMLDataGridColElement::label):
96718         (WebCore::HTMLDataGridColElement::setLabel):
96719         (WebCore::HTMLDataGridColElement::type):
96720         (WebCore::HTMLDataGridColElement::setType):
96721         (WebCore::HTMLDataGridColElement::sortable):
96722         (WebCore::HTMLDataGridColElement::setSortable):
96723         (WebCore::HTMLDataGridColElement::sortDirection):
96724         (WebCore::HTMLDataGridColElement::setSortDirection):
96725         (WebCore::HTMLDataGridColElement::selected):
96726         (WebCore::HTMLDataGridColElement::setSelected):
96727         * html/HTMLDataGridColElement.h: Added.
96728         (WebCore::HTMLDataGridColElement::endTagRequirement):
96729         (WebCore::HTMLDataGridColElement::tagPriority):
96730         * html/HTMLDataGridColElement.idl: Added.
96731         * html/HTMLDataGridElement.h:
96732         * html/HTMLElementsAllInOne.cpp:
96733         * html/HTMLTagNames.in:
96734         * page/DOMWindow.idl:
96735
96736 2009-06-19  Chris Evans  <scarybeasts@gmail.com>
96737
96738         Reviewed by Eric Seidel.
96739
96740         There is no new test because this cannot be tested deterministically.
96741         I've not been able to cause a crash at all in the test framework, but
96742         I have verified that this is happening in the wild and that the patch
96743         fixes the likely cause in the debugger.
96744
96745         * loader/TextResourceDecoder.cpp: careful not to iterate off the end
96746           of our input buffer looking for the end of the comment.
96747
96748 2009-06-19  Adam Barth  <abarth@webkit.org>
96749
96750         Reviewed by Dimitri Glazkov.
96751
96752         https://bugs.webkit.org/show_bug.cgi?id=26536
96753
96754         Fix external-script-URL-location.html and
96755         write-external-script-open.html LayoutTests.
96756
96757         implicitOpen is called from several places.  We need to setXSSAuditor
96758         each time, so I moved the call inside implicitOpen.
96759
96760         * dom/Document.cpp:
96761         (WebCore::Document::open):
96762         (WebCore::Document::implicitOpen):
96763         * loader/FrameLoader.cpp:
96764         (WebCore::FrameLoader::begin):
96765
96766 2009-06-19  Kent Tamura  <tkent@chromium.org>
96767
96768         Reviewed by David Levin.
96769
96770         Use WebCore::multipleFileUploadText() in Chromium to fix a problem
96771         that Chromium shows only the first filename even if a user selects
96772         multiple files for <input type=file multiple>.
96773         <https://bugs.webkit.org/show_bug.cgi?id=26502>
96774
96775         * platform/chromium/FileChooserChromium.cpp:
96776         (WebCore::FileChooser::basenameForWidth):
96777
96778 2009-06-19  Dan Bernstein  <mitz@apple.com>
96779
96780         Reviewed by Dave Hyatt.
96781
96782         - fix <rdar://problem/6967596> Safari hung using 100% CPU when I tried
96783           to look up a word in Dictionary using command-control-d
96784
96785         Test: editing/selection/move-by-line-005.html
96786
96787         The root cause of this bug was searchAheadForBetterMatch() continuing
96788         past the first rendered text object after the given object. While we
96789         want to skip non-rendered text and empty containers, when we encounter
96790         rendered text object, we must return a text box for that object.
96791
96792         * dom/Position.cpp:
96793         (WebCore::searchAheadForBetterMatch):
96794
96795 2009-06-19  Jungshik Shin  <jshin@chromium.org>
96796
96797         Reviewed by David Levin
96798
96799         https://bugs.webkit.org/show_bug.cgi?id=25657
96800
96801         Chromium Linux port does not handle non-BMP characters properly.
96802         It's fixed with a 'UTF-16 iterator macro' to extract Unicode
96803         codepoints out of a UTF-16 input string.
96804
96805         A manual test is added for non-BMP character rendering,
96806         which we can use until a small freely-distributable font
96807         covering non-BMP is added to the Webkit source tree.
96808
96809
96810         * platform/graphics/chromium/FontCacheLinux.cpp:
96811         (WebCore::FontCache::getFontDataForCharacters):
96812         * manual-tests/non-bmp.html: Added.
96813
96814 2009-06-19  Pavel Feldman  <pfeldman@chromium.org>
96815
96816         Reviewed by Dimitri Glazkov.
96817
96818         V8 Bindings: return proper state from the script stack.
96819
96820         https://bugs.webkit.org/show_bug.cgi?id=26512
96821
96822         * bindings/v8/ScriptCallStack.cpp:
96823         (WebCore::ScriptCallStack::ScriptCallStack):
96824         * bindings/v8/ScriptCallStack.h:
96825         (WebCore::ScriptCallStack::state):
96826
96827 2009-06-19  Jessie Berlin  <jberlin@apple.com>
96828
96829         Reviewed by Simon Fraser.
96830
96831         Windows build fix.
96832         
96833         * platform/graphics/cg/PatternCG.cpp:
96834         (WebCore::Pattern::createPlatformPattern):
96835
96836 2009-06-19  Yael Aharon  <yael.aharon@nokia.com>
96837
96838         Reviewed by Simon Hausmann.
96839         Build fix after 44825.
96840
96841         * platform/graphics/qt/ImageDecoderQt.cpp:
96842         (WebCore::ImageDecoderQt::isSizeAvailable):
96843         * platform/graphics/qt/ImageDecoderQt.h:
96844
96845 2009-06-18  Shinichiro Hamaji  <hamaji@chromium.org>
96846
96847         Reviewed by Oliver Hunt.
96848
96849         Bug 26426: Canvas: rotation of 'no-repeat' pattern is weird
96850         <https://bugs.webkit.org/show_bug.cgi?id=26426>
96851
96852         Use 1<<23-1 as steps of no-repeat patterns instead of 100000000.0f.
96853         The original number cannot be represented by mantissa of float
96854         (23bit) so that it caused some error.
96855
96856         Test: fast/canvas/image-object-in-canvas.html:
96857
96858         * platform/graphics/cg/PatternCG.cpp:
96859         (WebCore::Pattern::createPlatformPattern):
96860
96861 2009-06-19  Adam Barth  <abarth@webkit.org>
96862
96863         Unreviewed attempt to fix the Chromium build.
96864
96865         * bindings/v8/ScriptController.cpp:
96866         (WebCore::ScriptController::ScriptController):
96867         (WebCore::ScriptController::evaluate):
96868         * bindings/v8/ScriptController.h:
96869         (WebCore::ScriptController::xssAuditor):
96870         * bindings/v8/ScriptEventListener.cpp:
96871         (WebCore::createAttributeEventListener):
96872
96873 2009-06-18  Adam Barth  <abarth@webkit.org>
96874
96875         Reviewed by Sam Weinig.
96876
96877         https://bugs.webkit.org/show_bug.cgi?id=26199
96878
96879         Added an experimental reflective XSS filter.  The filter is disabled by
96880         default.
96881
96882         Test: http/tests/security/xssAuditor/script-tag.html
96883
96884         * GNUmakefile.am:
96885         * WebCore.base.exp:
96886         * WebCore.pro:
96887         * WebCore.vcproj/WebCore.vcproj:
96888         * WebCore.xcodeproj/project.pbxproj:
96889         * bindings/js/ScriptController.cpp:
96890         (WebCore::ScriptController::ScriptController):
96891         (WebCore::ScriptController::evaluate):
96892         * bindings/js/ScriptController.h:
96893         (WebCore::ScriptController::xssAuditor):
96894         * bindings/js/ScriptEventListener.cpp:
96895         (WebCore::createAttributeEventListener):
96896         * dom/Tokenizer.h:
96897         (WebCore::Tokenizer::xssAuditor):
96898         (WebCore::Tokenizer::setXSSAuditor):
96899         (WebCore::Tokenizer::Tokenizer):
96900         * html/HTMLTokenizer.cpp:
96901         (WebCore::HTMLTokenizer::scriptHandler):
96902         * loader/FrameLoader.cpp:
96903         (WebCore::FrameLoader::begin):
96904         (WebCore::FrameLoader::requestObject):
96905         * page/Settings.cpp:
96906         (WebCore::Settings::Settings):
96907         (WebCore::Settings::setXSSAuditorEnabled):
96908         * page/Settings.h:
96909         (WebCore::Settings::xssAuditorEnabled):
96910         * page/XSSAuditor.cpp: Added.
96911         (WebCore::isControlCharacter):
96912         (WebCore::XSSAuditor::XSSAuditor):
96913         (WebCore::XSSAuditor::~XSSAuditor):
96914         (WebCore::XSSAuditor::canEvaluate):
96915         (WebCore::XSSAuditor::canCreateInlineEventListener):
96916         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
96917         (WebCore::XSSAuditor::canLoadObject):
96918         (WebCore::XSSAuditor::decodeURL):
96919         (WebCore::XSSAuditor::findInRequest):
96920         * page/XSSAuditor.h: Added.
96921         (WebCore::XSSAuditor::isEnabled):
96922         (WebCore::XSSAuditor::setXSSAuditorEnabled):
96923
96924 2009-06-18  Dirk Schulze  <krit@webkit.org>
96925
96926         Reviewed by Oliver Hunt.
96927
96928         feOffset and objectBoundingBox
96929         [https://bugs.webkit.org/show_bug.cgi?id=26441]
96930
96931         If we use objectBoundingBox for primitiveUnits, the fractions given
96932         to dx or dy of feOffset must be multiplied with the referenced objects
96933         objectBoundingBox size.
96934
96935         Test: svg/filters/feOffset.svg
96936
96937         * svg/graphics/filters/SVGFEOffset.cpp:
96938         (WebCore::FEOffset::apply):
96939
96940 2009-06-18  Dirk Schulze  <krit@webkit.org>
96941
96942         Reviewed by Oliver Hunt.
96943
96944         feTile implementation missing
96945         [https://bugs.webkit.org/show_bug.cgi?id=26419]
96946
96947         Implementation of feTile, a pattern effect for SVG filters. It was
96948         necessary to modify FilterEffect since source inputs need a secial
96949         logic and we have to identify if an effect is a source input.
96950
96951         Tests: svg/batik/filters/feTile.svg
96952                svg/filters/feTile.svg
96953
96954         * platform/graphics/filters/FilterEffect.h:
96955         (WebCore::FilterEffect::isSourceInput):
96956         * platform/graphics/filters/SourceAlpha.h:
96957         (WebCore::SourceAlpha::isSourceInput):
96958         * platform/graphics/filters/SourceGraphic.h:
96959         (WebCore::SourceGraphic::isSourceInput):
96960         * svg/graphics/filters/SVGFETile.cpp:
96961         (WebCore::FETile::apply):
96962
96963 2009-06-18  Dirk Schulze  <krit@webkit.org>
96964
96965         Reviewed by Oliver Hunt.
96966
96967         feMerge implementation
96968         [https://bugs.webkit.org/show_bug.cgi?id=26480]
96969
96970         Added feMerge to the SVG Filter system.
96971
96972         Test: svg/filters/feMerge.svg
96973
96974         * svg/graphics/filters/SVGFEMerge.cpp:
96975         (WebCore::FEMerge::uniteChildEffectSubregions):
96976         (WebCore::FEMerge::apply):
96977         * svg/graphics/filters/SVGFEMerge.h:
96978
96979 2009-06-18  Mark Rowe  <mrowe@apple.com>
96980
96981         Speculative Windows build fix.
96982
96983         * page/win/FrameCGWin.cpp: Add missing #include.
96984
96985 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
96986
96987         Reviewed by Dave Levin.
96988
96989         https://bugs.webkit.org/show_bug.cgi?id=26425
96990         Final refactorings, picking up a few places where BitmapInfo
96991         could be used.
96992
96993         * page/win/FrameCGWin.cpp:
96994         (WebCore::imageFromRect):
96995         * platform/win/CursorWin.cpp:
96996         (WebCore::Cursor::Cursor):
96997         * platform/win/PopupMenuWin.cpp:
96998         (WebCore::PopupMenu::paint):
96999
97000 2009-06-18  Chris Fleizach  <cfleizach@apple.com>
97001
97002         Reviewed by Darin Adler.
97003
97004         Bug 26522: In DOM mode, VoiceOver reads some mouseover text on web sites strangely
97005         https://bugs.webkit.org/show_bug.cgi?id=26522
97006
97007         Test: accessibility/non-data-table-cell-title-ui-element.html
97008
97009         * accessibility/AccessibilityTableCell.cpp:
97010         (WebCore::AccessibilityTableCell::titleUIElement):
97011
97012 2009-06-18  Kevin Ollivier  <kevino@theolliviers.com>
97013
97014         wx build fix after recent RenderTheme changes.
97015
97016         * platform/wx/RenderThemeWx.cpp:
97017         (WebCore::RenderThemeWx::~RenderThemeWx):
97018         (WebCore::RenderTheme::themeForPage):
97019
97020 2009-06-18  Peter Kasting  <pkasting@google.com>
97021
97022         Reviewed by Eric Seidel.
97023
97024         https://bugs.webkit.org/show_bug.cgi?id=26460 part two
97025         Attempt to minimize diff of following functional change by first landing
97026         non-functional change to:
97027         * Make readUintX() public and static (since they will need to be once
97028           BMPImageReader is included in *ImageDecoder via composition rather
97029           than inheritance).  Add wrappers in each class so callers can be
97030           simpler.  In the next patch, these wrappers will be beefed up slightly
97031           and the callers will get even simpler.
97032         * Change direct setting of m_failed to use setFailed(), since in the
97033           next patch much of this code won't even have direct access to m_failed
97034         * Add a helper function in ICOImageDecoder to determine the image type
97035           instead of simply doing it inline
97036         * Rewrap lines that used to be <=80 cols and slipped over it during the
97037           original landing of these decoders
97038         * Other misc. changes, e.g. adding constructor definitions, reordering
97039           functions, changing RGBA32Buffer& to RGBA32Buffer*, etc. that have no
97040           functional effect but minimize the subsequent diff for readability
97041
97042
97043         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
97044         (WebCore::BMPImageDecoder::BMPImageDecoder):
97045         (WebCore::BMPImageDecoder::processFileHeader):
97046         * platform/image-decoders/bmp/BMPImageDecoder.h:
97047         (WebCore::BMPImageDecoder::readUint32):
97048         * platform/image-decoders/bmp/BMPImageReader.cpp:
97049         (WebCore::BMPImageReader::decodeBMP):
97050         (WebCore::BMPImageReader::getInfoHeaderSize):
97051         (WebCore::BMPImageReader::processInfoHeader):
97052         (WebCore::BMPImageReader::readInfoHeader):
97053         (WebCore::BMPImageReader::processBitmasks):
97054         (WebCore::BMPImageReader::processColorTable):
97055         (WebCore::BMPImageReader::processRLEData):
97056         (WebCore::BMPImageReader::processNonRLEData):
97057         * platform/image-decoders/bmp/BMPImageReader.h:
97058         (WebCore::BMPImageReader::readUint16Helper):
97059         (WebCore::BMPImageReader::readUint32Helper):
97060         (WebCore::BMPImageReader::):
97061         (WebCore::BMPImageReader::readUint16):
97062         (WebCore::BMPImageReader::readUint32):
97063         (WebCore::BMPImageReader::readCurrentPixel):
97064         (WebCore::BMPImageReader::getComponent):
97065         (WebCore::BMPImageReader::setI):
97066         (WebCore::BMPImageReader::setRGBA):
97067         (WebCore::BMPImageReader::fillRGBA):
97068         * platform/image-decoders/ico/ICOImageDecoder.cpp:
97069         (WebCore::ICOImageDecoder::ICOImageDecoder):
97070         (WebCore::ICOImageDecoder::isSizeAvailable):
97071         (WebCore::ICOImageDecoder::size):
97072         (WebCore::ICOImageDecoder::decodeImage):
97073         (WebCore::ICOImageDecoder::processDirectory):
97074         (WebCore::ICOImageDecoder::processDirectoryEntries):
97075         (WebCore::ICOImageDecoder::isBetterEntry):
97076         (WebCore::ICOImageDecoder::processImageType):
97077         * platform/image-decoders/ico/ICOImageDecoder.h:
97078         (WebCore::ICOImageDecoder::readUint16):
97079         (WebCore::ICOImageDecoder::readUint32):
97080
97081 2009-06-18  Peter Kasting  <pkasting@google.com>
97082
97083         Fix build bustage.
97084
97085         * platform/image-decoders/gif/GIFImageDecoder.h:
97086
97087 2009-06-18  Kevin McCullough  <kmccullough@apple.com>
97088
97089         Reviewed by Oliver Hunt.
97090
97091         <rdar://problem/6940880> REGRESSION: Breakpoints don't break in 64-bit
97092
97093         Convert intptr_t to Strings so that we don't loose bits in the
97094         conversion to JS.  Previously they were being put into 32bit ints.
97095
97096         * inspector/InspectorController.cpp: Convert the String back to an
97097         intptr_t.
97098         (WebCore::InspectorController::addBreakpoint):
97099         (WebCore::InspectorController::removeBreakpoint):
97100         * inspector/InspectorController.h:
97101         * inspector/InspectorController.idl: Use strings in JS to avoid 32bit
97102         truncation.
97103         * inspector/InspectorFrontend.cpp: Make the intptr_t into a String.
97104         (WebCore::InspectorFrontend::parsedScriptSource):
97105         * platform/text/PlatformString.h: Implemented the necessary conversion
97106         functions to be able to convert to and from an intptr_t.
97107         * platform/text/String.cpp: Ditto.
97108         (WebCore::String::toIntPtrStrict):
97109         (WebCore::String::toIntPtr):
97110         (WebCore::charactersToIntPtrStrict):
97111         (WebCore::charactersToIntPtr):
97112         * platform/text/StringImpl.cpp: Ditto.
97113         (WebCore::StringImpl::toIntPtrStrict):
97114         (WebCore::StringImpl::toIntPtr):
97115         * platform/text/StringImpl.h: Ditto.
97116
97117 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
97118
97119         Reviewed by Eric Seidel.
97120
97121         Final cleanups in this refactoring:
97122         (1) Move WindowsBitmap implementation from CG-specific file to
97123             the platform-common GraphicsContextWin.cpp, since it is
97124             equally useful on both platforms.
97125         (2) Revise the TransformationMatrix logic as suggested by
97126             Adam Roben in his review comments to Part #2 of this
97127             refactoring.
97128
97129         * platform/graphics/win/GraphicsContextCGWin.cpp:
97130         * platform/graphics/win/GraphicsContextWin.cpp:
97131         (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap):
97132         (WebCore::GraphicsContext::WindowsBitmap::~WindowsBitmap):
97133         (WebCore::GraphicsContext::createWindowsBitmap):
97134         (WebCore::GraphicsContext::getWindowsContext):
97135         (WebCore::GraphicsContextPlatformPrivate::scale):
97136         (WebCore::GraphicsContextPlatformPrivate::rotate):
97137         (WebCore::GraphicsContextPlatformPrivate::translate):
97138         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
97139
97140 2009-06-18  Peter Kasting  <pkasting@google.com>
97141
97142         Reviewed by Eric Seidel.
97143
97144         https://bugs.webkit.org/show_bug.cgi?id=26460 part one
97145         Make isSizeAvailable non-const, since it's not logically const (it
97146         triggers lazy decoding), and simplify all the implementations (without
97147         changing behavior; just make less verbose).  Remove some other
97148         inappropriate consts, which enables the removal of all the mutable
97149         declarations in the decoders.
97150
97151         * platform/image-decoders/ImageDecoder.h:
97152         (WebCore::ImageDecoder::isSizeAvailable):
97153         (WebCore::ImageDecoder::setSize): Make public to avoid needing a friend declaration in the JPEG decoder, and because the ICO/BMP decoders will soon need this.
97154         * platform/image-decoders/gif/GIFImageDecoder.cpp:
97155         (WebCore::GIFImageDecoder::isSizeAvailable):
97156         (WebCore::GIFImageDecoder::repetitionCount):
97157         (WebCore::GIFImageDecoder::decode):
97158         * platform/image-decoders/gif/GIFImageDecoder.h:
97159         * platform/image-decoders/ico/ICOImageDecoder.cpp:
97160         (WebCore::ICOImageDecoder::isSizeAvailable):
97161         * platform/image-decoders/ico/ICOImageDecoder.h:
97162         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
97163         (WebCore::JPEGImageDecoder::isSizeAvailable):
97164         (WebCore::JPEGImageDecoder::decode):
97165         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
97166         * platform/image-decoders/png/PNGImageDecoder.cpp:
97167         (WebCore::PNGImageDecoder::isSizeAvailable):
97168         (WebCore::PNGImageDecoder::decode):
97169         * platform/image-decoders/png/PNGImageDecoder.h:
97170         * platform/image-decoders/xbm/XBMImageDecoder.cpp:
97171         (WebCore::XBMImageDecoder::isSizeAvailable):
97172         (WebCore::XBMImageDecoder::frameBufferAtIndex):
97173         (WebCore::XBMImageDecoder::decode):
97174         * platform/image-decoders/xbm/XBMImageDecoder.h: Rename decodeXBM() to decode() for consistency with the JPEG/PNG decoders, and in the future the ICO/BMP decoders.
97175
97176 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
97177
97178         Reviewed by Eric Seidel.
97179
97180         Move some common functions out of platform files and into
97181         the common implementation.
97182
97183         https://bugs.webkit.org/show_bug.cgi?id=26425.
97184         Add a new platform context method (flush) so that the
97185         getWindowsContext method can be consolidated into the common
97186         GraphicsContextWin.cpp file.
97187          
97188         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
97189         (WebCore::GraphicsContextPlatformPrivate::flush):
97190         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
97191         (WebCore::GraphicsContextPlatformPrivate::flush):
97192         * platform/graphics/win/GraphicsContextCGWin.cpp: Remove
97193           getWindowContext method.
97194         * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove
97195           getWindowContext method and fillWithClearColor methods.
97196         * platform/graphics/win/GraphicsContextWin.cpp:
97197         (WebCore::fillWithClearColor): Moved from *CairoWin.cpp
97198         (WebCore::GraphicsContext::getWindowsContext): Moved
97199           from *CairoWin.cpp
97200
97201 2009-06-18  Ojan Vafai  <ojan@chromium.org>
97202
97203         Reviewed by Oliver Hunt.
97204
97205         Remove code that I accidentally committed in r44811.
97206
97207         * editing/markup.cpp:
97208         (WebCore::createMarkup):
97209
97210 2009-06-18  Simon Fraser  <simon.fraser@apple.com>
97211
97212         Reviewed by Dan Bernstein.
97213
97214         <rdar://problem/6983207> Non-layer content is not re-rendered when transition
97215         starts sometimes (with hardware acceleration).
97216         
97217         When deciding which RenderLayers should be composited, when a layer goes into
97218         compositing mode we repaint the old location. However, we did that before
97219         we'd looked at all the factors that may force a layer to composite, so missed
97220         some cases. Fix by doing the repaint once we really know whether it's going
97221         to composite.
97222
97223         Test: compositing/repaint/become-overlay-composited-layer.html
97224
97225         * rendering/RenderLayerCompositor.cpp:
97226         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
97227
97228 2009-06-18  Simon Fraser  <simon.fraser@apple.com>
97229
97230         Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined, and
97231         the Tiger build where QTMovieLayer does not exist.
97232
97233         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
97234         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
97235         (WebCore::MediaPlayerPrivate::createQTMovieLayer):
97236         (WebCore::MediaPlayerPrivate::destroyQTMovieLayer):
97237         (WebCore::MediaPlayerPrivate::currentRenderingMode):
97238         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
97239         (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
97240         (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering):
97241
97242 2009-06-18  Simon Fraser  <simon.fraser@apple.com>
97243
97244         Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined.
97245
97246         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
97247         (WebCore::MediaPlayerPrivate::currentRenderingMode):
97248         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
97249         (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
97250
97251 2009-06-17  Erik Arvidsson  <arv@chromium.org>
97252
97253         Reviewed by Adele Peterson.
97254
97255         https://bugs.webkit.org/show_bug.cgi?id=15189
97256         Adds the HTML5 input event support for textarea.
97257         
97258         Also, moves the oninput attribute parse handling to HTMLElement so that
97259         it can be set on any HTML element so that bubbling events can be handled
97260         using HTML attribute handlers.
97261
97262         Test: fast/forms/textarea-input-event.html
97263
97264         * html/HTMLElement.cpp:
97265         (WebCore::HTMLElement::parseMappedAttribute):
97266         * html/HTMLInputElement.cpp:
97267         (WebCore::HTMLInputElement::parseMappedAttribute):
97268         * rendering/RenderTextControlMultiLine.cpp:
97269         (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
97270
97271 2009-06-18  Dirk Schulze  <krit@webkit.org>
97272
97273         Reviewed by Oliver Hunt.
97274
97275         Share code between filterEffects
97276         [https://bugs.webkit.org/show_bug.cgi?id=26479]
97277
97278         Share more code of filter effects. The imageBuffer creation can move to
97279         FilterEffect ant every effect asks for the GraphicsContext. Move the
97280         drawingRect calculation to FilterEffect.
97281
97282         * platform/graphics/filters/FilterEffect.cpp:
97283         (WebCore::FilterEffect::calculateDrawingRect):
97284         (WebCore::FilterEffect::getEffectContext):
97285         * platform/graphics/filters/FilterEffect.h:
97286         * platform/graphics/filters/SourceGraphic.cpp:
97287         (WebCore::SourceGraphic::apply):
97288         * svg/graphics/filters/SVGFEFlood.cpp:
97289         (WebCore::FEFlood::apply):
97290         * svg/graphics/filters/SVGFEOffset.cpp:
97291         (WebCore::FEOffset::apply):
97292
97293 2009-06-18  Simon Fraser  <simon.fraser@apple.com>
97294
97295         Reviewed by Dave Hyatt.
97296         
97297         https://bugs.webkit.org/show_bug.cgi?id=26499
97298         
97299         Support hardware-accelerationed rendering of video elements.
97300
97301         * html/HTMLMediaElement.cpp:
97302         (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks):
97303         (WebCore::HTMLMediaElement::mediaPlayerRepaint):
97304         Just move these methods to group the render-related methods together.
97305         
97306         (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
97307         Call out method to ask the RenderLayerCompositor if presentation of this video
97308         can be acclerated. It might say no, if, for example, the video has a reflection.
97309         
97310         (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
97311         Fetch the GraphicsLayer from the RenderVideo that will host the movie layer.
97312         
97313         * html/HTMLMediaElement.h:
97314         Reordered the rendering-related methods, and added two methods related to video
97315         acceleration.
97316         
97317         * platform/graphics/MediaPlayer.cpp:
97318         (WebCore::MediaPlayer::acceleratedRenderingStateChanged):
97319         Called by the rendering system when it determines that the video must go into, or
97320         fall off of the hardware-accelerated path.
97321         
97322         (WebCore::MediaPlayer::supportsAcceleratedRendering):
97323         Method to say whether the media engine supports accelerated rendering.
97324         
97325         * platform/graphics/MediaPlayer.h:
97326         (WebCore::MediaPlayerClient::mediaPlayerRepaint):
97327         (WebCore::MediaPlayerClient::mediaPlayerSizeChanged):
97328         Moved.
97329         
97330         (WebCore::MediaPlayerClient::mediaPlayerRenderingCanBeAccelerated):
97331         (WebCore::MediaPlayerClient::mediaPlayerGraphicsLayer):
97332         New methods to ask the client if the rendering system can support accelerated
97333         rendering, and to get a GraphicsLayer to plug the movie layer into.
97334         
97335         * platform/graphics/MediaPlayerPrivate.h:
97336         (WebCore::MediaPlayerPrivateInterface::supportsAcceleratedRendering):
97337         (WebCore::MediaPlayerPrivateInterface::acceleratedRenderingStateChanged):
97338         Forwarding methods from MediaPlayer.
97339         
97340         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
97341         Some new methods related to using a QTMovieLayer, and to simplify the rendering mode logic.
97342
97343         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
97344         (WebCore::MediaPlayerPrivate::createQTMovieLayer):
97345         (WebCore::MediaPlayerPrivate::destroyQTMovieLayer):
97346         Methods to create and destroy the QTMovieLayer.
97347         
97348         (WebCore::MediaPlayerPrivate::currentRenderingMode):
97349         (WebCore::MediaPlayerPrivate::preferredRenderingMode):
97350         Methods to clarify the code that decides which of the 3 rendering modes to use.
97351         
97352         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
97353         Changed to use the new rendering mode methods.
97354         
97355         (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
97356         Destroy the layer if we have one.
97357         
97358         (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering):
97359         Small utility method.
97360         
97361         (WebCore::MediaPlayerPrivate::updateStates):
97362         Move the call to setUpVideoRendering() to before we send out the state notifications,
97363         so that we will have created the rendering objects already.
97364         
97365         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
97366         Return true if we have QTMovieLayer.
97367         
97368         (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
97369         We've been told that we went into or out of accelerated mode; maybe reset
97370         the renderer, and set the layer if we have to.
97371         
97372         * rendering/RenderLayer.cpp:
97373         (WebCore::RenderLayer::rendererContentChanged):
97374         We may need to udpate compositing layers if the video went into accelerated mode.
97375         
97376         * rendering/RenderLayerBacking.cpp:
97377         (WebCore::RenderLayerBacking::canUseDirectCompositing):
97378         Add smarts to deal with video, which allows us to avoid extra backing store.
97379         
97380         (WebCore::RenderLayerBacking::contentsBox):
97381         Use the videoBox to use the content layer for video layers.
97382         
97383         * rendering/RenderLayerCompositor.cpp:
97384         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
97385         Poke the RenderVideo if the state changed.
97386         
97387         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
97388         Handle an edge case when the video element itself is a stacking context
97389         because of opacity or transform.
97390         
97391         (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
97392         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
97393         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
97394         Allow video to throw us into compositing mode if the media engine supports it.
97395         
97396         * rendering/RenderLayerCompositor.h:
97397         New methods related to video.
97398         
97399         * rendering/RenderVideo.h:
97400         * rendering/RenderVideo.cpp:
97401         (WebCore::RenderVideo::updatePlayer):
97402         Call rendererContentChanged() to give the compositor a change to throw the video into
97403         compositing mode.
97404         
97405         (WebCore::RenderVideo::supportsAcceleratedRendering):
97406         (WebCore::RenderVideo::acceleratedRenderingStateChanged):
97407         (WebCore::RenderVideo::videoGraphicsLayer):
97408         Methods to allow the MediaPlayer to do rendering-related stuff via the media element.
97409
97410 2009-06-18  Rob Buis  <rwlbuis@gmail.com>
97411
97412         Reviewed by Niko.
97413
97414         https://bugs.webkit.org/show_bug.cgi?id=26385
97415         Root SVG element is not checked on requiredFeatures, requiredExtension like other elements
97416
97417         Also do the isValid check for outer <svg>.
97418
97419         Test: svg/custom/outer-svg-unknown-feature.svg
97420
97421         * svg/SVGDocument.cpp:
97422         (WebCore::SVGDocument::childShouldCreateRenderer):
97423         * svg/SVGDocument.h:
97424
97425 2009-06-18  Dan Bernstein  <mitz@apple.com>
97426
97427         Reviewed by Darin Adler.
97428
97429         - fix <rdar://problem/6913221> REGRESSION (Safari 3-4): Search field on
97430           apple.com cuts entered text
97431
97432         Test: fast/forms/search-vertical-alignment.html
97433
97434         * rendering/RenderTextControlSingleLine.cpp:
97435         (WebCore::RenderTextControlSingleLine::layout): Vertically center the
97436             the search field's inner block.
97437
97438 2009-06-18  Janne Koskinen  <janne.p.koskinen@digia.com>
97439
97440         Reviewed by Simon Hausmann.
97441
97442         Fix compilation with Symbian WINSCW compiler, which produced
97443         multiple definitions of the CSSPrimitiveValue conversion operators.
97444
97445         It turns out that they are defined inline but not declared inline.
97446
97447         Adding the inline keyword to the declaration fixes the build.
97448
97449         * css/CSSPrimitiveValue.h:
97450
97451 2009-06-18  Markus Goetz <Markus.Goetz@nokia.com>
97452
97453         Reviewed by Simon Hausman.
97454
97455         Clarify in docs how to compile with debug information.
97456
97457         * WebCore.pro:
97458
97459 2009-06-18  Jakub Wieczorek  <faw217@gmail.com>
97460
97461         Reviewed by Simon Hausmann.
97462
97463         [Qt] When writing an URL to the clipboard, save the corresponding title
97464         in the mime data as well.
97465
97466         * platform/qt/ClipboardQt.cpp:
97467         (WebCore::ClipboardQt::writeURL):
97468
97469 2009-06-18  Jakub Wieczorek  <faw217@gmail.com>
97470
97471         [Qt] Fix build. Add HTMLDataGridElement.
97472
97473         * WebCore.pro:
97474
97475 2009-06-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
97476
97477         Gtk build fix.
97478
97479         Add HTMLDataGridElement header and IDL to the build script.
97480
97481         * GNUmakefile.am:
97482
97483 2009-06-18  Chris Evans  <scarybeasts@gmail.com>
97484
97485         Reviewed by Adam Barth.
97486
97487         Fix 8-digit long hex entities. Fixes bug 26454
97488         https://bugs.webkit.org/show_bug.cgi?id=26454
97489
97490         Test: fast/parser/eightdigithexentity.html
97491
97492         * html/HTMLTokenizer.cpp: fix off-by-ones.
97493
97494 2009-06-18  David Levin  <levin@chromium.org>
97495
97496         Fix chromium linux build.
97497
97498         Fixes a mistake that happened during the complicated merge for
97499         landing r44775, r44776, r44777.
97500
97501         * rendering/RenderThemeChromiumLinux.cpp:
97502         (WebCore::RenderThemeChromiumLinux::create):
97503
97504 2009-06-17  Simon Fraser  <simon.fraser@apple.com>
97505
97506         Reviewed by Darin Adler.
97507         
97508         https://bugs.webkit.org/show_bug.cgi?id=26499
97509         
97510         First step to making video rendering be hardware-accelerated:
97511         make <video> elements get self-painting RenderLayers, and add
97512         an isVideo() virtual method to RenderObject.
97513
97514         * html/HTMLMediaElement.cpp:
97515         (WebCore::HTMLMediaElement::setReadyState):
97516         (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
97517         (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
97518         * rendering/RenderLayer.cpp:
97519         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
97520         (WebCore::RenderLayer::isSelfPaintingLayer):
97521         * rendering/RenderObject.h:
97522         (WebCore::RenderObject::isVideo):
97523         * rendering/RenderVideo.h:
97524         (WebCore::RenderVideo::requiresLayer):
97525         (WebCore::RenderVideo::isVideo):
97526
97527 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
97528
97529         Reviewed by Adam Roben.
97530
97531         Refactor a few common routines in the various Windows ports
97532         and reduce some duplicated code.
97533
97534         (1) Create TransformationMatrix XFORM casting operator, and
97535             switch various XFORM structure uses to utilize it.
97536         (2) Push concatCTM call to GraphicsContextWin now that the
97537             TransformationMatrix can directly create XFORM (rather
97538             than converting to CGAffineTransform/cairo_matrix_t first.)
97539
97540         * WebCore.vcproj/WebCore.vcproj: Add new BitmapInfo structure.
97541         * platform/graphics/transforms/TransformationMatrix.h:
97542         * platform/graphics/win/GraphicsContextCGWin.cpp:
97543         * platform/graphics/win/GraphicsContextCairoWin.cpp:
97544         * platform/graphics/win/GraphicsContextWin.cpp:
97545         (WebCore::GraphicsContextPlatformPrivate::scale):
97546         (WebCore::GraphicsContextPlatformPrivate::rotate):
97547         (WebCore::GraphicsContextPlatformPrivate::translate):
97548         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
97549         * platform/graphics/win/TransformationMatrixWin.cpp: Added.
97550         (WebCore::TransformationMatrix::operator XFORM): New operator
97551
97552 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
97553
97554         Non-CG Windows build fix after @r44758.
97555
97556         * rendering/RenderThemeWin.cpp:
97557         (WebCore::RenderTheme::themeForPage):
97558
97559 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
97560
97561         Reviewed by Adam Roben.
97562
97563         Refactor a few common routines in the various Windows ports
97564         and reduce some duplicated code.
97565         https://bugs.webkit.org/show_bug.cgi?id=26425.
97566
97567         Refactor use of BITMAPINFO for the new BitmapInfo structure.
97568
97569         * WebCore.vcproj/WebCore.vcproj:
97570         * platform/win/BitmapInfo.cpp: Added.
97571         (WebCore::bitmapInfoForSize):
97572         (WebCore::BitmapInfo::create):
97573         (WebCore::BitmapInfo::createBottomUp):
97574         * platform/win/BitmapInfo.h: Added.
97575         * platform/graphics/win/GraphicsContextCairoWin.cpp:
97576         * platform/graphics/win/GraphicsContextCGWin.cpp:
97577         * platform/graphics/win/TransformationMatrixWin.cpp: Added.
97578         (WebCore::TransformationMatrix::operator XFORM): New operator
97579         * platform/win/DragImageCGWin.cpp:
97580         (WebCore::allocImage):
97581         * platform/win/DragImageCairoWin.cpp:
97582         (WebCore::allocImage):
97583         * platform/win/PasteboardWin.cpp:
97584         (WebCore::Pasteboard::writeImage):
97585         * platform/win/PopupMenuWin.cpp:
97586         (WebCore::PopupMenu::paint):
97587
97588 2009-06-17  Adam Roben  <aroben@apple.com>
97589
97590         Remove unnecessary 6th parameter from SOFT_LINK_OPTIONAL
97591
97592         Reviewed by Mark Rowe.
97593
97594         * platform/graphics/win/ColorSafari.cpp: Removed the 6th parameter and
97595         an unnecessary parameter name.
97596         * platform/win/SoftLinking.h: Removed the unused 6th parameter.
97597
97598 2009-06-17  Adam Roben  <aroben@apple.com>
97599
97600         Make Settings::shouldPaintNativeControls default to true
97601
97602         This matches the default up in WebKit (that was changed in r43318).
97603
97604         Fixes Bug 26493: REGRESSION (r44758): First tab always uses Mac-style
97605         form controls
97606         <https://bugs.webkit.org/show_bug.cgi?id=26493>
97607
97608         Reviewed by Darin Adler and Dave Hyatt.
97609
97610         No test possible since DRT always uses Mac-style form controls.
97611
97612         * page/Settings.cpp: Changed the initial value of
97613         gShouldPaintNativeControls to true.
97614
97615         * rendering/RenderThemeSafari.cpp:
97616         (WebCore::RenderTheme::themeForPage): Added a FIXME about the design
97617         flaw here involving querying Settings before it's been initialized.
97618
97619 2009-06-17  David Levin  <levin@chromium.org>
97620
97621         Fix chromium windows build.
97622
97623         A mistake that happened during the complicated merge for
97624         landing r44775, r44776, r44777.
97625
97626         * rendering/RenderThemeChromiumWin.h:
97627         (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
97628         (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
97629
97630 2009-06-17  Eric Carlson  <eric.carlson@apple.com>
97631
97632         Reviewed by Simon Fraser.
97633
97634         <rdar://problem/6981193> Crash in MediaControlInputElement::attachToParent
97635
97636         * rendering/MediaControlElements.cpp:
97637         (WebCore::MediaTextDisplayElement::attachToParent): NULL check element renderer or parent renderer.
97638         (WebCore::MediaControlInputElement::attachToParent): Ditto.
97639
97640 2009-06-17  David Hyatt  <hyatt@apple.com>
97641
97642         Fix Windows build.  There's no HTMLDataGridElement.cpp file yet.
97643
97644         * html/HTMLElementsAllInOne.cpp:
97645
97646 2009-06-17  David Hyatt  <hyatt@apple.com>
97647
97648         Reviewed by Adam Roben and Anders Carlsson.
97649
97650         Stub out the HTMLDataGridElement.
97651
97652         * DerivedSources.make:
97653         * WebCore.vcproj/WebCore.vcproj:
97654         * WebCore.xcodeproj/project.pbxproj:
97655         * WebCoreSources.bkl:
97656         * css/CSSStyleSelector.cpp:
97657         (WebCore::CSSStyleSelector::adjustRenderStyle):
97658         * editing/htmlediting.cpp:
97659         (WebCore::canHaveChildrenForEditing):
97660         * html/HTMLDataGridElement.h: Added.
97661         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
97662         (WebCore::HTMLDataGridElement::tagPriority):
97663         * html/HTMLDataGridElement.idl: Added.
97664         * html/HTMLElement.cpp:
97665         (WebCore::inlineTagList):
97666         * html/HTMLParser.cpp:
97667         (WebCore::HTMLParser::isAffectedByResidualStyle):
97668         * html/HTMLTagNames.in:
97669
97670 2009-06-17  David Levin  <levin@chromium.org>
97671
97672         Reviewed by NOBODY (chromium build fix).
97673
97674         Fix typo in previous changes.
97675
97676         * rendering/RenderThemeChromiumSkia.cpp:
97677         (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
97678
97679 2009-06-17  Albert J. Wong  <ajwong@chromium.org>
97680
97681         Reviewed by Eric Seidel.
97682
97683         https://bugs.webkit.org/show_bug.cgi?id=26148
97684         Remove common code from RenderThemeChromiumWin that is shared with
97685         RenderThemeChromiumSkia.
97686
97687         Also move supportsControlTints to RenderThemeChromiumLinux since it
97688         is linux specific.
97689
97690         There are no tests changed because this just removes functions with
97691         duplicate implementations between the base and derived classes.
97692
97693         * rendering/RenderThemeChromiumLinux.cpp:
97694         (WebCore::RenderThemeChromiumLinux::supportsControlTints):
97695         * rendering/RenderThemeChromiumLinux.h:
97696         * rendering/RenderThemeChromiumSkia.cpp:
97697         * rendering/RenderThemeChromiumSkia.h:
97698         * rendering/RenderThemeChromiumWin.cpp:
97699         (WebCore::):
97700         (WebCore::getNonClientMetrics):
97701         (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
97702         (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
97703         (WebCore::RenderThemeChromiumWin::systemFont):
97704         (WebCore::RenderThemeChromiumWin::paintCheckbox):
97705         (WebCore::RenderThemeChromiumWin::paintRadio):
97706         (WebCore::RenderThemeChromiumWin::paintSliderThumb):
97707         (WebCore::RenderThemeChromiumWin::caretBlinkIntervalInternal):
97708         * rendering/RenderThemeChromiumWin.h:
97709
97710 2009-06-17  Albert J. Wong  <ajwong@chromium.org>
97711
97712         Reviewed by Eric Seidel.
97713
97714         https://bugs.webkit.org/show_bug.cgi?id=26148
97715         Move RenderThemeChromiumSkia into its own file.  This is purely a code move.
97716
97717         * rendering/RenderThemeChromiumLinux.cpp:
97718         * rendering/RenderThemeChromiumLinux.h:
97719         * rendering/RenderThemeChromiumSkia.cpp:
97720         (WebCore::):
97721         (WebCore::setSizeIfAuto):
97722         (WebCore::mediaElementParent):
97723         (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
97724         (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia):
97725         (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia):
97726         (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet):
97727         (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet):
97728         (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet):
97729         (WebCore::RenderThemeChromiumSkia::supportsHover):
97730         (WebCore::RenderThemeChromiumSkia::supportsFocusRing):
97731         (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor):
97732         (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor):
97733         (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor):
97734         (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor):
97735         (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor):
97736         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
97737         (WebCore::RenderThemeChromiumSkia::systemFont):
97738         (WebCore::RenderThemeChromiumSkia::minimumMenuListSize):
97739         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
97740         (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
97741         (WebCore::RenderThemeChromiumSkia::paintRadio):
97742         (WebCore::RenderThemeChromiumSkia::setRadioSize):
97743         (WebCore::brightenColor):
97744         (WebCore::paintButtonLike):
97745         (WebCore::RenderThemeChromiumSkia::paintButton):
97746         (WebCore::RenderThemeChromiumSkia::paintTextField):
97747         (WebCore::RenderThemeChromiumSkia::paintTextArea):
97748         (WebCore::RenderThemeChromiumSkia::paintSearchField):
97749         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
97750         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
97751         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
97752         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
97753         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
97754         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
97755         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
97756         (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal):
97757         (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
97758         (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
97759         (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
97760         (WebCore::RenderThemeChromiumSkia::paintMenuList):
97761         (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
97762         (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
97763         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft):
97764         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight):
97765         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop):
97766         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom):
97767         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft):
97768         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight):
97769         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop):
97770         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom):
97771         (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal):
97772         (WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
97773         * rendering/RenderThemeChromiumSkia.h:
97774         (WebCore::RenderThemeChromiumSkia::supportsControlTints):
97775
97776 2009-06-17  Albert J. Wong  <ajwong@chromium.org>
97777
97778         Reviewed by Eric Seidel.
97779
97780         https://bugs.webkit.org/show_bug.cgi?id=26148
97781         Extract RenderThemeChromiumSkia out of RenderThemeChromiumLinux.  This
97782         is mostly a code shuffle.  The non-suffle changes are:
97783            1) Creation of a caretBlinkIntervalInternal.
97784            2) Moving of some inline functions into the implementation files.
97785            3) Changing of defaultGUIFont into a static class constant from a
97786               static function.  Also the type is changed to String.
97787            4) Changing of defaultFontSize into a static class constant from a
97788               static variable in the file scope.
97789            5) The static supportsFocus function was collapsed into
97790               supportsFocusRing.
97791            6) Split the extraDefaultStyleSheet into Skia and Linux versions.
97792
97793         * rendering/RenderThemeChromiumLinux.cpp:
97794         (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
97795         (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia):
97796         (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia):
97797         (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet):
97798         (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet):
97799         (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet):
97800         (WebCore::RenderThemeChromiumSkia::supportsHover):
97801         (WebCore::RenderThemeChromiumSkia::supportsFocusRing):
97802         (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor):
97803         (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor):
97804         (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor):
97805         (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor):
97806         (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor):
97807         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
97808         (WebCore::RenderThemeChromiumSkia::systemFont):
97809         (WebCore::RenderThemeChromiumSkia::minimumMenuListSize):
97810         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
97811         (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
97812         (WebCore::RenderThemeChromiumSkia::paintRadio):
97813         (WebCore::RenderThemeChromiumSkia::setRadioSize):
97814         (WebCore::RenderThemeChromiumSkia::paintButton):
97815         (WebCore::RenderThemeChromiumSkia::paintTextField):
97816         (WebCore::RenderThemeChromiumSkia::paintTextArea):
97817         (WebCore::RenderThemeChromiumSkia::paintSearchField):
97818         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
97819         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
97820         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
97821         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
97822         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
97823         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
97824         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
97825         (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal):
97826         (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
97827         (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
97828         (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
97829         (WebCore::RenderThemeChromiumSkia::paintMenuList):
97830         (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
97831         (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
97832         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft):
97833         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight):
97834         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop):
97835         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom):
97836         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft):
97837         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight):
97838         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop):
97839         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom):
97840         (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal):
97841         (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
97842         (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux):
97843         (WebCore::RenderThemeChromiumLinux::systemColor):
97844         (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet):
97845         (WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
97846         * rendering/RenderThemeChromiumLinux.h:
97847
97848 2009-06-17  Adam Roben  <aroben@apple.com>
97849
97850         Add a SOFT_LINK_OPTIONAL macro
97851
97852         This macro is useful when soft-linking functions that are present in
97853         only some versions of a particular library (e.g., APIs added in
97854         Windows Vista that aren't available on Windows XP).
97855
97856         Reviewed by Ada Chan.
97857
97858         * platform/graphics/win/ColorSafari.cpp:
97859         (WebCore::focusRingColor):
97860         Use the SoftLinking.h macros instead of doing the soft-link ourselves.
97861         Also removed an unused call to focusRingColor.isValid().
97862
97863         * platform/win/SoftLinking.h: Added SOFT_LINK_OPTIONAL.
97864
97865 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
97866
97867         Reviewed by Gustavo Noronha.
97868
97869         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26470.
97870         The use of zero-width or zero-height rectangles in generating
97871         gradients caused Windows Cairo to crash, and webkitgtk to
97872         produce invalid images.
97873
97874         We now test for NaN in the phase argument, which is calculated
97875         using fmodf and can blow up when the width/height values passed
97876         are zero.
97877
97878         Test: fast/gradients/border-image-gradient-sides-and-corners.html
97879
97880         * platform/graphics/cairo/ImageCairo.cpp:
97881         (WebCore::Image::drawPattern):
97882
97883 2009-06-17  Ojan Vafai  <ojan@chromium.org>
97884
97885         Reviewed by Dimitri Glazkov.
97886
97887         If loading a font fails because of the sandbox, we ask the browser process to
97888         try to load it by calling ensureFontLoaded. If it still fails after
97889         ensureFontLoaded, we hit a ASSERT_NOT_REACHED.
97890
97891         This case happens once in a while during browser shutdown. The browser will
97892         queue a message to the renderer to shutdown, and will then stop answering sync
97893         messages from the renderer. If the renderer is still loading a page during this
97894         time, it might try to call the browser process to ask to load a font. The
97895         browser process will ignore the request, and the font will fail to load, even
97896         after the second try.
97897
97898         This is unfortunate, but there is no real risk here, since the renderer will be
97899         going away as soon as it processes another message.
97900         
97901         This can't be layout tested as it depends on the sandbox.
97902         
97903         https://bugs.webkit.org/show_bug.cgi?id=26484
97904
97905         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
97906         (WebCore::fontContainsCharacter):
97907
97908 2009-06-17  Eric Carlson  <eric.carlson@apple.com>
97909
97910         Reviewed by Dan Bernstein.
97911
97912         https://bugs.webkit.org/show_bug.cgi?id=26482
97913         <rdar://problem/6978590> When setting playback rate to 0, the audio element stops 
97914         playing (doesn't resume later)
97915
97916         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
97917         (WebCore::MediaPlayerPrivate::setRate): Always set the rate, even when "paused".
97918
97919         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
97920         (WebCore::MediaPlayerPrivate::setRate): Ditto.
97921
97922 2009-06-17  Adam Roben  <aroben@apple.com>
97923
97924         Add all the generated JS*.cpp files back to WebCore.vcproj
97925
97926         They are not compiled by the vcproj directly. Instead they are
97927         compiled as part of DerivedSources.cpp. Having them listed in the
97928         vcproj makes them be included in Project Find, etc.
97929
97930         Rubber-stamped in advance by Steve Falkenburg.
97931
97932         * WebCore.vcproj/WebCore.vcproj:
97933
97934 2009-06-17  Kent Tamura  <tkent@chromium.org>
97935
97936         Reviewed by Darin Fisher.
97937
97938         Don't fire redundant 'change' events for a file upload form.
97939         https://bugs.webkit.org/show_bug.cgi?id=26471
97940
97941         * platform/FileChooser.cpp:
97942         (WebCore::FileChooser::chooseFiles): Suppress change event if the
97943         existing selected files and the incoming selected files are equal.
97944         (WebCore::FileChooser::chooseIcon): Returns 0 if there is no selected
97945         files.
97946
97947 2009-06-17  Adam Treat  <adam.treat@torchmobile.com>
97948
97949         Reviewed by George Staikos.
97950
97951         https://bugs.webkit.org/show_bug.cgi?id=23155
97952         Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.
97953
97954         * platform/KeyboardCodes.h:
97955
97956 2009-06-17  George Staikos  <george.staikos@torchmobile.com>
97957
97958         Reviewed by Adam Treat.
97959
97960         https://bugs.webkit.org/show_bug.cgi?id=23155
97961         Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.
97962
97963         * platform/graphics/qt/GraphicsContextQt.cpp:
97964         (WebCore::GraphicsContext::getWindowsContext):
97965         * platform/win/SystemTimeWin.cpp:
97966         (WebCore::userIdleTime):
97967
97968 2009-06-17  Adam Roben  <aroben@apple.com>
97969
97970         Speculative Mac build fix
97971
97972         * page/Page.h: Forward-declare RenderTheme instead of including
97973         RenderTheme.h so that we don't need to make RenderTheme.h a private
97974         header for WebKit's benefit.
97975
97976         * editing/SelectionController.cpp:
97977         * rendering/InlineTextBox.cpp:
97978         * rendering/RenderObject.cpp:
97979         Added #includes of RenderTheme.h.
97980
97981 2009-06-17  Adam Roben  <aroben@apple.com>
97982
97983         Speculative Mac build fix
97984
97985         * rendering/RenderThemeMac.mm:
97986         (WebCore::RenderTheme::create): Added.
97987
97988 2009-06-17  Adam Roben  <aroben@apple.com>
97989
97990         Speculative Mac build fix
97991
97992         * rendering/RenderThemeMac.mm:
97993         (WebCore::RenderTheme::themeForPage): Remove the name of an unused
97994         parameter.
97995
97996 2009-06-17  Adam Roben  <aroben@apple.com>
97997
97998         Speculative Mac build fix
97999
98000         * page/Page.cpp:
98001         (WebCore::Page::Page): Change the initializer order to match the
98002         declaration order.
98003
98004 2009-06-16  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
98005
98006         Reviewed by Simon Hausmann.
98007
98008         Follow up to bug https://bugs.webkit.org/show_bug.cgi?id=26278
98009         Patch that make WebCore have a RenderTheme per page
98010
98011         Make the Qt implementation of RenderTheme create a theme per page,
98012         and use the QStyle associated with the view of each page, in order
98013         to make the QWidget setStyle() method work as advertised.
98014
98015         * platform/qt/RenderThemeQt.cpp:
98016         (WebCore::RenderThemeQt::RenderThemeQt):
98017         (WebCore::RenderThemeQt::qStyle):
98018         (WebCore::findFrameLineWidth):
98019         (WebCore::inflateButtonRect):
98020         (WebCore::RenderThemeQt::adjustRepaintRect):
98021         (WebCore::RenderThemeQt::isControlStyled):
98022         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
98023         (WebCore::RenderThemeQt::setButtonPadding):
98024         (WebCore::RenderThemeQt::paintButton):
98025         (WebCore::RenderThemeQt::paintTextField):
98026         (WebCore::RenderThemeQt::setPopupPadding):
98027         * platform/qt/RenderThemeQt.h:
98028
98029 2009-06-16  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
98030
98031         Reviewed by Dave Hyatt and Adam Roben.
98032
98033         https://bugs.webkit.org/show_bug.cgi?id=26278
98034         Patch that make WebCore have a RenderTheme per page
98035
98036
98037         Create a different RenderTheme per page, so that RenderTheme has
98038         access to page specific theming. This is needed for the Qt port, as Qt
98039         supports setting the theme (style) per widget.
98040
98041         This change was suggested and discussed with Dave Hyatt.
98042
98043         More detailed:
98044
98045         1) Create a theme per page or one global one, depending on the needs
98046            of the platform.
98047         2) Add an accesser to the theme from RenderObject.
98048         3) Change all uses of the theming to access the theme through
98049            RenderObject, using the global default theme as fallback, when the
98050            document of RenderObject has no page.
98051            When we don't have access to a RenderObject, use the default theme.
98052         4) Modify all RenderTheme platform implementations to work with the
98053            above changes, still creating only one global theme.
98054
98055
98056         * accessibility/AccessibilityRenderObject.cpp:
98057         (WebCore::AccessibilityRenderObject::boundingBoxRect):
98058         * css/CSSStyleSelector.cpp:
98059         (WebCore::loadFullDefaultStyle):
98060         (WebCore::CSSStyleSelector::styleForElement):
98061         (WebCore::CSSStyleSelector::adjustRenderStyle):
98062         (WebCore::CSSStyleSelector::applyProperty):
98063         * dom/ContainerNode.cpp:
98064         (WebCore::ContainerNode::setActive):
98065         (WebCore::ContainerNode::setHovered):
98066         * editing/SelectionController.cpp:
98067         (WebCore::SelectionController::focusedOrActiveStateChanged):
98068         * html/HTMLFormControlElement.cpp:
98069         (WebCore::HTMLFormControlElement::parseMappedAttribute):
98070         * html/HTMLInputElement.cpp:
98071         (WebCore::HTMLInputElement::setChecked):
98072         (WebCore::HTMLInputElement::setIndeterminate):
98073         * page/Frame.cpp:
98074         (WebCore::Frame::selectionLayoutChanged):
98075         * page/FrameView.cpp:
98076         (WebCore::FrameView::updateControlTints):
98077         * page/Page.cpp:
98078         (WebCore::Page::Page):
98079         * page/Page.h:
98080         (WebCore::Page::theme):
98081         * platform/chromium/PopupMenuChromium.cpp:
98082         (WebCore::PopupListBox::paintRow):
98083         * platform/gtk/RenderThemeGtk.cpp:
98084         (WebCore::RenderThemeGtk::create):
98085         (WebCore::RenderTheme::themeForPage):
98086         (WebCore::RenderThemeGtk::RenderThemeGtk):
98087         (WebCore::RenderThemeGtk::~RenderThemeGtk):
98088         (WebCore::RenderThemeGtk::gtkEntry):
98089         (WebCore::RenderThemeGtk::gtkTreeView):
98090         * platform/gtk/RenderThemeGtk.h:
98091         * platform/qt/RenderThemeQt.cpp:
98092         (WebCore::RenderThemeQt::create):
98093         (WebCore::RenderTheme::themeForPage):
98094         * platform/qt/RenderThemeQt.h:
98095         * platform/win/PopupMenuWin.cpp:
98096         (WebCore::PopupMenu::paint):
98097         * rendering/RenderMediaControls.cpp:
98098         (WebCore::determineState):
98099         * platform/wx/RenderThemeWx.cpp:
98100         (WebCore::RenderThemeWx::create):
98101         (WebCore::RenderTheme::themeForPage):
98102         * rendering/InlineTextBox.cpp:
98103         (WebCore::InlineTextBox::paintTextMatchMarker):
98104         * rendering/MediaControlElements.cpp:
98105         (WebCore::MediaControlInputElement::hitTest):
98106         * rendering/RenderObject.cpp:
98107         (WebCore::RenderObject::theme):
98108         * rendering/RenderObject.h:
98109         * rendering/RenderTheme.cpp:
98110         (WebCore::RenderTheme::adjustStyle):
98111         * rendering/RenderTheme.h:
98112         (WebCore::RenderTheme::defaultTheme):
98113         * rendering/RenderThemeChromiumLinux.cpp:
98114         (WebCore::RenderThemeChromiumLinux::create):
98115         (WebCore::RenderTheme::themeForPage):
98116         * rendering/RenderThemeChromiumLinux.h:
98117         (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux):
98118         * rendering/RenderThemeChromiumMac.h:
98119         * rendering/RenderThemeChromiumMac.mm:
98120         (WebCore::RenderThemeChromiumMac::create):
98121         (WebCore::RenderTheme::themeForPage):
98122         * rendering/RenderThemeChromiumWin.cpp:
98123         (WebCore::RenderThemeChromiumWin::create):
98124         (WebCore::RenderTheme::themeForPage):
98125         * rendering/RenderThemeChromiumWin.h:
98126         (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
98127         (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
98128         * rendering/RenderThemeMac.h:
98129         * rendering/RenderThemeMac.mm:
98130         (WebCore::RenderTheme::themeForPage):
98131         * rendering/RenderThemeSafari.cpp:
98132         (WebCore::RenderThemeSafari::create):
98133         (WebCore::RenderTheme::themeForPage):
98134         * rendering/RenderThemeSafari.h:
98135         * rendering/RenderThemeWin.cpp:
98136         (WebCore::RenderThemeWin::create):
98137         (WebCore::RenderTheme::themeForPage):
98138         * rendering/RenderThemeWin.h:
98139
98140 2009-06-17  Gavin Barraclough  <barraclough@apple.com>
98141
98142         Reviewed by Oliver Hunt.
98143
98144         <rdar://problem/6974175> ASSERT in JITStubs.cpp at appsaccess.apple.com
98145
98146         JSDOMWindowCustom was using PropertySlot::putValue, however this interface
98147         appears to be fundaementally incorrect - PropertySlots are only used to get
98148         values, all puts use PutPropertySlot.  However PutPropertySlot cannot be
98149         used in the fashion desired here - it only reports the caching type of a
98150         write that has been performed.
98151
98152         (This caused a bug where the put should have triggered a transition, and
98153         failed to do so.)
98154
98155         Removing the faulty case from the optimization leads to a ~0.5% progression
98156         on in-browser SunSpider (presumably the very first case was not being hit
98157         often, and the simplification here is beneficial).
98158
98159         * bindings/js/JSDOMWindowCustom.cpp:
98160         (WebCore::JSDOMWindow::put):
98161
98162 2009-06-17  David Levin  <levin@chromium.org>
98163
98164         Reviewed by NOBODY, layout tests fix.
98165
98166         https://bugs.webkit.org/show_bug.cgi?id=26326
98167         This reverts commit r44751.
98168
98169         Once that change was checked scrollbars/scrollbar-orientation.html started
98170         crashing on Windows.
98171
98172         * dom/Document.cpp:
98173         (WebCore::Document::detach):
98174         * page/FrameView.cpp:
98175         * page/FrameView.h:
98176         * platform/Scrollbar.h:
98177         * rendering/RenderObject.cpp:
98178         (WebCore::RenderObject::destroy):
98179         * rendering/RenderScrollbar.h:
98180
98181 2009-06-16  Kevin Watters  <kevinwatters@gmail.com>
98182
98183         Reviewed by Kevin Ollivier.
98184
98185         In ImageSource::setData, delete the old m_encoder before replacing it with a new one.
98186         
98187         https://bugs.webkit.org/show_bug.cgi?id=26458
98188
98189         * platform/graphics/wx/ImageSourceWx.cpp:
98190         (WebCore::ImageSource::setData):
98191
98192 2009-06-16  David Levin  <levin@chromium.org>
98193
98194         Reviewed by David Hyatt.
98195
98196         REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction.
98197         https://bugs.webkit.org/show_bug.cgi?id=26326
98198
98199         Test: scrollbars/scrollbar-crash-on-refresh.html
98200
98201         * dom/Document.cpp:
98202         (WebCore::Document::detach):
98203         Gives the FrameView a change to do any necessary cleanup on
98204         Document::detach() which is where the renderArena gets detroyed.
98205         * page/FrameView.cpp:
98206         (WebCore::FrameView::detachCustomScrollbars):
98207         Gets rid of any custom scrollbars (if the docment supplied them).
98208         * page/FrameView.h:
98209         * platform/Scrollbar.h:
98210         (WebCore::Scrollbar::isCustomScrollbar):
98211         * rendering/RenderObject.cpp:
98212         (WebCore::RenderObject::destroy):
98213         Removed the check for document()->frame().  If frame() is 0 in this code,
98214         then the call to animation() is also incorrect (since it does document()->frame()->animation()).
98215         * rendering/RenderScrollbar.h:
98216         (WebCore::RenderScrollbar::isCustomScrollbar):
98217
98218 2009-06-16  Brian Weinstein  <bweinstein@apple.com>
98219
98220         Reviewed by Adele Peterson.
98221
98222         Fix of <rdar://6967547> Ctrl-C copies null value erasing text in clipboard in Safari.
98223         This patch kept the way events were firing as they were before, and Windows events are
98224         consistent with Mac.       
98225
98226         * editing/Editor.cpp:
98227         (WebCore::Editor::tryDHTMLCopy): Added check for canCopy() before clearing PasteBoard
98228         (WebCore::Editor::tryDHTMLCut): Added check for canCut() before clearing PasteBoard
98229
98230 2009-06-16  Antti Koivisto  <antti@apple.com>
98231
98232         Reviewed by Brady Eidson.
98233
98234         <rdar://problem/6660037> CrashTracer: [USER] 46 crashes in Safari at com.apple.WebCore â€¢ WebCore::CachedCSSStyleSheet::addClient 53
98235         
98236         When revalidating a resource, calling addClient() on one client might cause another to get removed.
98237         
98238         - made CachedResource::addClient() non-virtual and added virtual didAddClient()
98239         - in CachedResource::switchClientsToRevalidatedResource() add all clients to the client set of the revalidated resource first
98240         - check if the client is still in the set before invoking didAddClient() for it
98241         
98242         No test case, I didn't manage to construct one. You need some combination of 304 revalidation, stylesheets that
98243         reference each other via @imports and reloading.
98244
98245         * WebCore.base.exp:
98246         * loader/CachedCSSStyleSheet.cpp:
98247         (WebCore::CachedCSSStyleSheet::didAddClient):
98248         * loader/CachedCSSStyleSheet.h:
98249         * loader/CachedFont.cpp:
98250         (WebCore::CachedFont::didAddClient):
98251         * loader/CachedFont.h:
98252         * loader/CachedImage.cpp:
98253         (WebCore::CachedImage::didAddClient):
98254         * loader/CachedImage.h:
98255         * loader/CachedResource.cpp:
98256         (WebCore::CachedResource::addClient):
98257         (WebCore::CachedResource::addClientToSet):
98258         (WebCore::CachedResource::switchClientsToRevalidatedResource):
98259         * loader/CachedResource.h:
98260         * loader/CachedScript.cpp:
98261         (WebCore::CachedScript::didAddClient):
98262         * loader/CachedScript.h:
98263         * loader/CachedXSLStyleSheet.cpp:
98264         (WebCore::CachedXSLStyleSheet::didAddClient):
98265         * loader/CachedXSLStyleSheet.h:
98266
98267 2009-06-16  Simon Fraser  <simon.fraser@apple.com>
98268
98269         No Review
98270
98271         Fix code inside an #ifdef that draws the video framerate.
98272
98273         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
98274         (WebCore::MediaPlayerPrivate::paint):
98275
98276 2009-06-16  Jian Li  <jianli@chromium.org>
98277
98278         Reviewed by Dimitri Glazkov.
98279
98280         Bug 26456: Hook up V8 bindings for Worker's importScripts functionality.
98281         https://bugs.webkit.org/show_bug.cgi?id=26456
98282
98283         * bindings/v8/custom/V8WorkerContextCustom.cpp:
98284         (WebCore::CALLBACK_FUNC_DECL):
98285         * bindings/v8/custom/V8WorkerCustom.cpp: Fixed missing exception code
98286           handling in Worker constructor for V8 bindings.
98287         (WebCore::CALLBACK_FUNC_DECL):
98288
98289 2009-06-16  Brent Fulgham  <bfulgham@webkit.org>
98290
98291         Reviewed by Maciej Stachowiak.
98292
98293         Update of https://bugs.webkit.org/show_bug.cgi?id=26353.
98294         Provide an assignment operator to avoid improper reference
98295         counts on the Cairo font objects.  This brings the Windows
98296         Cairo port in line with the GTKport.
98297
98298         * platform/graphics/win/FontPlatformData.h:
98299         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
98300         (WebCore::FontPlatformData::FontPlatformData):
98301         (WebCore::FontPlatformData::operator=):
98302
98303 2009-06-16  Eric Carlson  <eric.carlson@apple.com>
98304
98305         Reviewed by Simon Fraser.
98306
98307         Fix for <rdar://problem/6890126> Theme code should fetch the MediaControlElementType from 
98308         the MediaControlInputElement, rather than computing it again
98309
98310         * html/HTMLMediaElement.cpp:
98311         (WebCore::HTMLMediaElement::percentLoaded): New, utility function for controller implementation.
98312         * html/HTMLMediaElement.h:
98313
98314         * rendering/MediaControlElements.h:
98315         (WebCore::MediaControlInputElement::displayType): New, return m_displayType.
98316
98317         * rendering/RenderMediaControls.cpp:
98318         (WebCore::RenderMediaControls::paintMediaControlsPart): Stop using MediaPlayer object, get button
98319         state from the button itself and get movie state from HTMLMediaElement.
98320
98321         * rendering/RenderThemeMac.mm:
98322         (WebCore::RenderThemeMac::paintMediaMuteButton): Get state from button instead of MediaPlayer.
98323         (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.
98324
98325 2009-06-16  Jian Li  <jianli@chromium.org>
98326
98327         Reviewed by David Levin.
98328
98329         Bug 26450: Rename values of enum RedirectOriginCheck to make them
98330         clearer.
98331         https://bugs.webkit.org/show_bug.cgi?id=26450
98332
98333         * loader/DocumentThreadableLoader.cpp:
98334         (WebCore::DocumentThreadableLoader::create):
98335         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
98336         (WebCore::DocumentThreadableLoader::willSendRequest):
98337         * loader/DocumentThreadableLoader.h:
98338         * loader/ThreadableLoader.cpp:
98339         (WebCore::ThreadableLoader::create):
98340         (WebCore::ThreadableLoader::loadResourceSynchronously):
98341         * loader/ThreadableLoader.h:
98342         * workers/Worker.cpp:
98343         (WebCore::Worker::Worker):
98344         * workers/WorkerContext.cpp:
98345         (WebCore::WorkerContext::importScripts):
98346         * loader/WorkerThreadableLoader.cpp:
98347         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
98348         (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
98349         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
98350         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
98351         * loader/WorkerThreadableLoader.h:
98352         (WebCore::WorkerThreadableLoader::create):
98353         * workers/WorkerScriptLoader.cpp:
98354         (WebCore::WorkerScriptLoader::loadSynchronously):
98355         (WebCore::WorkerScriptLoader::loadAsynchronously):
98356         * workers/WorkerScriptLoader.h:
98357         (WebCore::WorkerContext::importScripts):
98358         * xml/XMLHttpRequest.cpp:
98359         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
98360
98361 2009-06-16  Tony Chang  <tony@chromium.org>
98362
98363         Reviewed by Darin Fisher.
98364
98365         Fix a UMR in WebCore::BitStack by initializing new memory to 0.
98366         https://bugs.webkit.org/show_bug.cgi?id=26449
98367         No new tests, covered by purify.
98368
98369         * editing/TextIterator.cpp:
98370         (WebCore::BitStack::push):
98371
98372 2009-06-16  Brent Fulgham  <bfulgham@webkit.org>
98373
98374         Reviewed by Xan Lopez.
98375
98376         Test: fast/multicol/columns-shorthand-parsing.html 
98377
98378         Fixes https://bugs.webkit.org/show_bug.cgi?id=26453.
98379         Null Cairo contextwill crash Windows Cairo build.
98380
98381         * platform/graphics/win/GraphicsContextCairoWin.cpp:
98382         (WebCore::GraphicsContextPlatformPrivate::syncContext):
98383           Add a check for null context before attempting to
98384           retrieve the Cairo surface.
98385
98386 2009-06-16  Peter Kasting  <pkasting@google.com>
98387
98388         Reviewed by Xan Lopez.
98389
98390         https://bugs.webkit.org/show_bug.cgi?id=26447
98391         Fix animated GIF breakage in Cairo/wx ports.
98392
98393         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
98394         (WebCore::RGBA32Buffer::copyBitmapData):
98395         (WebCore::RGBA32Buffer::operator=):
98396         * platform/image-decoders/wx/ImageDecoderWx.cpp:
98397         (WebCore::RGBA32Buffer::copyBitmapData):
98398         (WebCore::RGBA32Buffer::operator=):
98399
98400 2009-06-16  Pierre d'Herbemont  <pdherbemont@apple.com>
98401
98402         Reviewed by John Sullivan
98403         
98404         <rdar://problem/6937882>
98405         
98406         Tweak "time remaining" and "time elapsed" fields in the overlay video controller.
98407
98408         * css/mediaControlsQT.css:
98409
98410 2009-06-16  Jian Li  <jianli@chromium.org>
98411
98412         Reviewed by Adam Barth and David Levin.
98413
98414         Bug 26146: Change to use ThreadableLoader to load the worker script
98415         in order to check URL origin for redirection.
98416         https://bugs.webkit.org/show_bug.cgi?id=26146
98417
98418         Test: http/tests/workers/worker-redirect.html
98419
98420         * GNUmakefile.am:
98421         * WebCore.pro:
98422         * WebCore.vcproj/WebCore.vcproj:
98423         * WebCore.xcodeproj/project.pbxproj:
98424         * workers/Worker.cpp:
98425         (WebCore::Worker::Worker):
98426         (WebCore::Worker::notifyFinished):
98427         * workers/Worker.h:
98428         * workers/WorkerContext.cpp:
98429         (WebCore::WorkerContext::importScripts):
98430         * workers/WorkerImportScriptsClient.cpp: Removed.
98431         * workers/WorkerImportScriptsClient.h: Removed.
98432         * workers/WorkerScriptLoader.cpp: Renamed from workers/WorkerImportScriptsClient.cpp.
98433           This to make it more generic so worker script loading could use it.
98434         (WebCore::WorkerScriptLoader::loadSynchronously):
98435         (WebCore::WorkerScriptLoader::loadAsynchronously):
98436         (WebCore::WorkerScriptLoader::didFinishLoading):
98437         (WebCore::WorkerScriptLoader::didFail):
98438         (WebCore::WorkerScriptLoader::didFailRedirectCheck):
98439         (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
98440         (WebCore::WorkerScriptLoader::notifyFinished):
98441         * workers/WorkerScriptLoader.h: Renamed from workers/WorkerImportScriptsClient.h.
98442           This to make it more generic so worker script loading could use it.
98443         * workers/WorkerScriptLoaderClient.h: Added.
98444
98445 2009-06-16  Brent Fulgham  <bfulgham@gmail.com>
98446
98447         Reviewed by Darin Adler.
98448
98449         Use consistent GUID comparison functions.
98450         https://bugs.webkit.org/show_bug.cgi?id=26427
98451
98452         * platform/win/WCDataObject.cpp:
98453         (WebCore::WCDataObject::QueryInterface):
98454
98455 2009-06-16  Xan Lopez  <xlopez@igalia.com>
98456
98457         Reviewed by Gustavo Noronha.
98458
98459         Fix compiler warning.
98460
98461         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
98462         (webkit_accessible_class_init):
98463
98464 2009-08-07  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>
98465
98466         Reviewed by Eric Seidel.
98467
98468         https://bugs.webkit.org/show_bug.cgi?id=27424
98469
98470         * WebKit/gtk/gdom/ConvertToGCharPrivate.h: Added.
98471         (copyAsGChar): added to help GObject bindings convert various types to glib's gchar* 
98472
98473 2009-06-16  Xan Lopez  <xlopez@igalia.com>
98474
98475         Reviewed by Gustavo Noronha.
98476
98477         Remove dummy AtkStreamableContent implementation.
98478
98479         It's completely empty, we'll add it back (and conditionally
98480         instead of unconditionally) when it does something.
98481
98482         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
98483         (GetAtkInterfaceTypeFromWAIType):
98484         (getInterfaceMaskFromObject):
98485
98486 == Rolled over to ChangeLog-2009-06-16 ==