Implement <attachment> element appearance on Mac
[WebKit-https.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.